Home Explore Blog CI



man-pages

44th chunk of `ld.man`
3a7b93eeb7aa5adab66fe66e7ea62152070cce76fefeeb910000000100000fa3
 begin at addresses which are a multiple of this number.  Defaults to 0x1000.  [This option is specific to the i386 PE targeted port of the linker]

       --stack reserve
       --stack reserve,commit
           Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program.  The default is 2MB reserved, 4K committed.  [This option is specific to the i386 PE targeted port  of
           the linker]

       --subsystem which
       --subsystem which:major
       --subsystem which:major.minor
           Specifies  the  subsystem  under  which  your program will execute.  The legal values for which are "native", "windows", "console", "posix", and "xbox".  You may optionally set the subsystem version also.  Numeric
           values are also accepted for which.  [This option is specific to the i386 PE targeted port of the linker]

           The following options set flags in the "DllCharacteristics" field of the PE file header: [These options are specific to PE targeted ports of the linker]

       --high-entropy-va
       --disable-high-entropy-va
           Image is compatible with 64-bit address space layout randomization (ASLR).  This option is enabled by default for 64-bit PE images.

           This option also implies --dynamicbase and --enable-reloc-section.

       --dynamicbase
       --disable-dynamicbase
           The image base address may be relocated using address space layout randomization (ASLR).  This feature was introduced with MS Windows Vista for i386 PE targets.  This option  is  enabled  by  default  but  can  be
           disabled via the --disable-dynamicbase option.  This option also implies --enable-reloc-section.

       --forceinteg
       --disable-forceinteg
           Code integrity checks are enforced.  This option is disabled by default.

       --nxcompat
       --disable-nxcompat
           The image is compatible with the Data Execution Prevention.  This feature was introduced with MS Windows XP SP2 for i386 PE targets.  The option is enabled by default.

       --no-isolation
       --disable-no-isolation
           Although the image understands isolation, do not isolate the image.  This option is disabled by default.

       --no-seh
       --disable-no-seh
           The image does not use SEH. No SE handler may be called from this image.  This option is disabled by default.

       --no-bind
       --disable-no-bind
           Do not bind this image.  This option is disabled by default.

       --wdmdriver
       --disable-wdmdriver
           The driver uses the MS Windows Driver Model.  This option is disabled by default.

       --tsaware
       --disable-tsaware
           The image is Terminal Server aware.  This option is disabled by default.

       --insert-timestamp
       --no-insert-timestamp
           Insert  a real timestamp into the image.  This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools.  The problem with this default is that it will
           result in slightly different images being produced each time the same sources are linked.  The option --no-insert-timestamp can be used to insert a zero  value  for  the  timestamp,  this  ensuring  that  binaries
           produced from identical sources will compare identically.

           If  --insert-timestamp  is  active  then  the time inserted is either the time that the linking takes place or, if the "SOURCE_DATE_EPOCH" environment variable is defined, the number of seconds since Unix epoch as
           specified by that variable.

       --enable-reloc-section
       --disable-reloc-section
           Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header.  This option is enabled by default.

       The C6X uClinux target uses a binary format called DSBT to support shared libraries.  Each shared library in the system needs

Title: LD (GNU Linker) DllCharacteristics and Other PE-Specific Options
Summary
This section details linker options that set flags in the 'DllCharacteristics' field of the PE file header, including options related to high-entropy virtual address space layout randomization (ASLR), dynamic base address relocation (ASLR), code integrity checks, Data Execution Prevention (DEP) compatibility, isolation, Structured Exception Handling (SEH), binding, Windows Driver Model (WDM) usage, Terminal Server awareness, and timestamp insertion. It also covers options for enabling/disabling the base relocation table. The next section will cover options for the C6X uClinux target which uses the DSBT binary format.