Home Explore Blog CI



man-pages

46th chunk of `ld.man`
ceff742c6beb5016b4266ae08f0d91a898b4cdfd29b771cd0000000100000cb9
 the MEMORY specification that describes the memory bank window.  The definition of such region is then used by the linker to compute paging and
           addresses within the memory window.

       The following options are supported to control handling of GOT generation when linking for 68K targets.

       --got=type
           This option tells the linker which GOT generation scheme to use.  type should be one of single, negative, multigot or target.  For more information refer to the Info entry for ld.

       The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

       --insn32
       --no-insn32
           These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation.  If --insn32 is used, then  the  linker  only  uses
           32-bit instruction encodings.  By default or if --no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

       --ignore-branch-isa
       --no-ignore-branch-isa
           These  options  control  branch  relocation  checks for invalid ISA mode transitions.  If --ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in
           relocation calculation, except for some cases of "BAL" instructions which meet relaxation conditions and are converted to equivalent "JALX" instructions as the associated relocation is calculated.  By  default  or
           if --no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

       --compact-branches
       --no-compact-branches
           These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

       For  the  pdp11-aout  target, three variants of the output format can be produced as selected by the following options.  The default variant for pdp11-aout is the --omagic option, whereas for other targets --nmagic is
       the default.  The --imagic option is defined only for the pdp11-aout target, while the others are described 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

Title: LD (GNU Linker) Advanced MIPS and PDP11 Options
Summary
This section details linker options for MIPS and PDP11 targets. For MIPS, it discusses options controlling microMIPS instruction selection (--insn32/--no-insn32), ISA mode transition checks (--ignore-branch-isa/--no-ignore-branch-isa), and compact instruction generation for MIPS R6 (--compact-branches/--no-compact-branches). For PDP11 targets, it describes options for generating different a.out variants, including OMAGIC (--omagic), NMAGIC (--nmagic), and IMAGIC (--imagic).