Print this page
ld should reject kernel modules as input
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

@@ -249,10 +249,12 @@
                          text\n"
 @ MSG_ARG_DETAIL_ZTO    "\t[-z textoff]\tallow output relocations against \
                          text\n"
 @ MSG_ARG_DETAIL_ZTW    "\t[-z textwarn]\twarn if there are relocations \
                          against text\n"
+@ MSG_ARG_DETAIL_ZTY    "\t[-z type=type]\tspecify the type of object \
+                         (exec, kmod, reloc, shared)\n"
 @ MSG_ARG_DETAIL_ZWRAP  "\t[-z wrap=symbol], [-wrap=symbol], [--wrap=symbol]\n\
                          \t\t\twrap symbol references\n"
 @ MSG_ARG_DETAIL_ZVER   "\t[-z verbose]\t\
                          generate warnings for suspicious processings\n"
 

@@ -692,10 +694,11 @@
 @ MSG_REJ_PLATCAP       "file %s: platform capability (CA_SUNW_PLAT) \
                          unsupported: %s"
 @ MSG_REJ_HWCAP_2       "file %s: hardware capability (CA_SUNW_HW_2) \
                          unsupported: %s"
 @ MSG_REJ_ARCHIVE       "file %s: invalid archive use"
+@ MSG_REJ_KMOD          "file %s: kernel modules can't be link-edit input"
 
 # Guidance messages
 @ MSG_GUIDE_SUMMARY     "see ld(1) -z guidance for more information"
 @ MSG_GUIDE_DEFS        "-z defs option recommended for shared objects"
 @ MSG_GUIDE_DIRECT      "-B direct or -z direct option recommended before \

@@ -704,10 +707,11 @@
                          first dependency"
 @ MSG_GUIDE_MAPFILE     "version 2 mapfile syntax recommended: %s"
 @ MSG_GUIDE_TEXT        "position independent (PIC) code recommended for \
                          shared objects"
 @ MSG_GUIDE_UNUSED      "removal of unused dependency recommended: %s"
+@ MSG_GUIDE_KMOD        "use -z type=kmod, not -r -dy"
 
 @ _END_
 
 
 # The following strings represent reserved names.  Reference to these strings

@@ -877,10 +881,13 @@
 @ MSG_SYM_L_END         "END_"
 @ MSG_SYM_L_END_U       "_END_"
 @ MSG_SYM_L_START       "START_"
 @ MSG_SYM_L_START_U     "_START_"
 
+@ MSG_SYM_SECBOUND_START "__start_"
+@ MSG_SYM_SECBOUND_STOP "__stop_"
+
 # Support functions
 
 @ MSG_SUP_VERSION       "ld_version"
 @ MSG_SUP_INPUT_DONE    "ld_input_done"
 

@@ -960,15 +967,17 @@
                          (-z rescan-start, -(, --start-group)"
 @ MSG_MARG_ENTRY        "entry point option (-e, --entry)"
 @ MSG_MARG_FILTER_AUX   "auxiliary filter option (-f, --auxiliary)"
 @ MSG_MARG_FILTER       "filter option (-F, --filter)"
 @ MSG_MARG_OUTFILE      "output object option (-o, --output)"
-@ MSG_MARG_REL          "relocatable object option (-r, --relocatable)"
+@ MSG_MARG_REL          "relocatable object option (-r, --relocatable, \
+                        -z type=reloc)"
 @ MSG_MARG_RPATH        "runpath option (-R, -rpath)"
-@ MSG_MARG_SO           "shared object option (-G, -shared)"
+@ MSG_MARG_SO           "shared object option (-G, -shared, -z type=shared)"
 @ MSG_MARG_SONAME       "soname option (-h, --soname)"
 @ MSG_MARG_STRIP        "strip option (-s, --strip-all)"
+@ MSG_MARG_TYPE_KMOD    "-z type=kmod"
 
 # Entrance criteria messages
 
 @ MSG_ENT_MAP_FMT_TIL_1 "\t\t%s\n\n"
 @ MSG_ENT_MAP_TITLE_1   "LINK EDITOR MEMORY MAP"

@@ -1441,10 +1450,11 @@
 @ MSG_ARG_STATIC        "static"
 @ MSG_ARG_SYMBOLCAP     "symbolcap"
 @ MSG_ARG_DEFERRED      "deferred"
 @ MSG_ARG_NODEFERRED    "nodeferred"
 @ MSG_ARG_ASSDEFLIB     "assert-deflib"
+@ MSG_ARG_TYPE          "type"
 
 @ MSG_ARG_LCOM          "L,"
 @ MSG_ARG_PCOM          "P,"
 @ MSG_ARG_UCOM          "U,"
 

@@ -1490,10 +1500,16 @@
 @ MSG_ARG_GUIDE_NO_LAZYLOAD     "nolazyload"
 @ MSG_ARG_GUIDE_NO_MAPFILE      "nomapfile"
 @ MSG_ARG_GUIDE_NO_TEXT         "notext"
 @ MSG_ARG_GUIDE_NO_UNUSED       "nounused"
 
+# -z type= strings
+@ MSG_ARG_TYPE_RELOC    "reloc"
+@ MSG_ARG_TYPE_EXEC     "exec"
+@ MSG_ARG_TYPE_SHARED   "shared"
+@ MSG_ARG_TYPE_KMOD     "kmod"
+
 # Environment variable strings
 
 @ MSG_LD_RUN_PATH       "LD_RUN_PATH"
 @ MSG_LD_LIBPATH_32     "LD_LIBRARY_PATH_32"
 @ MSG_LD_LIBPATH_64     "LD_LIBRARY_PATH_64"