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:
parent
2b63aca39c
commit
9fb71ee49f
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
2
gas/NEWS
2
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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
|
@ -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...
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
56
ld/ChangeLog
56
ld/ChangeLog
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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+
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]+
|
||||
|
|
|
@ -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]+
|
||||
|
|
Loading…
Reference in New Issue