aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-05-07 22:19:37 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-05-07 22:19:37 +0000
commit6e3f953dbdd7f718e2e1fdaac67130b2855a0fe9 (patch)
tree7a14a198200f88eaa7112303e3a4bb562fc062b3 /gas
parent003519a7c29470959d24bbf5a212d29919c40dc7 (diff)
downloadfsf-binutils-gdb-6e3f953dbdd7f718e2e1fdaac67130b2855a0fe9.zip
fsf-binutils-gdb-6e3f953dbdd7f718e2e1fdaac67130b2855a0fe9.tar.gz
fsf-binutils-gdb-6e3f953dbdd7f718e2e1fdaac67130b2855a0fe9.tar.bz2
gas/
2005-05-07 H.J. Lu <hongjiu.lu@intel.com> PR 940 * config/tc-ia64.c (start_unwind_section): Properly check comdat group with SHF_GROUP. gas/testsuite/ 2005-05-07 H.J. Lu <hongjiu.lu@intel.com> PR 940 * gas/ia64/group-2.d: New. * gas/ia64/group-2.s: New. * gas/ia64/ia64.exp: Add "group-2".
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-ia64.c3
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/ia64/group-2.d43
-rw-r--r--gas/testsuite/gas/ia64/group-2.s6
-rw-r--r--gas/testsuite/gas/ia64/ia64.exp1
6 files changed, 66 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0317c4d..d79fc66 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2005-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 940
+ * config/tc-ia64.c (start_unwind_section): Properly check
+ comdat group with SHF_GROUP.
+
2005-05-06 Bob Wilson <bob.wilson@acm.org>
* doc/c-xtensa.texi (Literal Directive): Spelling correction.
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 729ce27..43b79e5 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -3535,7 +3535,8 @@ start_unwind_section (const segT text_seg, int sec_index)
sec_name [sec_name_len] = '\0';
/* Handle COMDAT group. */
- if (suffix == text_name && (text_seg->flags & SEC_LINK_ONCE) != 0)
+ if ((text_seg->flags & SEC_LINK_ONCE) != 0
+ && (elf_section_flags (text_seg) & SHF_GROUP) != 0)
{
char *section;
size_t len, group_name_len;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index bcd4da6..96eb870 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2005-05-07 H.J. Lu <hongjiu.lu@intel.com>
+ PR 940
+ * gas/ia64/group-2.d: New.
+ * gas/ia64/group-2.s: New.
+
+ * gas/ia64/ia64.exp: Add "group-2".
+
+2005-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
PR 843
* gas/i386/i386.exp: Add x86-64-branch.
diff --git a/gas/testsuite/gas/ia64/group-2.d b/gas/testsuite/gas/ia64/group-2.d
new file mode 100644
index 0000000..37ef925
--- /dev/null
+++ b/gas/testsuite/gas/ia64/group-2.d
@@ -0,0 +1,43 @@
+#readelf: -Sg
+#as: -x
+#name: ia64 unwind group
+
+There are 12 section headers, starting at offset 0x100:
+
+Section Headers:
+ \[Nr\] Name Type Address Offset
+ Size EntSize Flags Link Info Align
+ \[ 0\] NULL 0000000000000000 00000000
+ 0000000000000000 0000000000000000 0 0 0
+ \[ 1\] \.group GROUP 0000000000000000 00000040
+ 0000000000000010 0000000000000004 10 5 4
+ \[ 2\] \.text PROGBITS 0000000000000000 00000050
+ 0000000000000000 0000000000000000 AX 0 0 16
+ \[ 3\] \.data PROGBITS 0000000000000000 00000050
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 4\] \.bss NOBITS 0000000000000000 00000050
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 5\] \.gnu\.linkonce\.t\.f PROGBITS 0000000000000000 00000050
+ 0000000000000000 0000000000000000 AXG 0 0 16
+ \[ 6\] \.gnu\.linkonce\.ia6 PROGBITS 0000000000000000 00000050
+ 0000000000000010 0000000000000000 AG 0 0 8
+ \[ 7\] \.gnu\.linkonce\.ia6 IA_64_UNWIND 0000000000000000 00000060
+ 0000000000000018 0000000000000000 ALG 5 5 8
+ \[ 8\] \.rela\.gnu\.linkonc RELA 0000000000000000 000004e0
+ 0000000000000048 0000000000000018 10 7 8
+ \[ 9\] \.shstrtab STRTAB 0000000000000000 00000078
+ 0000000000000081 0000000000000000 0 0 1
+ \[10\] \.symtab SYMTAB 0000000000000000 00000400
+ 00000000000000d8 0000000000000018 11 9 8
+ \[11\] \.strtab STRTAB 0000000000000000 000004d8
+ 0000000000000005 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\)
+
+COMDAT group section `\.group' \[foo\] contains 3 sections:
+ \[Index\] Name
+ \[ 5\] \.gnu\.linkonce\.t\.foo
+ \[ 6\] \.gnu\.linkonce\.ia64unwi\.foo
+ \[ 7\] \.gnu\.linkonce\.ia64unw\.foo
diff --git a/gas/testsuite/gas/ia64/group-2.s b/gas/testsuite/gas/ia64/group-2.s
new file mode 100644
index 0000000..6ddc94c
--- /dev/null
+++ b/gas/testsuite/gas/ia64/group-2.s
@@ -0,0 +1,6 @@
+ .section .gnu.linkonce.t.foo,"axG",@progbits,foo,comdat
+ .proc foo#
+foo:
+ .prologue 12, 33
+ ;;
+ .endp foo#
diff --git a/gas/testsuite/gas/ia64/ia64.exp b/gas/testsuite/gas/ia64/ia64.exp
index cf384a4..f6e9530 100644
--- a/gas/testsuite/gas/ia64/ia64.exp
+++ b/gas/testsuite/gas/ia64/ia64.exp
@@ -71,6 +71,7 @@ if [istarget "ia64-*"] then {
run_dump_test "alias"
run_dump_test "xdata"
run_dump_test "group-1"
+ run_dump_test "group-2"
}
run_dump_test "bundling"