[Nasm-bugs] [Bug 3392367] New: Mach-O Executables do not dead strip.

no-reply at bugzilla-nasm.gorcunov.org no-reply at bugzilla-nasm.gorcunov.org
Fri Oct 21 16:43:01 PDT 2016


https://bugzilla.nasm.us/show_bug.cgi?id=3392367

            Bug ID: 3392367
           Summary: Mach-O Executables do not dead strip.
           Product: NASM
           Version: 2.12.xx
          Hardware: All
                OS: Mac OS
            Status: OPEN
          Severity: normal
          Priority: Medium
         Component: Assembler
          Assignee: nobody at nasm.us
          Reporter: afish at apple.com
                CC: gorcunov at gmail.com, hpa at zytor.com, nasm-bugs at nasm.us

In macOS assembler the compiler directive .subsections_via_symbols is used on
files that support dead stripping. This tells the linker to use the symbol
naming rules to strip code that was not called. This directive is defined here:
https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/Assembler/040-Assembler_Directives/asm_directives.html#//apple_ref/doc/uid/TP30000823-TPXREF101

The .subsections_via_symbols directive sets a flag in the Mach-O header flags
field and this is what informs the linker of the dead stripping rules for that
object. 

#define MH_SUBSECTIONS_VIA_SYMBOLS 0x2000/* safe to divide up the sections into
                                            sub-sections via symbols for dead
                                            code stripping */

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.


More information about the Nasm-bugs mailing list