Print this page
10366 ld(1) should support GNU-style linker sets
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
ld: implement -ztype and rework option parsing

@@ -465,10 +465,12 @@
 #define FLG_OF_CAPSTRS  0x100000000000  /* capability strings are required */
 #define FLG_OF_EHFRAME  0x200000000000  /* output contains .eh_frame section */
 #define FLG_OF_FATWARN  0x400000000000  /* make warnings fatal */
 #define FLG_OF_ADEFLIB  0x800000000000  /* no libraries in default path */
 
+#define FLG_OF_KMOD     0x1000000000000 /* output is a kernel module */
+
 /*
  * In the flags1 arena, establish any options that are applicable to archive
  * extraction first, and associate a mask.  These values are recorded with any
  * archive descriptor so that they may be reset should the archive require a
  * rescan to try and resolve undefined symbols.

@@ -534,10 +536,11 @@
 #define FLG_OFG_NO_DB           0x00000002      /* use direct bindings */
 #define FLG_OFG_NO_LAZY         0x00000004      /* be explicit about lazyload */
 #define FLG_OFG_NO_MF           0x00000008      /* use v2 mapfile syntax */
 #define FLG_OFG_NO_TEXT         0x00000010      /* verify pure text segment */
 #define FLG_OFG_NO_UNUSED       0x00000020      /* remove unused dependency */
+#define FLG_OFG_NO_KMOD         0x00000040      /* use -z type=kmod */
 
 /*
  * Test to see if a guidance should be given for a given category
  * or not. _no_flag is one of the FLG_OFG_NO_xxx flags. Returns TRUE
  * if the guidance should be issued, and FALSE to remain silent.

@@ -1182,10 +1185,11 @@
         Word            sa_linkndx;     /* index of associated symbol from */
                                         /*      ET_DYN file */
         Half            sa_symspec;     /* special symbol ids */
         Half            sa_overndx;     /* output file versioning index */
         Half            sa_dverndx;     /* dependency versioning index */
+        Os_desc         *sa_boundsec;   /* output section of SECBOUND_ syms */
 };
 
 /*
  * Nodes used to track symbols in the global AVL symbol dictionary.
  */

@@ -1205,10 +1209,12 @@
 #define SDAUX_ID_END    3               /* end, _end, && _END_ symbol */
 #define SDAUX_ID_DYN    4               /* DYNAMIC && _DYNAMIC symbol */
 #define SDAUX_ID_PLT    5               /* _PROCEDURE_LINKAGE_TABLE_ symbol */
 #define SDAUX_ID_GOT    6               /* _GLOBAL_OFFSET_TABLE_ symbol */
 #define SDAUX_ID_START  7               /* START_ && _START_ symbol */
+#define SDAUX_ID_SECBOUND_START 8       /* __start_<section> symbols */
+#define SDAUX_ID_SECBOUND_STOP  9       /* __stop_<section> symbols */
 
 /*
  * Flags for sym_desc.sd_flags
  */
 #define FLG_SY_MVTOCOMM 0x00000001      /* assign symbol to common (.bss) */