diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
commit | a7e831079363e3bb45f3172f6e59ba48e335682b (patch) | |
tree | ee4324eac9a9d66f189fab60498ec42b8226b7fc /gnu/usr.bin/binutils/ld/ldctor.c | |
parent | 467cb0a471d13c5186a6ee166e60b47c30da64e9 (diff) |
Bring Cygnus versions into the trunk, keeping our local patches
Diffstat (limited to 'gnu/usr.bin/binutils/ld/ldctor.c')
-rw-r--r-- | gnu/usr.bin/binutils/ld/ldctor.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils/ld/ldctor.c b/gnu/usr.bin/binutils/ld/ldctor.c index 5ebc494596d..d986f321287 100644 --- a/gnu/usr.bin/binutils/ld/ldctor.c +++ b/gnu/usr.bin/binutils/ld/ldctor.c @@ -120,6 +120,7 @@ ldctor_build_sets () { static boolean called; lang_statement_list_type *old; + boolean header_printed; struct set_info *p; /* The emulation code may call us directly, but we only want to do @@ -133,6 +134,7 @@ ldctor_build_sets () lang_list_init (stat_ptr); + header_printed = false; for (p = sets; p != (struct set_info *) NULL; p = p->next) { struct set_element *e; @@ -201,6 +203,36 @@ ldctor_build_sets () for (e = p->elements; e != (struct set_element *) NULL; e = e->next) { + if (config.map_file != NULL) + { + int len; + + if (! header_printed) + { + minfo ("\nSet Symbol\n\n"); + header_printed = true; + } + + minfo ("%s", p->h->root.string); + len = strlen (p->h->root.string); + + if (len >= 19) + { + print_nl (); + len = 0; + } + while (len < 20) + { + print_space (); + ++len; + } + + if (e->name != NULL) + minfo ("%T\n", e->name); + else + minfo ("%G\n", e->section->owner, e->section, e->value); + } + if (link_info.relocateable) lang_add_reloc (p->reloc, howto, e->section, e->name, exp_intop (e->value)); |