diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2005-11-17 13:32:27 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2005-11-17 13:32:27 +0000 |
commit | 461b725f29e97e9270f3136b19df3513e8798b15 (patch) | |
tree | d38c96f5420e04f190fc5d996fa949908df85fec | |
parent | b57d375bdea3e29a7636cc9f786b55733f0bb9f2 (diff) | |
download | gdb-461b725f29e97e9270f3136b19df3513e8798b15.zip gdb-461b725f29e97e9270f3136b19df3513e8798b15.tar.gz gdb-461b725f29e97e9270f3136b19df3513e8798b15.tar.bz2 |
* config/tc-ppc.c (ppc_frob_file_before_adjust): Do not reference
dotname.
* write.c (write_object_file): Do not remove used weakrefd.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 2 | ||||
-rw-r--r-- | gas/write.c | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 63a84e1..e452f79 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2005-11-17 Alexandre Oliva <aoliva@redhat.com> + + * config/tc-ppc.c (ppc_frob_file_before_adjust): Do not reference + dotname. + * write.c (write_object_file): Do not remove used weakrefd. + 2005-11-17 Jan Beulich <jbeulich@novell.com> * dw2gencfi.c (dot_cfi): Put argument parsing for cases diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 35a5c2b..d5bdb9e 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1931,7 +1931,7 @@ ppc_frob_file_before_adjust () dotname = xmalloc (len + 1); dotname[0] = '.'; memcpy (dotname + 1, name, len); - dotsym = symbol_find (dotname); + dotsym = symbol_find_noref (dotname, 1); free (dotname); if (dotsym != NULL && (symbol_used_p (dotsym) || symbol_used_in_reloc_p (dotsym))) diff --git a/gas/write.c b/gas/write.c index f86930b..5c336d8 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1513,7 +1513,8 @@ write_object_file (void) opposites. Sometimes the former checks flags and the latter examines the name... */ || (!S_IS_EXTERNAL (symp) - && (punt || S_IS_LOCAL (symp) || S_IS_WEAKREFD (symp)) + && (punt || S_IS_LOCAL (symp) || + (S_IS_WEAKREFD (symp) && ! symbol_used_p (symp))) && ! symbol_used_in_reloc_p (symp))) { symbol_remove (symp, &symbol_rootP, &symbol_lastP); |