aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/doc/as.texinfo13
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/elf32.em2
4 files changed, 23 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index fe25ca9..34095c5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 7e40900..83f1435 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -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
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c638abc..64e4b54 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index c9cf50d..1057955 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -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"));