diff options
author | Geoffrey Keating <geoffk@geoffk.org> | 1999-09-28 04:13:25 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@geoffk.org> | 1999-09-28 04:13:25 +0000 |
commit | fba2b7f93ec2bd58fc9fe390d112575b69516347 (patch) | |
tree | 1dc46e95fb88d55b65a8e160b2c11eba0916db6e /gas/config | |
parent | d02f29adb2b49fd2dfa8451e8a37b3d568b7e90c (diff) | |
download | gdb-fba2b7f93ec2bd58fc9fe390d112575b69516347.zip gdb-fba2b7f93ec2bd58fc9fe390d112575b69516347.tar.gz gdb-fba2b7f93ec2bd58fc9fe390d112575b69516347.tar.bz2 |
* config/tc-mips.c (nopic_need_relax): Allow for the
.sdata.foo sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 3df6adf..e67b99f 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -294,8 +294,9 @@ static int g_switch_seen = 0; better. This function can only provide a guess, but it seems to work for - gcc output. If it guesses wrong, the only loss should be in - efficiency; it shouldn't introduce any bugs. + gcc output. It needs to guess right for gcc, otherwise gcc + will put what it thinks is a GP-relative instruction in a branch + delay slot. I don't know if a fix is needed for the SVR4_PIC mode. I've only fixed it for the non-PIC mode. KR 95/04/07 */ @@ -10625,7 +10626,9 @@ nopic_need_relax (sym, before_relaxing) assert (strcmp (segname, ".lit8") != 0 && strcmp (segname, ".lit4") != 0); change = (strcmp (segname, ".sdata") != 0 - && strcmp (segname, ".sbss") != 0); + && strcmp (segname, ".sbss") != 0 + && strncmp (segname, ".sdata.", 7) != 0 + && strncmp (segname, ".gnu.linkonce.s.", 16) != 0); } return change; } |