X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ld%2Fldmain.c;h=7b2d703a1f8a5f07d24b93195d18a346340c0bea;hb=0b7e56ac2bd3378132f0ce3cb96ed747038d7788;hp=b132dae62dfd0e60d855836b5f81abdca4962650;hpb=61e2488cd8497d158303a78563ad40f51f5c3f8e;p=platform%2Fupstream%2Fbinutils.git diff --git a/ld/ldmain.c b/ld/ldmain.c index b132dae..7b2d703 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -137,7 +137,7 @@ static bfd_boolean unattached_reloc (struct bfd_link_info *, const char *, bfd *, asection *, bfd_vma); static bfd_boolean notice (struct bfd_link_info *, struct bfd_link_hash_entry *, - bfd *, asection *, bfd_vma, flagword, const char *); + struct bfd_link_hash_entry *, bfd *, asection *, bfd_vma, flagword); static struct bfd_link_callbacks link_callbacks = { @@ -276,9 +276,11 @@ main (int argc, char **argv) link_info.allow_undefined_version = TRUE; link_info.keep_memory = TRUE; + link_info.new_dtags = TRUE; link_info.combreloc = TRUE; link_info.strip_discarded = TRUE; link_info.emit_hash = TRUE; + link_info.emit_gnu_hash = TRUE; link_info.callbacks = &link_callbacks; link_info.input_bfds_tail = &link_info.input_bfds; /* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init @@ -432,7 +434,14 @@ main (int argc, char **argv) output_cref (config.map_file != NULL ? config.map_file : stdout); if (nocrossref_list != NULL) check_nocrossrefs (); +#if 0 + { + struct bfd_link_hash_entry * h; + h = bfd_link_hash_lookup (link_info.hash, "__image_base__", 0,0,1); + fprintf (stderr, "lookup = %p val %lx\n", h, h ? h->u.def.value : 1); + } +#endif lang_finish (); /* Even if we're producing relocatable output, some non-fatal errors should @@ -604,8 +613,10 @@ get_emulation (int argc, char **argv) || strcmp (argv[i], "-mips5") == 0 || strcmp (argv[i], "-mips32") == 0 || strcmp (argv[i], "-mips32r2") == 0 + || strcmp (argv[i], "-mips32r6") == 0 || strcmp (argv[i], "-mips64") == 0 - || strcmp (argv[i], "-mips64r2") == 0) + || strcmp (argv[i], "-mips64r2") == 0 + || strcmp (argv[i], "-mips64r6") == 0) { /* FIXME: The arguments -mips1, -mips2, -mips3, etc. are passed to the linker by some MIPS compilers. They @@ -1202,7 +1213,7 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED, { bfd *b; /* Search all input files for a reference to SYMBOL. */ - for (b = info->input_bfds; b; b = b->link_next) + for (b = info->input_bfds; b; b = b->link.next) if (b != abfd && symbol_warning (warning, symbol, b)) return TRUE; einfo ("%B: %s%s\n", abfd, _("warning: "), warning); @@ -1454,11 +1465,11 @@ unattached_reloc (struct bfd_link_info *info ATTRIBUTE_UNUSED, static bfd_boolean notice (struct bfd_link_info *info, struct bfd_link_hash_entry *h, + struct bfd_link_hash_entry *inh ATTRIBUTE_UNUSED, bfd *abfd, asection *section, bfd_vma value, - flagword flags ATTRIBUTE_UNUSED, - const char *string ATTRIBUTE_UNUSED) + flagword flags ATTRIBUTE_UNUSED) { const char *name;