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) */