From 8fb6931a285365089b3e285f13c2f54fcba2a41c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 28 Jan 1998 18:49:01 +0000 Subject: [PATCH] * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. --- gas/ChangeLog | 4 ++++ gas/config/obj-coff.h | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 67ed5c5409f..3d3edd3eff7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +Wed Jan 28 13:48:08 1998 Ian Lance Taylor + + * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. + Fri Jan 28 10:18:06 1998 Bill Moyer * as.h (flag_warn_instructionswap): added new flag variable. diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h index ed41cd0639f..0148c639b24 100644 --- a/gas/config/obj-coff.h +++ b/gas/config/obj-coff.h @@ -795,6 +795,18 @@ extern void obj_coff_pe_handle_link_once (); #endif /* not BFD_ASSEMBLER */ +/* In COFF, if a symbol is defined using .def/.val SYM/.endef, it's OK + to redefine the symbol later on. This can happen if C symbols use + a prefix, and a symbol is defined both with and without the prefix, + as in start/_start/__start in gcc/libgcc1-test.c. */ +#define RESOLVE_SYMBOL_REDEFINITION(sym) \ +(SF_GET_GET_SEGMENT (sym) \ + ? (sym->sy_frag = frag_now, \ + S_SET_VALUE (sym, frag_now_fix ()), \ + S_SET_SEGMENT (sym, now_seg), \ + 0) \ + : 0) + /* Stabs in a coff file go into their own section. */ #define SEPARATE_STAB_SECTIONS 1 -- 2.30.2