diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 19 | ||||
-rw-r--r-- | bfd/Makefile.am | 2 | ||||
-rw-r--r-- | bfd/Makefile.in | 3 | ||||
-rwxr-xr-x | bfd/configure | 6 | ||||
-rw-r--r-- | bfd/configure.in | 1 | ||||
-rw-r--r-- | bfd/elf.c | 57 | ||||
-rw-r--r-- | bfd/version.h | 2 |
7 files changed, 47 insertions, 43 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4c3e181cb4e..57c7e173bc4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,20 @@ +2012-10-15 Doug Evans <dje@google.com> + + * elf.c (special_sections_d): Add comment. + +2012-10-13 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am (LIBDL): Replace -ldl with @lt_cv_dlopen_libs@. + * configure.in (lt_cv_dlopen_libs): AC_SUBST. + * Makefile.in: Regenerated. + * configure: Likewise. + +2012-10-08 Alan Modra <amodra@gmail.com> + + PR binutils/14662 + * elf.c (_bfd_elf_make_section_from_shdr): Treat .gdb_index as + SEC_DEBUGGING. + 2012-09-20 Walter Lee <walt@tilera.com> * elf32-tilepro.c (tilepro_elf_relocate_section): Adjust got @@ -11,7 +28,7 @@ 2012-09-18 H.J. Lu <hongjiu.lu@intel.com> PR ld/14591 - * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return + * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return if the old symbol is weak. * elf32-sh-symbian.c (sh_symbian_relocate_section): Update diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 49f9662272f..2ac03e9577c 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -35,7 +35,7 @@ AM_CFLAGS = $(WARN_CFLAGS) AM_CPPFLAGS = -DBINDIR='"$(bindir)"' if PLUGINS bfdinclude_HEADERS += $(INCDIR)/plugin-api.h -LIBDL = -ldl +LIBDL = @lt_cv_dlopen_libs@ endif # bfd.h goes here, for now diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 5718fab60c3..7b0f8637e47 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -293,6 +293,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_cv_dlopen_libs = @lt_cv_dlopen_libs@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -336,7 +337,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -release `cat libtool-soversion` \ @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la AM_CFLAGS = $(WARN_CFLAGS) AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -@PLUGINS_TRUE@LIBDL = -ldl +@PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@ # bfd.h goes here, for now BFD_H = bfd.h diff --git a/bfd/configure b/bfd/configure index d81719d3284..fdf5356bc00 100755 --- a/bfd/configure +++ b/bfd/configure @@ -606,6 +606,7 @@ havevecs tdefaults bfd_ufile_ptr bfd_file_ptr +lt_cv_dlopen_libs supports_plugins bfd_default_target_size bfd_machines @@ -11414,7 +11415,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11417 "configure" +#line 11418 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11520,7 +11521,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11523 "configure" +#line 11524 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15633,6 +15634,7 @@ else fi + # Determine the host dependant file_ptr a.k.a. off_t type. In order # prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and # fseeko, long. This assumes that sizeof off_t is .ge. sizeof long. diff --git a/bfd/configure.in b/bfd/configure.in index 612d032fb3f..530bbcb348d 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -1100,6 +1100,7 @@ else supports_plugins=0 fi AC_SUBST(supports_plugins) +AC_SUBST(lt_cv_dlopen_libs) # Determine the host dependant file_ptr a.k.a. off_t type. In order # prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and diff --git a/bfd/elf.c b/bfd/elf.c index b4043b12928..f01480bf836 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -880,45 +880,25 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, { /* The debugging sections appear to be recognized only by name, not any sort of flag. Their SEC_ALLOC bits are cleared. */ - static const struct - { - const char *name; - int len; - } debug_sections [] = - { - { STRING_COMMA_LEN ("debug") }, /* 'd' */ - { NULL, 0 }, /* 'e' */ - { NULL, 0 }, /* 'f' */ - { STRING_COMMA_LEN ("gnu.linkonce.wi.") }, /* 'g' */ - { NULL, 0 }, /* 'h' */ - { NULL, 0 }, /* 'i' */ - { NULL, 0 }, /* 'j' */ - { NULL, 0 }, /* 'k' */ - { STRING_COMMA_LEN ("line") }, /* 'l' */ - { NULL, 0 }, /* 'm' */ - { NULL, 0 }, /* 'n' */ - { NULL, 0 }, /* 'o' */ - { NULL, 0 }, /* 'p' */ - { NULL, 0 }, /* 'q' */ - { NULL, 0 }, /* 'r' */ - { STRING_COMMA_LEN ("stab") }, /* 's' */ - { NULL, 0 }, /* 't' */ - { NULL, 0 }, /* 'u' */ - { NULL, 0 }, /* 'v' */ - { NULL, 0 }, /* 'w' */ - { NULL, 0 }, /* 'x' */ - { NULL, 0 }, /* 'y' */ - { STRING_COMMA_LEN ("zdebug") } /* 'z' */ - }; - if (name [0] == '.') { - int i = name [1] - 'd'; - if (i >= 0 - && i < (int) ARRAY_SIZE (debug_sections) - && debug_sections [i].name != NULL - && strncmp (&name [1], debug_sections [i].name, - debug_sections [i].len) == 0) + const char *p; + int n; + if (name[1] == 'd') + p = ".debug", n = 6; + else if (name[1] == 'g' && name[2] == 'n') + p = ".gnu.linkonce.wi.", n = 17; + else if (name[1] == 'g' && name[2] == 'd') + p = ".gdb_index", n = 11; /* yes we really do mean 11. */ + else if (name[1] == 'l') + p = ".line", n = 5; + else if (name[1] == 's') + p = ".stab", n = 5; + else if (name[1] == 'z') + p = ".zdebug", n = 7; + else + p = NULL, n = 0; + if (p != NULL && strncmp (name, p, n) == 0) flags |= SEC_DEBUGGING; } } @@ -2081,6 +2061,9 @@ static const struct bfd_elf_special_section special_sections_d[] = { { STRING_COMMA_LEN (".data"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, { STRING_COMMA_LEN (".data1"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, + /* There are more DWARF sections than these, but they needn't be added here + unless you have to cope with broken compilers that don't emit section + attributes or you want to help the user writing assembler. */ { STRING_COMMA_LEN (".debug"), 0, SHT_PROGBITS, 0 }, { STRING_COMMA_LEN (".debug_line"), 0, SHT_PROGBITS, 0 }, { STRING_COMMA_LEN (".debug_info"), 0, SHT_PROGBITS, 0 }, diff --git a/bfd/version.h b/bfd/version.h index d79ddf07685..a9c10eff426 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20120930 +#define BFD_VERSION_DATE 20121015 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ |