This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] Document .section M and S flags, include -z combreloc in usage


Hi!

My little documentation rests.
Ok to commit?

2001-10-05  Jakub Jelinek  <jakub@redhat.com>

	* doc/as.texinfo: Document M and S ELF section flags.

	* emultempl/elf32.em (gld_*_list_options): Include -z combreloc and
	-z nocombreloc in usage.

--- gas/doc/as.texinfo.jj	Fri Oct  5 13:03:40 2001
+++ gas/doc/as.texinfo	Fri Oct  5 14:38:32 2001
@@ -4896,7 +4896,7 @@ This is one of the ELF section stack man
 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,14 @@ 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
--- ld/emultempl/elf32.em.jj	Fri Oct  5 13:04:19 2001
+++ ld/emultempl/elf32.em	Fri Oct  5 13:51:55 2001
@@ -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"));

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]