aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-coff.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-07-20 23:38:05 +0000
committerDJ Delorie <dj@redhat.com>2000-07-20 23:38:05 +0000
commit5e0d736c33212f65c04257e70f4ea29bc194d22e (patch)
tree1d41a32ffac72a4d260f9718f39fe28c340f3edb /gas/config/obj-coff.c
parent699845ef7b7225a4de45fafc7e3641b6ac8d1a2b (diff)
downloadgdb-5e0d736c33212f65c04257e70f4ea29bc194d22e.zip
gdb-5e0d736c33212f65c04257e70f4ea29bc194d22e.tar.gz
gdb-5e0d736c33212f65c04257e70f4ea29bc194d22e.tar.bz2
* config/obj-coff.c (obj_frob_symbol): revert previous change,
it breaks linking against DLLs.
Diffstat (limited to 'gas/config/obj-coff.c')
-rw-r--r--gas/config/obj-coff.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 6da6118..41fc595 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -1139,30 +1139,24 @@ coff_frob_symbol (symp, punt)
symbolS *real;
if (!SF_GET_LOCAL (symp)
&& !SF_GET_STATICS (symp)
- && S_GET_STORAGE_CLASS (symp) != C_LABEL
- && symbol_constant_p(symp)
&& (real = symbol_find_base (S_GET_NAME (symp), DO_NOT_STRIP))
&& real != symp)
{
c_symbol_merge (symp, real);
*punt = 1;
}
- if (S_GET_STORAGE_CLASS (symp) == C_NULL)
+ if (!S_IS_DEFINED (symp) && !SF_GET_LOCAL (symp))
{
- if (!S_IS_DEFINED (symp) && !SF_GET_LOCAL (symp))
- {
- assert (S_GET_VALUE (symp) == 0);
- S_SET_EXTERNAL (symp);
- }
- else if (S_GET_SEGMENT (symp) == text_section
- && symp != seg_info (text_section)->sym)
- {
- S_SET_STORAGE_CLASS (symp, C_LABEL);
- }
+ assert (S_GET_VALUE (symp) == 0);
+ S_SET_EXTERNAL (symp);
+ }
+ else if (S_GET_STORAGE_CLASS (symp) == C_NULL)
+ {
+ if (S_GET_SEGMENT (symp) == text_section
+ && symp != seg_info (text_section)->sym)
+ S_SET_STORAGE_CLASS (symp, C_LABEL);
else
- {
- S_SET_STORAGE_CLASS (symp, C_STAT);
- }
+ S_SET_STORAGE_CLASS (symp, C_STAT);
}
if (SF_GET_PROCESS (symp))
{