diff options
Diffstat (limited to 'gas/config/obj-vms.c')
-rw-r--r-- | gas/config/obj-vms.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/gas/config/obj-vms.c b/gas/config/obj-vms.c index 4e4ab80..3c29d18 100644 --- a/gas/config/obj-vms.c +++ b/gas/config/obj-vms.c @@ -546,18 +546,6 @@ obj_crawl_symbol_chain (headers) symbolS **symbolPP; int symbol_number = 0; - /* JF deal with forward references first... */ - for (symbolP = symbol_rootP; symbolP; symbolP = symbol_next (symbolP)) - { - if (symbolP->sy_forward) - { - S_SET_VALUE (symbolP, S_GET_VALUE (symbolP) - + S_GET_VALUE (symbolP->sy_forward) - + symbolP->sy_forward->sy_frag->fr_address); - symbolP->sy_forward = 0; - } /* if it has a forward reference */ - } /* walk the symbol chain */ - { /* crawl symbol table */ register int symbol_number = 0; @@ -565,8 +553,7 @@ obj_crawl_symbol_chain (headers) symbolPP = &symbol_rootP; /* -> last symbol chain link. */ while ((symbolP = *symbolPP) != NULL) { - S_SET_VALUE (symbolP, - S_GET_VALUE (symbolP) + symbolP->sy_frag->fr_address); + resolve_symbol_value (symbolP); /* OK, here is how we decide which symbols go out into the brave new symtab. Symbols that do are: @@ -4548,7 +4535,8 @@ VMS_Check_For_Main () symbolP->sy_name_offset = 0; symbolP->sy_number = 0; symbolP->sy_frag = New_Frag; - symbolP->sy_forward = 0; + symbolP->sy_resolved = 0; + symbolP->sy_resolving = 0; /* this actually inserts at the beginning of the list */ symbol_append (symbol_rootP, symbolP, &symbol_rootP, &symbol_lastP); |