Print this page
10366 ld(1) should support GNU-style linker sets
10581 ld(1) should know kernel modules are a thing

*** 465,474 **** --- 465,476 ---- #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,543 **** --- 536,546 ---- #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,1191 **** --- 1185,1195 ---- 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,1214 **** --- 1209,1220 ---- #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) */