* doc/as.texinfo: Document M and S ELF section flags.
authorJakub Jelinek <jakub@redhat.com>
Fri, 5 Oct 2001 16:36:55 +0000 (16:36 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 5 Oct 2001 16:36:55 +0000 (16:36 +0000)
* emultempl/elf32.em (gld_*_list_options): Include -z combreloc and
-z nocombreloc in usage.

gas/ChangeLog
gas/doc/as.texinfo
ld/ChangeLog
ld/emultempl/elf32.em

index fe25ca923d35fb50c328bfd3996e45acb2a38762..34095c5fe3e450511d7664b956c782b6a02f44e7 100644 (file)
@@ -1,3 +1,7 @@
+2001-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/as.texinfo: Document M and S ELF section flags.
+
 2001-10-05  Alan Modra  <amodra@bigpond.net.au>
 
        * subsegs.c (subseg_text_p): Return 0 for absolute section.
index 7e40900bccc09ba6705f20e7a47e97d71279a68f..83f1435bdb5d69d2773886c7c7f9cad9ed2f60ff 100644 (file)
@@ -4896,7 +4896,7 @@ This is one of the ELF section stack manipulation directives.  The others are
 For ELF targets, the @code{.section} directive is used like this:
 
 @smallexample
-.section @var{name} [, "@var{flags}"[, @@@var{type}]]
+.section @var{name} [, "@var{flags}"[, @@@var{type}[, @@@var{entsize}]]]
 @end smallexample
 
 The optional @var{flags} argument is a quoted string which may contain any
@@ -4908,6 +4908,10 @@ section is allocatable
 section is writable
 @item x
 section is executable
+@item M
+section is mergeable
+@item S
+section contains zero terminated strings
 @end table
 
 The optional @var{type} argument may contain one of the following constants:
@@ -4918,6 +4922,13 @@ section contains data
 section does not contain data (i.e., section only occupies space)
 @end table
 
+If @var{flags} contains @code{M} flag, @var{type} argument must be specified
+as well as @var{entsize} argument. Sections with @code{M} flag but not
+@code{S} flag must contain fixed size constants, each @var{entsize} octets
+long. Sections with both @code{M} and @code{S} must contain zero terminated
+strings where each character is @var{entsize} bytes long. The linker may remove
+duplicates within sections with the same name, same entity size and same flags. 
+
 If no flags are specified, the default flags depend upon the section name.  If
 the section name is not recognized, the default will be for the section to have
 none of the above flags: it will not be allocated in memory, nor writable, nor
index c638abc5d6cf309b770118b364133b0788c77d4c..64e4b542240891a080c8ed8a73a4525fddfbe095 100644 (file)
@@ -1,3 +1,8 @@
+2001-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * emultempl/elf32.em (gld_*_list_options): Include -z combreloc and
+       -z nocombreloc in usage.
+
 2001-10-03  Jim Blandy  <jimb@redhat.com>
 
        * genscripts.sh: Include a comment at the top of each generated
index c9cf50d914c412c140cbe2706671c5695c8e171b..105795549a69b32e6ab9b9d361dcfdf25aa8918f 100644 (file)
@@ -1555,10 +1555,12 @@ cat >>e${EMULATION_NAME}.c <<EOF
   fprintf (file, _("  -Bgroup\t\tSelects group name lookup rules for DSO\n"));
   fprintf (file, _("  --disable-new-dtags\tDisable new dynamic tags\n"));
   fprintf (file, _("  --enable-new-dtags\tEnable new dynamic tags\n"));
+  fprintf (file, _("  -z combreloc\t\tMerge dynamic relocs into one section and sort\n"));
   fprintf (file, _("  -z defs\t\tDisallows undefined symbols\n"));
   fprintf (file, _("  -z initfirst\t\tMark DSO to be initialized first at runtime\n"));
   fprintf (file, _("  -z interpose\t\tMark object to interpose all DSOs but executable\n"));
   fprintf (file, _("  -z loadfltr\t\tMark object requiring immediate process\n"));
+  fprintf (file, _("  -z nocombreloc\t\tDon't merge dynamic relocs into one section\n"));
   fprintf (file, _("  -z nodefaultlib\tMark object not to use default search paths\n"));
   fprintf (file, _("  -z nodelete\t\tMark DSO non-deletable at runtime\n"));
   fprintf (file, _("  -z nodlopen\t\tMark DSO not available to dlopen\n"));