aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog2
-rw-r--r--gas/config/tc-ppc.c19
2 files changed, 17 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7610363..8f2fee2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -23,6 +23,8 @@ Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com>
+ * config/tc-ppc.c (ppc_lglobl): Do the right thing.
+
* config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
(ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
(ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index f2d9b22..80e432e 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -2086,15 +2086,26 @@ ppc_extern (ignore)
demand_empty_rest_of_line ();
}
-/* The .lglobl pseudo-op. I think the RS/6000 assembler only needs
- this because it can't handle undefined symbols. I think we can
- just ignore it. */
+/* The .lglobl pseudo-op. Keep the symbol in the symbol table. */
static void
ppc_lglobl (ignore)
int ignore;
{
- s_ignore (0);
+ char *name;
+ char endc;
+ symbolS *sym;
+
+ name = input_line_pointer;
+ endc = get_symbol_end ();
+
+ sym = symbol_find_or_make (name);
+
+ *input_line_pointer = endc;
+
+ sym->sy_tc.output = 1;
+
+ demand_empty_rest_of_line ();
}
/* The .rename pseudo-op. The RS/6000 assembler can rename symbols,