diff options
Diffstat (limited to 'lib/linker.c')
-rw-r--r-- | lib/linker.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/linker.c b/lib/linker.c index 0be4cfc..81fc507 100644 --- a/lib/linker.c +++ b/lib/linker.c @@ -238,27 +238,29 @@ static void dumprelog(FILE * f) exception(1, _("Internal error")); break; } + fprintf(stderr, "Relogement effectué sur %i, de %i octets pour le symbole %s\n", s->offset, decal, s->name); objects[s->objindex]->text[s->offset] += decal; writeword(objects[s->objindex]->textstart + s->offset, f); break; case 3: /* data */ switch (t->type) { case 0: - objects[s->objindex]->data[s->offset] += + decal = objects[t->objindex]->textstart + t->offset; break; case 2: - objects[s->objindex]->data[s->offset] += + decal = textsize + objects[t->objindex]->datastart + t->offset; break; case 4: - objects[s->objindex]->data[s->offset] += + decal = textsize + datasize + objects[t->objindex]->bssstart + t->offset; break; default: exception(1, _("Internal error")); break; } + objects[s->objindex]->data[s->offset] += decal; writeword(textsize + objects[s->objindex]->datastart + s->offset, f); break; default: |