From 2dc135481bfba526071fb269b37267f712e3b2ed Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 8 Dec 2009 03:14:28 +0000 Subject: Call symbol_same_p to check to if 2 symbols are the same. gas/ 2009-12-07 H.J. Lu PR gas/11037 * expr.c (resolve_expression): Call symbol_same_p to check if 2 symbols are the same. * symbols.c (symbol_same_p): New. * symbols.h (symbol_same_p): Likewise. gas/testsuite/ 2009-12-07 H.J. Lu PR gas/11037 * gas/i386/intelpic.s: Add testcases. * gas/i386/intelpic.d: Updated. --- gas/symbols.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gas/symbols.c') diff --git a/gas/symbols.c b/gas/symbols.c index 4cfa85b103..5eda2cbbd2 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -2385,6 +2385,20 @@ symbol_set_value_expression (symbolS *s, const expressionS *exp) S_CLEAR_WEAKREFR (s); } +/* Return whether 2 symbols are the same. */ + +int +symbol_same_p (symbolS *s1, symbolS *s2) +{ + if (s1->bsym == NULL + && local_symbol_converted_p ((struct local_symbol *) s1)) + s1 = local_symbol_get_real_symbol ((struct local_symbol *) s1); + if (s2->bsym == NULL + && local_symbol_converted_p ((struct local_symbol *) s2)) + s2 = local_symbol_get_real_symbol ((struct local_symbol *) s2); + return s1 == s2; +} + /* Return a pointer to the X_add_number component of a symbol. */ offsetT * -- cgit v1.2.1