Enhance GAS's .section directive so that it can take numeric values for the flags...
authorNick Clifton <nickc@redhat.com>
Mon, 15 Feb 2016 11:11:46 +0000 (11:11 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 15 Feb 2016 11:11:46 +0000 (11:11 +0000)
gas * doc/as.texinfo (.section): Document that numeric values can now
be used for the flags and type fields of the ELF target's .section
directive.  Add notes about the restrictions on setting flags and
types.
* config/obj-elf.c (obj_elf_change_section): Allow known sections
to be given processor specific section types.  Allow processor and
application specific flags of a section to be set after
definition.
(obj_elf_parse_section_letters): Handle parsing numeric values.
(obj_elf_section_type): Handle parsing numeric values.
(obj_elf_section): Allow numeric type values.
* config/obj-elf.h (obj_elf_change_section): Update prototype.
* testsuite/gas/elf/section10.d: New test.
* testsuite/gas/elf/section10.s: Source file for new test.
* testsuite/gas/elf/elf.exp: Run the new test.
* testsuite/gas/i386/ilp32/x86-64-unwind.d: Remove dependency upon
the description of the flags produced by readelf.
* testsuite/gas/tic6x/scomm-directive-4.d: Likewise.
* NEWS: Mention the new feature.

bfd * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
for length and type fields.  Use a signed value for the
suffix_length field.

binutils* readelf.c (get_section_type_name): Add hex prefix to offsets
printed for LOPROC and LOOS values.  Ensure that a result is
always returned for the V850 target, even when an unrecognised
processor specific value is encountered.
(process_section_headers): Display key values in the order in
which they appear to the user.  Add the "C (compressed)" value to
the list.

ld * testsuite/ld-i386/pr12718.d: Remove dependency upon the
description of the flags produced by readelf.
* testsuite/ld-i386/pr12921.d: Likewise.
* testsuite/ld-i386/tlsbin-nacl.rd: Likewise.
* testsuite/ld-i386/tlsbin.rd: Likewise.
* testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise.
* testsuite/ld-i386/tlsbindesc.rd: Likewise.
* testsuite/ld-i386/tlsdesc-nacl.rd: Likewise.
* testsuite/ld-i386/tlsdesc.rd: Likewise.
* testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise.
* testsuite/ld-i386/tlsgdesc.rd: Likewise.
* testsuite/ld-i386/tlsnopic-nacl.rd: Likewise.
* testsuite/ld-i386/tlsnopic.rd: Likewise.
* testsuite/ld-i386/tlspic-nacl.rd: Likewise.
* testsuite/ld-i386/tlspic.rd: Likewise.
* testsuite/ld-s390/tlsbin.rd: Likewise.
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
* testsuite/ld-s390/tlspic.rd: Likewise.
* testsuite/ld-s390/tlspic_64.rd: Likewise.
* testsuite/ld-sh/tlsbin-2.d: Likewise.
* testsuite/ld-sh/tlspic-2.d: Likewise.
* testsuite/ld-tic6x/common.d: Likewise.
* testsuite/ld-tic6x/shlib-1.rd: Likewise.
* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
* testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
* testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
* testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
* testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
* testsuite/ld-tic6x/static-app-1.rd: Likewise.
* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
* testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
* testsuite/ld-x86-64/ilp32-4.d: Likewise.
* testsuite/ld-x86-64/pr12718.d: Likewise.
* testsuite/ld-x86-64/pr12921.d: Likewise.
* testsuite/ld-x86-64/split-by-file-nacl.rd: Likewise.
* testsuite/ld-x86-64/split-by-file.rd: Likewise.
* testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsbin.rd: Likewise.
* testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
* testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsdesc.rd: Likewise.
* testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
* testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlspic.rd: Likewise.
* testsuite/ld-xtensa/tlsbin.rd: Likewise.
* testsuite/ld-xtensa/tlspic.rd: Likewise.

68 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/NEWS
gas/config/obj-elf.c
gas/config/obj-elf.h
gas/doc/as.texinfo
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/section10.d [new file with mode: 0644]
gas/testsuite/gas/elf/section10.s [new file with mode: 0644]
gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
gas/testsuite/gas/rx/mvtacgu.d
gas/testsuite/gas/tic6x/scomm-directive-4.d
ld/ChangeLog
ld/testsuite/ld-i386/pr12718.d
ld/testsuite/ld-i386/pr12921.d
ld/testsuite/ld-i386/tlsbin-nacl.rd
ld/testsuite/ld-i386/tlsbin.rd
ld/testsuite/ld-i386/tlsbindesc-nacl.rd
ld/testsuite/ld-i386/tlsbindesc.rd
ld/testsuite/ld-i386/tlsdesc-nacl.rd
ld/testsuite/ld-i386/tlsdesc.rd
ld/testsuite/ld-i386/tlsgdesc-nacl.rd
ld/testsuite/ld-i386/tlsgdesc.rd
ld/testsuite/ld-i386/tlsnopic-nacl.rd
ld/testsuite/ld-i386/tlsnopic.rd
ld/testsuite/ld-i386/tlspic-nacl.rd
ld/testsuite/ld-i386/tlspic.rd
ld/testsuite/ld-s390/tlsbin.rd
ld/testsuite/ld-s390/tlsbin_64.rd
ld/testsuite/ld-s390/tlspic.rd
ld/testsuite/ld-s390/tlspic_64.rd
ld/testsuite/ld-sh/tlsbin-2.d
ld/testsuite/ld-sh/tlspic-2.d
ld/testsuite/ld-tic6x/common.d
ld/testsuite/ld-tic6x/shlib-1.rd
ld/testsuite/ld-tic6x/shlib-1b.rd
ld/testsuite/ld-tic6x/shlib-1r.rd
ld/testsuite/ld-tic6x/shlib-1rb.rd
ld/testsuite/ld-tic6x/shlib-app-1.rd
ld/testsuite/ld-tic6x/shlib-app-1b.rd
ld/testsuite/ld-tic6x/shlib-app-1r.rd
ld/testsuite/ld-tic6x/shlib-app-1rb.rd
ld/testsuite/ld-tic6x/shlib-noindex.rd
ld/testsuite/ld-tic6x/static-app-1.rd
ld/testsuite/ld-tic6x/static-app-1b.rd
ld/testsuite/ld-tic6x/static-app-1r.rd
ld/testsuite/ld-tic6x/static-app-1rb.rd
ld/testsuite/ld-x86-64/ilp32-4-nacl.d
ld/testsuite/ld-x86-64/ilp32-4.d
ld/testsuite/ld-x86-64/pr12718.d
ld/testsuite/ld-x86-64/pr12921.d
ld/testsuite/ld-x86-64/split-by-file-nacl.rd
ld/testsuite/ld-x86-64/split-by-file.rd
ld/testsuite/ld-x86-64/tlsbin-nacl.rd
ld/testsuite/ld-x86-64/tlsbin.rd
ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
ld/testsuite/ld-x86-64/tlsbindesc.rd
ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
ld/testsuite/ld-x86-64/tlsdesc.rd
ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
ld/testsuite/ld-x86-64/tlsgdesc.rd
ld/testsuite/ld-x86-64/tlspic-nacl.rd
ld/testsuite/ld-x86-64/tlspic.rd
ld/testsuite/ld-xtensa/tlsbin.rd
ld/testsuite/ld-xtensa/tlspic.rd

index 017bbc1838fbc1ed0bec2132ff8403d041aa66c6..29aac397b195a17473a2d834e03c08647bc5c158 100644 (file)
@@ -1,3 +1,9 @@
+2016-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
+       for length and type fields.  Use a signed value for the
+       suffix_length field.
+
 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19601
index 6a04f044e78bcbf5975ca88987feb878865cbea5..ea4d59a7bdaa0ea667ea6e9971608a4b0b1cddd3 100644 (file)
@@ -731,15 +731,15 @@ typedef enum {
 struct bfd_elf_special_section
 {
   const char *prefix;
-  int prefix_length;
+  unsigned int prefix_length;
   /* 0 means name must match PREFIX exactly.
      -1 means name must start with PREFIX followed by an arbitrary string.
      -2 means name must match PREFIX exactly or consist of PREFIX followed
      by a dot then anything.
      > 0 means name must start with the first PREFIX_LENGTH chars of
      PREFIX and finish with the last SUFFIX_LENGTH chars of PREFIX.  */
-  int suffix_length;
-  int type;
+  signed int suffix_length;
+  unsigned int type;
   bfd_vma attr;
 };
 
index c11da45cd4fccf4bcfb53e6b059c5404d34cd760..96ce7a8425955a5ad25e82729d340b488b0092f9 100644 (file)
@@ -1,3 +1,13 @@
+2016-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * readelf.c (get_section_type_name): Add hex prefix to offsets
+       printed for LOPROC and LOOS values.  Ensure that a result is
+       always returned for the V850 target, even when an unrecognised
+       processor specific value is encountered.
+       (process_section_headers): Display key values in the order in
+       which they appear to the user.  Add the "C (compressed)" value to
+       the list.
+
 2016-02-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        * doc/binutils.texi: Fix a typo.
index b3a28a8d88d8ba69fa11f996b921f36c9349c65d..f33257bc04754bcac7ce233bb4ea136878c414f4 100644 (file)
@@ -3893,6 +3893,7 @@ static const char *
 get_section_type_name (unsigned int sh_type)
 {
   static char buff[32];
+  const char * result;
 
   switch (sh_type)
     {
@@ -3926,8 +3927,6 @@ get_section_type_name (unsigned int sh_type)
     default:
       if ((sh_type >= SHT_LOPROC) && (sh_type <= SHT_HIPROC))
        {
-         const char * result;
-
          switch (elf_header.e_machine)
            {
            case EM_MIPS:
@@ -3970,12 +3969,10 @@ get_section_type_name (unsigned int sh_type)
          if (result != NULL)
            return result;
 
-         sprintf (buff, "LOPROC+%x", sh_type - SHT_LOPROC);
+         sprintf (buff, "LOPROC+%#x", sh_type - SHT_LOPROC);
        }
       else if ((sh_type >= SHT_LOOS) && (sh_type <= SHT_HIOS))
        {
-         const char * result;
-
          switch (elf_header.e_machine)
            {
            case EM_IA_64:
@@ -3989,7 +3986,7 @@ get_section_type_name (unsigned int sh_type)
          if (result != NULL)
            return result;
 
-         sprintf (buff, "LOOS+%x", sh_type - SHT_LOOS);
+         sprintf (buff, "LOOS+%#x", sh_type - SHT_LOOS);
        }
       else if ((sh_type >= SHT_LOUSER) && (sh_type <= SHT_HIUSER))
        {
@@ -3998,12 +3995,16 @@ get_section_type_name (unsigned int sh_type)
            case EM_V800:
            case EM_V850:
            case EM_CYGNUS_V850:
-             return get_v850_section_type_name (sh_type);
+             result = get_v850_section_type_name (sh_type);
            default:
+             result = NULL;
              break;
            }
 
-         sprintf (buff, "LOUSER+%x", sh_type - SHT_LOUSER);
+         if (result != NULL)
+           return result;
+
+         sprintf (buff, "LOUSER+%#x", sh_type - SHT_LOUSER);
        }
       else
        /* This message is probably going to be displayed in a 15
@@ -6003,23 +6004,20 @@ process_section_headers (FILE * file)
 
   if (!do_section_details)
     {
+      /* The ordering of the letters shown here matches the ordering of the
+        corresponding SHF_xxx values, and hence the order in which these
+        letters will be displayed to the user.  */
+      printf (_("Key to Flags:\n\
+  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),\n\
+  L (link order), O (extra OS processing required), G (group), T (TLS),\n\
+  C (compressed), x (unknown), o (OS specific), E (exclude),\n"));
       if (elf_header.e_machine == EM_X86_64
          || elf_header.e_machine == EM_L1OM
          || elf_header.e_machine == EM_K1OM)
-       printf (_("Key to Flags:\n\
-  W (write), A (alloc), X (execute), M (merge), S (strings), l (large)\n\
-  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)\n\
-  O (extra OS processing required) o (OS specific), p (processor specific)\n"));
+       printf (_("l (large), "));
       else if (elf_header.e_machine == EM_ARM)
-       printf (_("Key to Flags:\n\
-  W (write), A (alloc), X (execute), M (merge), S (strings), y (noread)\n\
-  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)\n\
-  O (extra OS processing required) o (OS specific), p (processor specific)\n"));
-      else
-       printf (_("Key to Flags:\n\
-  W (write), A (alloc), X (execute), M (merge), S (strings)\n\
-  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)\n\
-  O (extra OS processing required) o (OS specific), p (processor specific)\n"));
+       printf (_("y (noread), "));
+      printf ("p (processor specific)\n");
     }
 
   return 1;
index c72e504009ec71ec8b216fa666924fe53fad47e9..57a34caacf33df38fd699fc40dd73f3a5ec58719 100644 (file)
@@ -1,3 +1,25 @@
+2016-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * doc/as.texinfo (.section): Document that numeric values can now
+       be used for the flags and type fields of the ELF target's .section
+       directive.  Add notes about the restrictions on setting flags and
+       types.
+       * config/obj-elf.c (obj_elf_change_section): Allow known sections
+       to be given processor specific section types.  Allow processor and
+       application specific flags of a section to be set after
+       definition.
+       (obj_elf_parse_section_letters): Handle parsing numeric values.
+       (obj_elf_section_type): Handle parsing numeric values.
+       (obj_elf_section): Allow numeric type values.
+       * config/obj-elf.h (obj_elf_change_section): Update prototype.
+       * testsuite/gas/elf/section10.d: New test.
+       * testsuite/gas/elf/section10.s: Source file for new test.
+       * testsuite/gas/elf/elf.exp: Run the new test.
+       * testsuite/gas/i386/ilp32/x86-64-unwind.d: Remove dependency upon
+       the description of the flags produced by readelf.
+       * testsuite/gas/tic6x/scomm-directive-4.d: Likewise.
+       * NEWS: Mention the new feature.
+
 2016-02-11  Nick Clifton  <nickc@redhat.com>
 
        PR gas/19614
index 87bdbd9042c5ce4247dc50fb5f310bb4e8ac4bac..dd34a9f6dc3078e5ed96da2e2ce009798d0ba4d3 100644 (file)
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,4 +1,6 @@
 -*- text -*-
+* Add ability to set section flags and types via numeric values for ELF
+  based targets.
 
 * Add a configure option --enable-x86-relax-relocations to decide whether
   x86 assembler should generate relax relocations by default.  Default to
index f4726ffcfae73a823fc0d4e20318aa6a182b39e8..9af349c2c167e7d723bd4eeabe421ff7eb8d2f34 100644 (file)
@@ -547,7 +547,7 @@ get_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
 
 void
 obj_elf_change_section (const char *name,
-                       int type,
+                       unsigned int type,
                        bfd_vma attr,
                        int entsize,
                        const char *group_name,
@@ -621,7 +621,9 @@ obj_elf_change_section (const char *name,
              && ssect->type != SHT_PREINIT_ARRAY)
            {
              /* We allow to specify any type for a .note section.  */
-             if (ssect->type != SHT_NOTE)
+             if (ssect->type != SHT_NOTE
+                 /* Processor and application defined types are allowed too.  */
+                 && type < SHT_LOPROC)
                as_warn (_("setting incorrect section type for %s"),
                         name);
            }
@@ -633,7 +635,8 @@ obj_elf_change_section (const char *name,
            }
        }
 
-      if (old_sec == NULL && (attr & ~ssect->attr) != 0)
+      if (old_sec == NULL && ((attr & ~(SHF_MASKOS | SHF_MASKPROC))
+                             & ~ssect->attr) != 0)
        {
          /* As a GNU extension, we permit a .note section to be
             allocatable.  If the linker sees an allocatable .note
@@ -682,6 +685,7 @@ obj_elf_change_section (const char *name,
              override = TRUE;
            }
        }
+
       if (!override && old_sec == NULL)
        attr |= ssect->attr;
     }
@@ -745,6 +749,11 @@ obj_elf_change_section (const char *name,
                  | SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD
                  | SEC_THREAD_LOCAL)))
            as_warn (_("ignoring changed section attributes for %s"), name);
+         else
+           /* FIXME: Maybe we should consider removing a previously set
+              processor or application specific attribute as suspicious ?  */
+           elf_section_flags (sec) = attr;
+
          if ((flags & SEC_MERGE) && old_sec->entsize != (unsigned) entsize)
            as_warn (_("ignoring changed section entity size for %s"), name);
        }
@@ -806,14 +815,26 @@ obj_elf_parse_section_letters (char *str, size_t len, bfd_boolean *is_clone)
            }
        default:
          {
-           char *bad_msg = _("unrecognized .section attribute: want a,e,w,x,M,S,G,T");
+           char *bad_msg = _("unrecognized .section attribute: want a,e,w,x,M,S,G,T or number");
 #ifdef md_elf_section_letter
            bfd_vma md_attr = md_elf_section_letter (*str, &bad_msg);
            if (md_attr != (bfd_vma) -1)
              attr |= md_attr;
            else
 #endif
-             as_fatal ("%s", bad_msg);
+             if (ISDIGIT (*str))
+               {
+                 char * end;
+
+                 attr |= strtoul (str, & end, 0);
+                 /* Update str and len, allowing for the fact that
+                    we will execute str++ and len-- below.  */
+                 end --;
+                 len -= (end - str);
+                 str = end;
+               }
+             else
+               as_fatal ("%s", bad_msg);
          }
          break;
        }
@@ -847,6 +868,17 @@ obj_elf_section_type (char *str, size_t len, bfd_boolean warn)
   }
 #endif
 
+  if (ISDIGIT (*str))
+    {
+      char * end;
+      int type = strtoul (str, & end, 0);
+
+      if (warn && (size_t) (end - str) != len)
+       as_warn (_("extraneous characters at end of numeric section type"));
+
+      return type;
+    }
+
   if (warn)
     as_warn (_("unrecognized section type"));
   return 0;
@@ -1046,9 +1078,17 @@ obj_elf_section (int push)
              else if (c == '@' || c == '%')
                {
                  ++input_line_pointer;
-                 c = get_symbol_name (& beg);
-                 (void) restore_line_pointer (c);
-                 type = obj_elf_section_type (beg, input_line_pointer - beg, TRUE);
+
+                 if (ISDIGIT (* input_line_pointer))
+                   {
+                     type = strtoul (input_line_pointer, & input_line_pointer, 0);
+                   }
+                 else
+                   {
+                     c = get_symbol_name (& beg);
+                     (void) restore_line_pointer (c);
+                     type = obj_elf_section_type (beg, input_line_pointer - beg, TRUE);
+                   }
                }
              else
                input_line_pointer = save;
index f3424a5f0979dc8bed79017dfeb2c3aff218d45c..257d877831c23771f68525e8c3c49669a628ab8c 100644 (file)
@@ -162,7 +162,7 @@ extern void obj_elf_common (int);
 extern void obj_elf_data (int);
 extern void obj_elf_text (int);
 extern void obj_elf_change_section
-  (const char *, int, bfd_vma, int, const char *, int, int);
+  (const char *, unsigned int, bfd_vma, int, const char *, int, int);
 extern struct fix *obj_elf_vtable_inherit (int);
 extern struct fix *obj_elf_vtable_entry (int);
 extern bfd_boolean obj_elf_seen_attribute
index 917781b1bedec129c918a0ad353a4dda21347bab..86b09fcadf9b253613f7a030a82aa28462d3fea0 100644 (file)
@@ -6375,8 +6375,22 @@ section is a member of a section group
 section is used for thread-local-storage
 @item ?
 section is a member of the previously-current section's group, if any
+@item @var{number}
+a numeric value indicating the bits to be set in the ELF section header's flags
+field.  Note - if one or more of the alphabetic characters described above is
+also included in the flags field, their bit values will be ORed into the
+resulting value.
+@item @{target specific}
+some targets extend this list with their own types
 @end table
 
+Note - once a section's flags have been set they cannot be changed.  There are
+a few exceptions to this rule however.  Processor and application specific
+flags can be added to an already defined section.  The @code{.interp},
+@code{.strtab} and @code{.symtab} sections can have the allocate flag
+(@code{a}) set after they are initially defined, and the @code{.note-GNU-stack}
+section may have the executable (@code(x)) flag added.
+
 The optional @var{type} argument may contain one of the following constants:
 @table @code
 @item @@progbits
@@ -6391,14 +6405,23 @@ section contains an array of pointers to init functions
 section contains an array of pointers to finish functions
 @item @@preinit_array
 section contains an array of pointers to pre-init functions
+@item @@@var{number}
+a numeric value to be set as the ELF section header's type field.
+@item @@@{target specific}
+some targets extend this list with their own types
 @end table
 
-Many targets only support the first three section types.
+Many targets only support the first three section types.  The type may be
+enclosed in double quotes if necessary.
 
 Note on targets where the @code{@@} character is the start of a comment (eg
 ARM) then another character is used instead.  For example the ARM port uses the
 @code{%} character.
 
+Note - some sections, eg @code{.text} and @code{.data} are considered to be
+special and have fixed types.  Any attempt to declare them with a different
+type will generate an error from the assembler.
+
 If @var{flags} contains the @code{M} symbol then the @var{type} argument must
 be specified as well as an extra argument---@var{entsize}---like this:
 
index 1c9401690f77aa25999748a6bcd0f698a8a905b8..40dfd12ae45adbd92d01ad4f067a2f94699ee35f 100644 (file)
@@ -201,6 +201,7 @@ if { [is_elf_format] } then {
     run_dump_test "section7"
     run_dump_test "section8"
     run_dump_test "section9"
+    run_dump_test "section10"
     run_dump_test "dwarf2-1"
     run_dump_test "dwarf2-2"
     run_dump_test "dwarf2-3"
diff --git a/gas/testsuite/gas/elf/section10.d b/gas/testsuite/gas/elf/section10.d
new file mode 100644 (file)
index 0000000..aa5ca3c
--- /dev/null
@@ -0,0 +1,36 @@
+#readelf: -N --wide
+#name: numeric section flags and types
+# The RX port annoyingly reorders the sections so that they do not match the sequence expected below.
+#skip: rx-*-*
+
+#...
+[      ]*\[.*\][       ]+.text
+[      ]*PROGBITS.*
+[      ]*\[.*4000006\]: ALLOC, EXEC, OS \(.*4000000\)
+#...
+[      ]*\[.*\][       ]+sec1
+[      ]*PROGBITS.*
+[      ]*\[.*6000000\]: OS \(.*6000000\)
+[      ]*\[.*\][       ]+sec2
+[      ]*PROGBITS.*
+[      ]*\[0+00806\]: ALLOC, EXEC, COMPRESSED
+[      ]*\[<unknown>: 0x[0-9]+\], .*
+#...
+[      ]*\[.*\][       ]+sec3
+[      ]*PROGBITS.*
+[      ]*\[.*ffff030\]: MERGE, STRINGS,.* EXCLUDE, OS \(.*ff00000\), PROC \(.*[347]0000000\), UNKNOWN \(0+0ff000\)
+#...
+[      ]*\[.*\][       ]+sec4
+[      ]*LOOS\+0x11[   ].*
+[      ]*\[0+06\]: ALLOC, EXEC
+#...
+[      ]*\[.*\][       ]+sec5
+[      ]*LOUSER\+0x9[  ].*
+[      ]*\[.*fff0000\]:.* EXCLUDE, OS \(.*ff00000\), PROC \(.*[347]0000000\), UNKNOWN \(.*f0000\)
+[      ]*\[.*\][       ]+.data.foo
+[      ]*LOUSER\+0x7f000000[   ].*
+[      ]*\[0+003\]: WRITE, ALLOC
+[      ]*\[.*\][       ]+sec6
+[      ]*0000162e: <unknown>[  ].*
+[      ]*\[.*120004\]: EXEC, OS \(.*100000\), UNKNOWN \(.*20000\)
+#pass
diff --git a/gas/testsuite/gas/elf/section10.s b/gas/testsuite/gas/elf/section10.s
new file mode 100644 (file)
index 0000000..0576007
--- /dev/null
@@ -0,0 +1,35 @@
+       # Test numeric values for the section's flags field.
+       .section sec1, "0x06000000"
+       .word 1
+
+       # Make sure that a numeric value can be mixed with alpha values.
+       .section sec2, "a2048x"
+       .word 2
+
+       # Make sure that specifying further arguments to .sections is still supported
+       .section sec3, "0xfffff000MS", %progbits, 32
+       .word 3
+
+       # Make sure that extra flags can be set for well known sections as well.
+       .section .text, "0x04000006"
+       .word 4
+
+       # Test numeric values for the section's type field.
+       .section sec4, "ax", %0x60000011
+       .word 5
+
+       # Test both together, with a quoted type value.
+       .section sec5, "0xffff0000", "0x80000009"
+       .word 6
+
+       # Test that declaring an extended version of a known special section works.
+       .section .data.foo, "aw", %0xff000000
+       .word 7
+
+       # Check that .pushsection works as well.
+       .pushsection sec6, 2, "0x120004", %5678
+       .word 8
+
+       .popsection
+
+       # FIXME: We ought to check setting 64-bit flag values for 64-bit ELF targets...
index 4f6f1559cfcecb06c3d6c1b4e5b4ee24e4c2dc4d..0bac7a2777619f197e87aeed1f1562b26004279f 100644 (file)
@@ -15,7 +15,4 @@ Section Headers:
   \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      7   5  4
   \[ 7\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 #pass
index 96fe2ce14822bcdc44531062a136e81a8b20cc87..07053d05a75db0a7052ff784196812fd0a7c487e 100644 (file)
@@ -6,7 +6,7 @@ dump\.o:     file format .*
 Disassembly of section \.text:
 
 00000000 <\.text>:
-   0:  fd 17 30                        mvtacgu r0, a0
-   3:  fd 17 3f                        mvtacgu r15, a0
-   6:  fd 17 b0                        mvtacgu r0, a1
-   9:  fd 17 bf                        mvtacgu r15, a1
+   0:  fd 17 30                        mvtacgu a0, r0
+   3:  fd 17 3f                        mvtacgu a0, r15
+   6:  fd 17 b0                        mvtacgu a1, r0
+   9:  fd 17 bf                        mvtacgu a1, r15
index 18497ec7488fac961604b7068d61906c71fd5fdd..7822e8f3b270bdf631f1b4efb8cef2d318468454 100644 (file)
@@ -16,9 +16,7 @@ Section Headers:
   \[ 6\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 0000d0 10      7   5  4
   \[ 7\] \.strtab           STRTAB          00000000 [0-9a-f]+ 00001d 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Symbol table '\.symtab' contains 13 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
index 34da59b6549b80a5eaab3d1dfbc1baa99d41b981..8f133de979614509425d2233a6290f32cb453bb7 100644 (file)
@@ -1,3 +1,59 @@
+2016-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * testsuite/ld-i386/pr12718.d: Remove dependency upon the
+       description of the flags produced by readelf.
+       * testsuite/ld-i386/pr12921.d: Likewise.
+       * testsuite/ld-i386/tlsbin-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlsbin.rd: Likewise.
+       * testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlsbindesc.rd: Likewise.
+       * testsuite/ld-i386/tlsdesc-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlsdesc.rd: Likewise.
+       * testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlsgdesc.rd: Likewise.
+       * testsuite/ld-i386/tlsnopic-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlsnopic.rd: Likewise.
+       * testsuite/ld-i386/tlspic-nacl.rd: Likewise.
+       * testsuite/ld-i386/tlspic.rd: Likewise.
+       * testsuite/ld-s390/tlsbin.rd: Likewise.
+       * testsuite/ld-s390/tlsbin_64.rd: Likewise.
+       * testsuite/ld-s390/tlspic.rd: Likewise.
+       * testsuite/ld-s390/tlspic_64.rd: Likewise.
+       * testsuite/ld-sh/tlsbin-2.d: Likewise.
+       * testsuite/ld-sh/tlspic-2.d: Likewise.
+       * testsuite/ld-tic6x/common.d: Likewise.
+       * testsuite/ld-tic6x/shlib-1.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-1b.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-1r.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
+       * testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
+       * testsuite/ld-tic6x/static-app-1.rd: Likewise.
+       * testsuite/ld-tic6x/static-app-1b.rd: Likewise.
+       * testsuite/ld-tic6x/static-app-1r.rd: Likewise.
+       * testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
+       * testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
+       * testsuite/ld-x86-64/ilp32-4.d: Likewise.
+       * testsuite/ld-x86-64/pr12718.d: Likewise.
+       * testsuite/ld-x86-64/pr12921.d: Likewise.
+       * testsuite/ld-x86-64/split-by-file-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/split-by-file.rd: Likewise.
+       * testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/tlsbin.rd: Likewise.
+       * testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
+       * testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/tlsdesc.rd: Likewise.
+       * testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
+       * testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
+       * testsuite/ld-x86-64/tlspic.rd: Likewise.
+       * testsuite/ld-xtensa/tlsbin.rd: Likewise.
+       * testsuite/ld-xtensa/tlspic.rd: Likewise.
+
 2016-02-11  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19615
index 6bcea85b443011449e772cc85e155495d672118f..87905c37c22a706a4a12d66d24f4dba8287f59cf 100644 (file)
@@ -13,7 +13,4 @@ Section Headers:
  +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +4 +[0-9] +4
  +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 #pass
index 891db8b41deb384be487f4b2c34559bcecc53c38..c72b04c13c807461e90172749c4be28626b5f88f 100644 (file)
@@ -15,7 +15,4 @@ Section Headers:
  +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +6 +[0-9] +4
  +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 #pass
index 8061cccb1312d2c02e590009d4c3b22f98a95373..1e1cf7cfc83b821dde4f5d201cc656c1de2da48a 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x0*21188
index 6a641dccc03ffa2b26ac55c0b46988de221e2368..12b3e81eb76bafe527adab05fd94c579aa11044f 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x8049188
index 7d51f714e5f11c5a651be2b08fb91b99af4c0676..51cffc01aabb06c70037765336d810aae7428bb9 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x0*20156
index 3127de4c05d20700509a498b1d90dd6b28560d82..7f7194ccce9e7c6ec1b9888978b862a7ba364727 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x8049156
index c8c82f3efe6b0a0072993a5a89b6d0db38b431f4..b28744f17c45e7c7352db0e4d00ff4a2ab35896e 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 9b00c3923e79f7cf8fe1339ab36a307b61c2fa17..68695ff6c29f5a93a78a850b27b471a83ba744cc 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 43f9a3d5e65a8b32f04f195734856c401ba9fbd7..ba5fa629ac75a622dd4999b546a1420d37740e39 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 1e074c7f408761071ad2400e144d4ebafd1158e7..929ffa235dff562329fdc3db99d3dc5abd31d97e 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index d3fe642cd9137cde5f4548416bf9e04a7ee384eb..b14164afd78fb1f23544465278820340391e9f6e 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x0+
index 9b163c8f2ae8b3a24805adbbde9ef34092cb8870..b754158013538d9e3f0f42a2f085b494cf711d0a 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
index 77dd9ce9a0044413101ffc11238a79aa227fa3b9..b7d3e35a4a716243627f8017b09715042478b49d 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index e26dc70834a0443f6c3f1675b5659afc1f8614ec..f693760fc2fbb64c94d45ab9b3083a580abdf354 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index b9efe8a901d0ba6e60f08189c59dc18449d0bfd9..32c883acc191be0d054fc389e997e041bb437c64 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x[0-9a-f]+
index f461f5157e730e22d06e6c5b6ec3e4b8fd55dbd8..38d57892affc688a228164e87d691ec873b27686 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x[0-9a-f]+
index 37ebe47f43813e6198b7400f47031002e527668f..07d29c280fcbdc0ef3c4b50f3a5acf0d9fd94548 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 9b4105c71393c524bb8a6c7c863e46f64703674a..6197f8a32dc4876df39e470d1a83f0075efc9671 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index cd30833564780c488c09f34d9cd0e3e272111f3c..167270f0d08510f8990b4dd736e0767d31ae0c89 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[0-9a-f]+\] \.symtab .*
  +\[[0-9a-f]+\] \.strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x402000
index d8e355fe766402fd1c963be4862637d73dabc570..0b47878ca0cee7103cf719a489f08ed35c264331 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[0-9a-f]+\] \.symtab .*
  +\[[0-9a-f]+\] \.strtab .*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 83f533dc8fe1ae73ac816163eb3f016f7fe34d33..30521fc511b65ccdc42e51338a3260e2edf6a05a 100644 (file)
@@ -15,9 +15,7 @@ Section Headers:
   \[ 4\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      5   3  4
   \[ 5\] \.strtab           STRTAB          00000000 [0-9a-f]+ 000005 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Symbol table '\.symtab' contains 5 entries:
    Num:    Value  Size Type    Bind   Vis      Ndx Name
index b4a3c30c607c44215e32fd711591292f4d19c97c..4b6e0263275c7e36c7a61f1de258f265d6990a64 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x10000080
index b4a3c30c607c44215e32fd711591292f4d19c97c..4b6e0263275c7e36c7a61f1de258f265d6990a64 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x10000080
index b4a3c30c607c44215e32fd711591292f4d19c97c..4b6e0263275c7e36c7a61f1de258f265d6990a64 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x10000080
index b4a3c30c607c44215e32fd711591292f4d19c97c..4b6e0263275c7e36c7a61f1de258f265d6990a64 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x10000080
index 23fb91cb09c22cc30c36d77f15a0f0d3b023ecfa..35cc92fa575f852a6c11e84e25f45084a0834672 100644 (file)
@@ -21,9 +21,7 @@ Section Headers:
   \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
   \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000060
index 7509e0abe322665e8abf2004be7cafc51009ca45..a16c4fae29a6b5dc813e379da78e46d6b919176d 100644 (file)
@@ -21,9 +21,7 @@ Section Headers:
   \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
   \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000060
index ba0e84de91ab2369a0971351b72df783763c529e..d12ee1ced3bbe8af0129d4311564217e7b1a7169 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000060
index f7ff5a0fbbf9d572cbbd49944d86559bd8f253b6..6026e2ab7bdb9538757d850f08f635ceccb60bff 100644 (file)
@@ -20,9 +20,7 @@ Section Headers:
   \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
   \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000060
index aae19f79dc68501859fc4377665c7a811e36c957..3d9a724f193ed3a460405b27327f81d7553fd212 100644 (file)
@@ -21,9 +21,7 @@ Section Headers:
   \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
   \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x10000080
index 01ff9750025c64ff39fa8d3d2f4c1831f12df8e8..1efa574a0b29320869600d3c107cfdc00d5d11ba 100644 (file)
@@ -18,9 +18,7 @@ Section Headers:
   \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
   \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000000
index 01ff9750025c64ff39fa8d3d2f4c1831f12df8e8..1efa574a0b29320869600d3c107cfdc00d5d11ba 100644 (file)
@@ -18,9 +18,7 @@ Section Headers:
   \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
   \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000000
index 041caf477c950900f616773645176ba110c82a4b..4ee2c85ae90e9a4d337233679a6cca6ca2b89eea 100644 (file)
@@ -18,9 +18,7 @@ Section Headers:
   \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
   \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000000
index 041caf477c950900f616773645176ba110c82a4b..4ee2c85ae90e9a4d337233679a6cca6ca2b89eea 100644 (file)
@@ -18,9 +18,7 @@ Section Headers:
   \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
   \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x10000000
index 181868c1a48b5409be2613daced3c0d30e7ecc6f..ac49a6ede619ab73e189e2cf87b4a944c2e195ee 100644 (file)
@@ -18,9 +18,7 @@ Section Headers:
  +\[ 7\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +8 +[0-9] +4
  +\[ 8\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Dynamic section at offset 0x15c contains 6 entries:
   Tag        Type                         Name/Value
index 6b63e5ac1abd83628173673ee1a06839dfcc3a3a..cfdfde793caff0bbde0e27549218568e8ff4aebd 100644 (file)
@@ -17,9 +17,7 @@ Section Headers:
   \[ 7\] .symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10      8   [0-9]  4
   \[ 8\] .strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#...
 
 Dynamic section at offset 0x13c contains 6 entries:
   Tag        Type                         Name/Value
index 8e2865192b25cfb2e3d169bd62b083f14240efa4..4b81d71bb9969a733c1fbc8e1735d1d045597368 100644 (file)
@@ -13,7 +13,4 @@ Section Headers:
  +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +4 +[0-9] +8
  +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 #pass
index 61939e410db9f0bc7f07c507a46af587e3ba342b..8d09616474a06ea5849127a8614898da7b396047 100644 (file)
@@ -15,7 +15,4 @@ Section Headers:
  +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +6 +[0-9] +8
  +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 #pass
index 340c5fc5f65df0b73389979b4aebac91facb3d92..d11988a19b329eb2a315a9da8ece334624d893e0 100644 (file)
@@ -12,6 +12,4 @@ Section Headers:
   \[ 7\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      8   [0-9]  8
   \[ 8\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#pass
index 340c5fc5f65df0b73389979b4aebac91facb3d92..d11988a19b329eb2a315a9da8ece334624d893e0 100644 (file)
@@ -12,6 +12,4 @@ Section Headers:
   \[ 7\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      8   [0-9]  8
   \[ 8\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
 Key to Flags:
-  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-  I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+#pass
index 94c14a0586d46abfb9001eef22dd560a01885e41..5de5e1ac9554f781f02934c70707bd37bb1febca 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x21139
index 9aaddbfe2f31d94f381c775b2691fa30e4540e56..6f73b983da070e734a9dd6b114de87d484030e31 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x401139
index 6ae8daa81e9d2f5d024d73f10a1fc6a6c857fcfd..39a5abe2fa68ef3cb36e1e715c64a2dbad4900e3 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x20105
index 48bbdb979f542ed9ffe1f13e4179eb346f46df92..8c9a342689846f45a6a41320cd4237ec30990f24 100644 (file)
@@ -25,9 +25,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x401105
index 25bbd9ba812bdcff32c15bde052acbc43429e86b..25c557df249e9ee9e69b51c182fa71c9c5367453 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
index 1efea46ead57d76416d494dde68f1ea913c25cbf..08ded71cc571d9f97e8b061efc5401c25bd8d838 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
index e8678624567ceefc99142ca91e333b5247c2725e..6fbce68d64153c765294d208ea7cfbde7fc61e08 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 2eb2ec0f6ba9710589d8d01011cb3460a930b051..7914c0db58a16f7ed2758dc55d03db23e2661c39 100644 (file)
@@ -23,9 +23,7 @@ Section Headers:
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+
index 22336903740c950c263c47c4ea95e7a63b7b6ffa..1be2e48acda11a0c396af4d27dfd1a3d4546bc5f 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
index c2830e97b05f926c47a4ca7d84f4c681f9bda81e..39bd7796ca3c41a4c719e19df76c10131080fc92 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
index 6226ea704f5267ed34de580bf0871940f793ae01..23611392dfe97913ce2cc7bb805e9754ac235a43 100644 (file)
@@ -26,9 +26,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is EXEC \(Executable file\)
 Entry point 0x[0-9a-f]+
index 2edd54f8068927721d2708cfe267f156e368bd37..379334c4a773c374b6b7e69141d67bfe5b665d1c 100644 (file)
@@ -27,9 +27,7 @@ Section Headers:
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
 Key to Flags:
-.*
-.*
-.*
+#...
 
 Elf file type is DYN \(Shared object file\)
 Entry point 0x[0-9a-f]+