gas/
2003-05-03 H.J. Lu <hjl@gnu.org> * config/obj-elf.c (obj_elf_parse_section_letters): Make it a fatal error for unknown section attribute. * config/tc-alpha.c (alpha_elf_section_letter): Return -1 for unknown section attribute. * config/tc-ia64.c (ia64_elf_section_letter): Likewise. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-ia64.c (ia64_elf_section_letter): Handle 'o'. (ia64_elf_section_type): Accept "unwind". gas/testsuite/ 2003-05-03 H.J. Lu <hjl@gnu.org> * gas/ia64/ia64.exp: Add unwind. * gas/ia64/unwind.s: New. Test the new section attribute 'o' and the new section type "unwind". * gas/ia64/unwind.d: Likewise.
This commit is contained in:
parent
74cb52a637
commit
711ef82f1d
9 changed files with 66 additions and 8 deletions
|
@ -1,3 +1,16 @@
|
|||
2003-05-03 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* config/obj-elf.c (obj_elf_parse_section_letters): Make it a
|
||||
fatal error for unknown section attribute.
|
||||
|
||||
* config/tc-alpha.c (alpha_elf_section_letter): Return -1 for
|
||||
unknown section attribute.
|
||||
* config/tc-ia64.c (ia64_elf_section_letter): Likewise.
|
||||
* config/tc-ppc.c (ppc_section_letter): Likewise.
|
||||
|
||||
* config/tc-ia64.c (ia64_elf_section_letter): Handle 'o'.
|
||||
(ia64_elf_section_type): Accept "unwind".
|
||||
|
||||
2003-05-02 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* read.h (demand_copy_string): New.
|
||||
|
|
|
@ -845,10 +845,7 @@ obj_elf_parse_section_letters (str, len)
|
|||
attr |= md_attr;
|
||||
else
|
||||
#endif
|
||||
{
|
||||
as_warn ("%s", bad_msg);
|
||||
attr = -1;
|
||||
}
|
||||
as_fatal ("%s", bad_msg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -5635,7 +5635,7 @@ alpha_elf_section_letter (letter, ptr_msg)
|
|||
return SHF_ALPHA_GPREL;
|
||||
|
||||
*ptr_msg = _("Bad .section directive: want a,s,w,x,M,S,G,T in string");
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Map SHF_ALPHA_GPREL to SEC_SMALL_DATA. */
|
||||
|
|
|
@ -968,9 +968,11 @@ ia64_elf_section_letter (letter, ptr_msg)
|
|||
{
|
||||
if (letter == 's')
|
||||
return SHF_IA_64_SHORT;
|
||||
else if (letter == 'o')
|
||||
return SHF_LINK_ORDER;
|
||||
|
||||
*ptr_msg = _("Bad .section directive: want a,s,w,x,M,S,G,T in string");
|
||||
return 0;
|
||||
*ptr_msg = _("Bad .section directive: want a,o,s,w,x,M,S,G,T in string");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Map SHF_IA_64_SHORT to SEC_SMALL_DATA. */
|
||||
|
@ -1004,6 +1006,9 @@ ia64_elf_section_type (str, len)
|
|||
if (STREQ (ELF_STRING_ia64_unwind_once))
|
||||
return SHT_IA_64_UNWIND;
|
||||
|
||||
if (STREQ ("unwind"))
|
||||
return SHT_IA_64_UNWIND;
|
||||
|
||||
if (STREQ ("init_array"))
|
||||
return SHT_INIT_ARRAY;
|
||||
|
||||
|
|
|
@ -2754,7 +2754,7 @@ ppc_section_letter (letter, ptr_msg)
|
|||
return SHF_EXCLUDE;
|
||||
|
||||
*ptr_msg = _("Bad .section directive: want a,e,w,x,M,S,G,T in string");
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2003-05-03 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* gas/ia64/ia64.exp: Add unwind.
|
||||
|
||||
* gas/ia64/unwind.s: New. Test the new section attribute 'o'
|
||||
and the new section type "unwind".
|
||||
* gas/ia64/unwind.d: Likewise.
|
||||
|
||||
2003-05-02 Chris Demetriou <cgd@broadcom.com>
|
||||
|
||||
* gas/mips/mips.exp (mips_arch_init): Reimplement in
|
||||
|
|
|
@ -47,4 +47,5 @@ if [istarget "ia64-*"] then {
|
|||
run_dump_test "order"
|
||||
run_dump_test "global"
|
||||
run_dump_test "secname"
|
||||
run_dump_test "unwind"
|
||||
}
|
||||
|
|
30
gas/testsuite/gas/ia64/unwind.d
Normal file
30
gas/testsuite/gas/ia64/unwind.d
Normal file
|
@ -0,0 +1,30 @@
|
|||
#readelf: -S
|
||||
#name: ia64 unwind section
|
||||
|
||||
There are 9 section headers, starting at offset 0xa0:
|
||||
|
||||
Section Headers:
|
||||
\[Nr\] Name Type Address Offset
|
||||
Size EntSize Flags Link Info Align
|
||||
\[ 0\] NULL 0000000000000000 00000000
|
||||
0000000000000000 0000000000000000 0 0 0
|
||||
\[ 1\] \.text PROGBITS 0000000000000000 00000040
|
||||
0000000000000000 0000000000000000 AX 0 0 16
|
||||
\[ 2\] \.data PROGBITS 0000000000000000 00000040
|
||||
0000000000000000 0000000000000000 WA 0 0 1
|
||||
\[ 3\] \.bss NOBITS 0000000000000000 00000040
|
||||
0000000000000000 0000000000000000 WA 0 0 1
|
||||
\[ 4\] \.IA_64\.unwind_inf PROGBITS 0000000000000000 00000040
|
||||
0000000000000008 0000000000000000 A 0 0 8
|
||||
\[ 5\] \.IA_64\.unwind IA_64_UNWIND 0000000000000000 00000048
|
||||
0000000000000008 0000000000000000 AL 1 1 8
|
||||
\[ 6\] \.shstrtab STRTAB 0000000000000000 00000050
|
||||
000000000000004d 0000000000000000 0 0 1
|
||||
\[ 7\] \.symtab SYMTAB 0000000000000000 000002e0
|
||||
0000000000000090 0000000000000018 8 6 8
|
||||
\[ 8\] \.strtab STRTAB 0000000000000000 00000370
|
||||
0000000000000001 0000000000000000 0 0 1
|
||||
Key to Flags:
|
||||
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
|
||||
I \(info\), L \(link order\), G \(group\), x \(unknown\)
|
||||
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
|
4
gas/testsuite/gas/ia64/unwind.s
Normal file
4
gas/testsuite/gas/ia64/unwind.s
Normal file
|
@ -0,0 +1,4 @@
|
|||
.section .IA_64.unwind_info, "a", "progbits"
|
||||
data8 1234
|
||||
.section .IA_64.unwind, "ao", "unwind"
|
||||
data8 1234
|
Loading…
Reference in a new issue