summaryrefslogtreecommitdiff
path: root/labels.c
diff options
context:
space:
mode:
authorCharles Crayne <chuck@thor.crayne.org>2008-03-03 14:43:55 -0800
committerCharles Crayne <chuck@thor.crayne.org>2008-03-03 14:43:55 -0800
commit82e94990adbb616aa261194693db3bbf908efa51 (patch)
tree145bdcd4808432d784a46c5f4e4b8bc5b07c87a0 /labels.c
parent90131d500b8000edd5b4e49fbccbedcd8b7c038e (diff)
downloadnasm-82e94990adbb616aa261194693db3bbf908efa51.tar.gz
nasm-82e94990adbb616aa261194693db3bbf908efa51.tar.bz2
nasm-82e94990adbb616aa261194693db3bbf908efa51.zip
Eliminate duplicate symbol definitions
Don't accept -1 as an odd numbered segment
Diffstat (limited to 'labels.c')
-rw-r--r--labels.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/labels.c b/labels.c
index 1ea35cf..e5412e0 100644
--- a/labels.c
+++ b/labels.c
@@ -281,7 +281,7 @@ void define_label(char *label, int32_t segment, int64_t offset, char *special,
lptr->defn.offset = offset;
lptr->defn.is_norm = (!islocalchar(label[0]) && is_norm);
- if (pass0 == 1 || (!is_norm && !isextrn && (segment & 1))) {
+ if (pass0 == 1 || (!is_norm && !isextrn && (segment > 0) && (segment & 1))) {
exi = !!(lptr->defn.is_global & GLOBAL_BIT);
if (exi) {
char *xsymbol;