diff options
author | Catherine Moore <clm@redhat.com> | 2000-02-24 13:37:02 +0000 |
---|---|---|
committer | Catherine Moore <clm@redhat.com> | 2000-02-24 13:37:02 +0000 |
commit | d4067d8b9bae2e8085c48facbfabefdec8f118a5 (patch) | |
tree | 0f9a485116be9cc60ebd8576c3903bc12c152913 /gas/config/obj-som.c | |
parent | 930fcc129f0e9bb9f1ce97ad3cfa43a452e7c330 (diff) | |
download | binutils-redhat-d4067d8b9bae2e8085c48facbfabefdec8f118a5.tar.gz |
* config/obj-som.c (obj_pseudo_table): Add "weak".
(obj_som_weak): New routine.
Diffstat (limited to 'gas/config/obj-som.c')
-rw-r--r-- | gas/config/obj-som.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c index 80af18fd37..65d4adad58 100644 --- a/gas/config/obj-som.c +++ b/gas/config/obj-som.c @@ -26,11 +26,11 @@ #include "aout/stab_gnu.h" #include "obstack.h" -/* SOM does not need any pseudo-ops. */ +static void obj_som_weak PARAMS ((int)); const pseudo_typeS obj_pseudo_table[] = { - {NULL} + {"weak", obj_som_weak, 0} }; static int version_seen = 0; @@ -305,3 +305,35 @@ som_frob_file () { bfd_map_over_sections (stdoutput, adjust_stab_sections, (PTR) 0); } + +static void +obj_som_weak (ignore) + int ignore ATTRIBUTE_UNUSED; +{ + char *name; + int c; + symbolS *symbolP; + + do + { + name = input_line_pointer; + c = get_symbol_end (); + symbolP = symbol_find_or_make (name); + *input_line_pointer = c; + SKIP_WHITESPACE (); + S_SET_WEAK (symbolP); +#if 0 + symbol_get_obj (symbolP)->local = 1; +#endif + if (c == ',') + { + input_line_pointer++; + SKIP_WHITESPACE (); + if (*input_line_pointer == '\n') + c = '\n'; + } + } + while (c == ','); + demand_empty_rest_of_line (); +} + |