From f5795b0849504dbcaa446d89721b9a3fb4731ff3 Mon Sep 17 00:00:00 2001 From: Catherine Moore Date: Thu, 24 Feb 2000 13:37:02 +0000 Subject: [PATCH] * config/obj-som.c (obj_pseudo_table): Add "weak". (obj_som_weak): New routine. --- gas/ChangeLog | 5 +++++ gas/config/obj-som.c | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f21ef473327..2b02039fd9d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2000-02-24 Catherine Moore + + * config/obj-som.c (obj_pseudo_table): Add "weak". + (obj_som_weak): New routine. + 2000-02-24 Alan Modra * config/tc-i386.c (union i386_op): New. diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c index 80af18fd37b..65d4adad58c 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 (); +} + -- 2.30.2