Enhance GAS's .section directive so that it can take numeric values for the flags and type fields. (ELF only)

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.
This commit is contained in:
Nick Clifton 2016-02-15 11:11:46 +00:00
parent 2b63aca39c
commit 9fb71ee49f
68 changed files with 316 additions and 200 deletions

View 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

View 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;
};

View 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.

View 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;

View 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

View file

@ -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

View 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;

View 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

View 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:

View 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"

View file

@ -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

View file

@ -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...

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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]+

View 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]+

View 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]+

View 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]+

View 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+

View 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

View 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]+

View 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]+

View 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]+

View 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]+

View 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]+

View 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]+

View 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

View 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]+

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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]+

View 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]+

View 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

View 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

View 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]+

View 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]+