Home Explore Blog CI



man-pages

47th chunk of `ld.man`
cbbe37f4048b05a5484689c0b489c10779800f3a77a0016e000000010000085a
 here as they apply to the pdp11-aout target.

       -N
       --omagic
           Mark the output as "OMAGIC" (0407) in the a.out header to indicate that the text segment is not to be write‐protected and shared.  Since the text and data sections are both readable and writable, the data  section
           is allocated immediately contiguous after the text segment.  This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

       -n
       --nmagic
           Mark  the  output  as  "NMAGIC"  (0410)  in  the  a.out header to indicate that when the output file is executed, the text portion will be read‐only and shareable among all processes executing the same file.  This
           involves moving the data areas up to the first possible 8K byte page boundary following the end of the text.  This option creates a pure executable format.

       -z
       --imagic
           Mark the output as "IMAGIC" (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and
           data space feature of the memory management unit in larger models of the PDP11.  This doubles the address space available to the program.  The text segment is again pure, write‐protected, and shareable.  The  only
           difference  in  the  output  format  between this option and the others, besides the magic number, is that both the text and data sections start at location 0.  The -z option selected this format in 2.11BSD.  This
           option creates a separate executable format.

       --no-omagic
           Equivalent to --nmagic for pdp11-aout.

ENVIRONMENT
       You can change the behaviour of ld with the environment variables "GNUTARGET", "LDEMULATION" and "COLLECT_NO_DEMANGLE".

       "GNUTARGET" determines the input‐file object format if you don’t use -b (or its synonym --format).  Its value should be one of the BFD names for an input format.  If there is no "GNUTARGET" in the environment, ld uses
     

Title: LD (GNU Linker) - PDP11 a.out Formats and Environment Variables
Summary
This section describes the OMAGIC (--omagic), NMAGIC (--nmagic), and IMAGIC (--imagic) a.out formats for PDP11 targets, detailing how they affect memory protection, sharing, and address space layout. It also mentions the --no-omagic option. Additionally, it explains the use of the environment variables GNUTARGET, LDEMULATION, and COLLECT_NO_DEMANGLE for influencing linker behavior.