aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c4
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/mips/aent.d14
-rw-r--r--gas/testsuite/gas/mips/aent.s19
-rw-r--r--gas/testsuite/gas/mips/mips.exp2
6 files changed, 48 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c1adad5..1bdb37e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-19 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * config/tc-mips.c (s_mips_ent): Also set BSF_FUNCTION for
+ ".aent".
+
2009-12-18 Steve Ellcey <sje@cup.hp.com>
* config/tc-hppa.c: Change access to access_ctr.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index ff2ffc6..94128fe 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -15047,8 +15047,6 @@ s_mips_ent (int aent)
cur_proc_ptr->func_sym = symbolP;
- symbol_get_bfdsym (symbolP)->flags |= BSF_FUNCTION;
-
++numprocs;
if (debug_type == DEBUG_STABS)
@@ -15056,6 +15054,8 @@ s_mips_ent (int aent)
S_GET_NAME (symbolP));
}
+ symbol_get_bfdsym (symbolP)->flags |= BSF_FUNCTION;
+
demand_empty_rest_of_line ();
}
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index bad0ab9..e792894 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-19 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * gas/mips/aent.d: New test.
+ * gas/mips/aent.s: Source for the new test.
+ * gas/mips/mips.exp: Run it.
+
2009-12-17 Nick Clifton <nickc@redhat.com>
PR binutils/10924
diff --git a/gas/testsuite/gas/mips/aent.d b/gas/testsuite/gas/mips/aent.d
new file mode 100644
index 0000000..21d13d4
--- /dev/null
+++ b/gas/testsuite/gas/mips/aent.d
@@ -0,0 +1,14 @@
+#objdump: -dr --prefix-addresses
+#name: MIPS .aent directive
+#as: -32
+
+# Test the .aent directive retains function symbol type annotation.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <foo[^>]*> sllv v0,a0,a2
+[0-9a-f]+ <foo[^>]*> srav t0,t2,t4
+[0-9a-f]+ <bar[^>]*> sllv v0,a0,a2
+[0-9a-f]+ <bar[^>]*> srav t0,t2,t4
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/aent.s b/gas/testsuite/gas/mips/aent.s
new file mode 100644
index 0000000..4061fda
--- /dev/null
+++ b/gas/testsuite/gas/mips/aent.s
@@ -0,0 +1,19 @@
+ .text
+
+ .globl foo
+ .ent foo
+foo:
+ sllv $2, $4, $6
+ srav $8, $10, $12
+
+ .globl bar
+ .aent bar
+bar:
+ sllv $2, $4, $6
+ srav $8, $10, $12
+
+ .end foo
+ .size foo, . - foo
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .space 8
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index b1adde0..14ce5cc 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -841,4 +841,6 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "mips32-sync"
if $has_newabi { run_dump_test "cfi-n64-1" }
+
+ run_dump_test_arches "aent" [mips_arch_list_matching mips1]
}