aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 1c481a6..378df9a 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -1401,7 +1401,7 @@ obj_elf_size (ignore)
}
/* Handle the ELF .type pseudo-op. This sets the type of a symbol.
- There are four syntaxes:
+ There are five syntaxes:
The first (used on Solaris) is
.type SYM,#function
@@ -1411,6 +1411,8 @@ obj_elf_size (ignore)
.type SYM STT_FUNC
The fourth (used on NetBSD/Arm and Linux/ARM) is
.type SYM,%function
+ The fifth (used on SVR4/860) is
+ .type SYM,"function"
*/
static void
@@ -1435,6 +1437,7 @@ obj_elf_type (ignore)
SKIP_WHITESPACE ();
if ( *input_line_pointer == '#'
|| *input_line_pointer == '@'
+ || *input_line_pointer == '"'
|| *input_line_pointer == '%')
++input_line_pointer;
@@ -1453,6 +1456,9 @@ obj_elf_type (ignore)
*input_line_pointer = c;
+ if (*input_line_pointer == '"')
+ ++input_line_pointer;
+
symbol_get_bfdsym (sym)->flags |= type;
demand_empty_rest_of_line ();