diff options
author | Dario Bertini <berdario@google.com> | 2018-11-16 15:48:36 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-11-22 16:06:09 -0500 |
commit | b44caa05ad949519431059b07370615c0f513c9c (patch) | |
tree | ebe7fa87c1092b4e71a00f7448af00c425a0eb61 | |
parent | 65ced246a0e0b1387a998cc70f4476be06bf67c3 (diff) | |
download | haskell-b44caa05ad949519431059b07370615c0f513c9c.tar.gz |
rts/MachO: A bit of refactoring in ocGetNames
Eliminates a bit of repetition.
(cherry picked from commit b2f6f896a0bae0e68ec629bd6817a2cb2533a12c)
-rw-r--r-- | rts/linker/MachO.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/rts/linker/MachO.c b/rts/linker/MachO.c index 70acb16498..b5caa7b7a4 100644 --- a/rts/linker/MachO.c +++ b/rts/linker/MachO.c @@ -1612,7 +1612,6 @@ ocGetNames_MachO(ObjectCode* oc) "ocGetNames_MachO(oc->symbols)"); if (oc->info->symCmd) { - debugBelch("ocGetNames_MachO: %d macho symbols\n", oc->info->n_macho_symbols); for (size_t i = 0; i < oc->info->n_macho_symbols; i++) { SymbolName* nm = oc->info->macho_symbols[i].name; if(oc->info->nlist[i].n_type & N_STAB) @@ -1662,14 +1661,14 @@ ocGetNames_MachO(ObjectCode* oc) if (oc->info->symCmd) { for (int i = 0; i < oc->n_symbols; i++) { - if((oc->info->nlist[i].n_type & N_TYPE) == N_UNDF - && (oc->info->nlist[i].n_type & N_EXT) - && (oc->info->nlist[i].n_value != 0)) { - - SymbolName* nm = oc->info->macho_symbols[i].name; - unsigned long sz = oc->info->nlist[i].n_value; + SymbolName* nm = oc->info->macho_symbols[i].name; + MachONList *nlist = &oc->info->nlist[i]; + if((nlist->n_type & N_TYPE) == N_UNDF + && (nlist->n_type & N_EXT) + && (nlist->n_value != 0)) { + unsigned long sz = nlist->n_value; - oc->info->nlist[i].n_value = commonCounter; + nlist->n_value = commonCounter; /* also set the final address to the macho_symbol */ oc->info->macho_symbols[i].addr = (void*)commonCounter; |