From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7097 invoked by alias); 13 Apr 2009 12:45:15 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 6968 invoked by uid 9674); 13 Apr 2009 12:45:09 -0000 Date: Mon, 13 Apr 2009 12:45:00 -0000 Message-ID: <20090413124508.6940.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-vla: Merge commit 'origin/archer-jankratochvil-type-refcount' into archer-jankratochvil-vla X-Git-Refname: refs/heads/archer-jankratochvil-vla X-Git-Reftype: branch X-Git-Oldrev: 65d1da5a7f214bff410818774f7df26286e709f9 X-Git-Newrev: 881bd29df81eedc7958d7370dd66f4ddf7db8106 X-SW-Source: 2009-q2/txt/msg00022.txt.bz2 List-Id: The branch, archer-jankratochvil-vla has been updated via 881bd29df81eedc7958d7370dd66f4ddf7db8106 (commit) via 224991c247553118d391a66362e0ce39149b8c84 (commit) via 312db5820d274cacf18df9d17db8db6ee7120add (commit) via b7d553f9c2d4c82f34b8382872b2db2284ef3713 (commit) via c7b71ada3341f1ea63d847dc614e5745c5092a49 (commit) via 8c8a97c26faad2f287d14b057d48c42d731a1b90 (commit) via 6264123778592841a9d830a9e239ff80204c2239 (commit) via 51e611e59ef80447f07ed0476f504068d42fd775 (commit) via ff6c701adb6a9966217620d43ec6b43a9d312852 (commit) via be7983cb7ce38d81b0f7bc90bd2c27609b7ef842 (commit) via 873e49e51554873ab513e777b21b415f88580252 (commit) via cda2aa99da802fe78bb7ae0890d273abe1796bee (commit) via 6d169f5d7fb14217b0ca0a1c0a4879f9f6d1eaf7 (commit) via f16878a08f198ce8f840c7899912569ca5b5eca1 (commit) via e570d2122a18f43ecb88e517aed9cbbe0d9366e3 (commit) via 4ff14ef244090410bbdede7c358a2f1caf3dd296 (commit) via fc4a41bcd5f8537983ed4d91f695a45817a5ed35 (commit) via 7110d1a769d3a74a21d23df75c6a0a1469fb33c5 (commit) via dd460970019e14fdeaf8a1ba6c4753207be0bb0a (commit) via b686df9e6e345b22074ceed77dcb86f4e361ded2 (commit) via 1f5ab9da427da577af7205b8c9b8454a8e9d1795 (commit) via 95a9df8da03233e3141a1c91177e7fcb59549b95 (commit) via 5de57b35431a6776646e3a9427536f2baa58edf2 (commit) via ffe4cc2650f94d3e14fe62e851438ecae1458815 (commit) via 1a2c3a2d0abf43b0f3cc1475fa17bbd01f403dc6 (commit) via 69dbba1128d95741106242e4e6f8dd2707f498fa (commit) via 83e503e96038bdfe35de2d295843f9d8592db503 (commit) via b26e1d6b06e6121c0e2fbe35d5d9fe466439c692 (commit) via 3d1c07705508f9ab795c686fc6914717a0fd93db (commit) via 6de253ad4708b75320cf6526d3d7b594122fb9c6 (commit) via ada11e78a3c614b359853e28c4769218b4a711f7 (commit) via f94ac9b91bdf97117cc8f463e7b6f45ef66db1ce (commit) via 86a7df441b00165eeada604905e61cb400771384 (commit) via 894d0208190d9346c93f1adcf1f5a47593160e2b (commit) via aae9c797033389c122e7f26c0f4bab9d0dcc1aad (commit) via a8e0f06de098484c540277a6f7cb6572899db65f (commit) via 24bb44fb45020ab5472b36acfee7a21e4d176434 (commit) via 21e1003b5358851e61c2903fb2b0bf3404d696b9 (commit) via ad297f48e009cbdde4a37d13632d540554fd646b (commit) via 56c728254d81aa94cf053346429fb316a4d21758 (commit) via ca17ed0d8f5a3ce133301760ac31c6ec3481a897 (commit) via 8e12ad08281ab7c3143398ae40a582464c650b3a (commit) via b33a0273582fa93b7a90b662225ab22c481b8d99 (commit) via 921d9e38a0b0bc74488722b33f9f57e3344f8cc9 (commit) via 717db4d7eb75eba18e2aff29ea7b2863f80b0e60 (commit) via a48297a9850390ca39cefffb604ff542c46e0a8b (commit) via 87aa5dddd46d4b796d89037003dd1e7804dae1b1 (commit) via d2285dc704228b13702bcba935e33f2128c929e0 (commit) via b139c689051992a369e32fa3a4ed2d4f87ee4024 (commit) via 6407656e8041ddff26ae218bde1b892302699d8c (commit) via 21fde43c54c9ed7790684b3ad25a547d00f8f0a1 (commit) via 09326346a4afccb09444836b5516a85c00e278e9 (commit) via 0d1b5840a9cf65a783c2b5249504313eb97f19ec (commit) via 60d9c0d98008c80bea519229782ea7c43d467e35 (commit) via f5a6970619ce5124d12b9b4f9a0cc01ac2bce57e (commit) via 963f2a6a3f0104843cfad2062f3552f72693ec2e (commit) via b0d9fe41bbea324f8f0a2e3e9ae21d47157482ca (commit) via ef921e6a00e110d1160f097d0bc3e24eccec7021 (commit) via c4d76eb55e3f6d646650fe6eb6a84fcc774fadae (commit) via 0399d51a4c61473d6c2deb03307c8b835bdb33c1 (commit) via 291e01aa1f276a0ad93b16a84eb7395b4ed74bb7 (commit) via 95b678bad929e1c7b1afce3f54e16f25ab3454f9 (commit) via 98e2e632dac98b25d2348ed52d5c3a5b9ff1354b (commit) via 0057111127ac6142b44290b52d48aa794f7a9e66 (commit) via 3b6de6f8d373697fe37913399b6d9f30278f17d5 (commit) via 65044e84f4249a97bad6af1b16519b9f6c5cfe20 (commit) via 9692420af000095349714f082c59f16bde318790 (commit) via 1090824bdc02e113526009388fc29547272023b0 (commit) via 84a293ce5590a3ad6b21ab54ea21d7bc28784ba5 (commit) via 81a24c2b3ec584ea6a0c98a6c1634218c9ea717d (commit) from 65d1da5a7f214bff410818774f7df26286e709f9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 881bd29df81eedc7958d7370dd66f4ddf7db8106 Merge: 65d1da5a7f214bff410818774f7df26286e709f9 224991c247553118d391a66362e0ce39149b8c84 Author: Jan Kratochvil Date: Mon Apr 13 14:44:18 2009 +0200 Merge commit 'origin/archer-jankratochvil-type-refcount' into archer-jankratochvil-vla Conflicts: gdb/gdbtypes.c ----------------------------------------------------------------------- Summary of changes: ChangeLog | 17 + Makefile.def | 13 + Makefile.in | 66 ++++- Makefile.tpl | 22 +- bfd/ChangeLog | 22 ++ bfd/archures.c | 1 + bfd/bfd-in2.h | 1 + bfd/cpu-mep.c | 3 +- bfd/elf32-h8300.c | 94 ++++++- bfd/elf32-mep.c | 1 + bfd/elflink.c | 14 +- bfd/linker.c | 2 +- bfd/version.h | 2 +- configure | 12 +- configure.ac | 12 +- gdb/ChangeLog | 18 ++ gdb/ada-lang.c | 23 +- gdb/coffread.c | 2 +- gdb/doc/ChangeLog | 5 + gdb/doc/gdb.texinfo | 5 +- gdb/doc/gdbint.texinfo | 38 ++- gdb/dwarf2read.c | 14 +- gdb/gdbtypes.c | 747 ++++++++++++++++++++++++++++------------------ gdb/gdbtypes.h | 33 +-- gdb/jv-lang.c | 5 +- gdb/mdebugread.c | 2 +- gdb/mi/mi-cmds.c | 1 + gdb/mi/mi-cmds.h | 1 + gdb/mi/mi-main.c | 7 + gdb/objfiles.c | 2 + gdb/stabsread.c | 9 +- gdb/symfile.c | 26 +- gdb/valops.c | 4 + gdb/value.c | 15 +- gdb/value.h | 3 - gdb/varobj.c | 174 ++++++----- gdb/varobj.h | 6 +- gdb/version.in | 2 +- include/ChangeLog | 4 + include/bfdlink.h | 3 + include/elf/ChangeLog | 4 + include/elf/mep.h | 2 + include/opcode/ChangeLog | 4 + include/opcode/h8300.h | 124 ++++---- libiberty/ChangeLog | 5 + libiberty/configure | 2 +- libiberty/configure.ac | 2 +- opcodes/ChangeLog | 6 + opcodes/mep-asm.c | 96 +++++- opcodes/mep-desc.c | 258 ++++++++++++----- opcodes/mep-desc.h | 57 ++-- opcodes/mep-dis.c | 28 ++- opcodes/mep-ibld.c | 239 +++++++++++---- opcodes/mep-opc.c | 394 +++++++++++++++++-------- opcodes/mep-opc.h | 128 +++++---- opcodes/ppc-opc.c | 9 +- 56 files changed, 1877 insertions(+), 912 deletions(-) First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 85cc9df..7aba867 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2009-04-09 Kaveh R. Ghazi + + * configure.ac: Bump minimum GMP/MPFR versions to 4.2 and 2.3.1. + * configure: Regenerate. + +2009-04-09 H.J. Lu + + PR gas/10039 + * configure.ac: Require texinfo 4.7. + * configure: Regenerated. + +2009-04-09 Steve Ellcey + + * Makefil.def (languages): New entries. + * Makefile.tpl (check-gcc-*): New generic target. + * Makefile.in: Regenerate. + 2009-03-27 Eli Zaretskii * djunpack.bat: Use ".." quoting in Sed command, for the sake of diff --git a/Makefile.def b/Makefile.def index a0a5266..c6a9291 100644 --- a/Makefile.def +++ b/Makefile.def @@ -541,6 +541,19 @@ dependencies = { module=all-target-libgloss; on=all-target-newlib; }; dependencies = { module=all-target-winsup; on=all-target-libiberty; }; dependencies = { module=all-target-winsup; on=all-target-libtermcap; }; +languages = { language=c; gcc-check-target=check-gcc; }; +languages = { language=c++; gcc-check-target=check-c++; + lib-check-target=check-target-libstdc++-v3; }; +languages = { language=fortran; gcc-check-target=check-fortran; + lib-check-target=check-target-libgfortran; }; +languages = { language=java; gcc-check-target=check-java; + lib-check-target=check-target-libjava; }; +languages = { language=ada; gcc-check-target=check-ada; + lib-check-target=check-target-libada; }; +languages = { language=objc; gcc-check-target=check-objc; + lib-check-target=check-target-libobjc; }; +languages = { language=obj-c++; gcc-check-target=check-obj-c++; }; + // Toplevel bootstrap bootstrap_stage = { id=1 ; diff --git a/Makefile.in b/Makefile.in index 26d1d01..de33e11 100644 --- a/Makefile.in +++ b/Makefile.in @@ -52921,19 +52921,63 @@ cross: all-build all-gas all-ld @endif gcc-no-bootstrap @if gcc -.PHONY: check-gcc-c++ + +.PHONY: check-gcc-c check-c +check-gcc-c: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-gcc); +check-c: check-gcc-c + +.PHONY: check-gcc-c++ check-c++ check-gcc-c++: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \ - else \ - true; \ - fi + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); +check-c++: check-gcc-c++ check-target-libstdc++-v3 + +.PHONY: check-gcc-fortran check-fortran +check-gcc-fortran: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-fortran); +check-fortran: check-gcc-fortran check-target-libgfortran + +.PHONY: check-gcc-java check-java +check-gcc-java: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-java); +check-java: check-gcc-java check-target-libjava + +.PHONY: check-gcc-ada check-ada +check-gcc-ada: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-ada); +check-ada: check-gcc-ada check-target-libada + +.PHONY: check-gcc-objc check-objc +check-gcc-objc: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-objc); +check-objc: check-gcc-objc check-target-libobjc + +.PHONY: check-gcc-obj-c++ check-obj-c++ +check-gcc-obj-c++: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-obj-c++); +check-obj-c++: check-gcc-obj-c++ -.PHONY: check-c++ -check-c++: check-target-libstdc++-v3 check-gcc-c++ # Install the gcc headers files, but not the fixed include files, # which Cygnus is not allowed to distribute. This rule is very diff --git a/Makefile.tpl b/Makefile.tpl index acb349f..1de3b06 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -1216,19 +1216,15 @@ cross: all-build all-gas all-ld @endif gcc-no-bootstrap @if gcc -.PHONY: check-gcc-c++ -check-gcc-c++: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \ - else \ - true; \ - fi - -.PHONY: check-c++ -check-c++: check-target-libstdc++-v3 check-gcc-c++ +[+ FOR languages +] +.PHONY: check-gcc-[+language+] check-[+language+] +check-gcc-[+language+]: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]); +check-[+language+]: check-gcc-[+language+][+ IF lib-check-target +] [+ lib-check-target +][+ ENDIF lib-check-target +] +[+ ENDFOR languages +] # Install the gcc headers files, but not the fixed include files, # which Cygnus is not allowed to distribute. This rule is very diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6fdba4d..679211b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,25 @@ +2009-04-08 H.J. Lu + + * elflink.c (elf_link_add_object_symbols): Warn alternate ELF + machine code. + +2009-04-07 DJ Delorie + + * archures.c: Add bfd_mach_mep_c5. + * bfd-in2.h: Likewise. + * cpu-mep.c: Add bfd_c5_arch. + * elf32-mep.c: Support it. + +2009-04-07 H.J. Lu + + * elflink.c (_bfd_elf_section_already_linked): Add `\n' for + info->callbacks->einfo. + * linker.c (_bfd_generic_section_already_linked): Likewise. + +2009-04-06 DJ Delorie + + * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes. + 2009-04-06 H.J. Lu * coff-x86_64.c (bfd_pe_print_pdata): Defined to diff --git a/bfd/archures.c b/bfd/archures.c index fa03d81..b0bf140 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -335,6 +335,7 @@ DESCRIPTION . bfd_arch_mep, .#define bfd_mach_mep 1 .#define bfd_mach_mep_h1 0x6831 +.#define bfd_mach_mep_c5 0x6335 . bfd_arch_ia64, {* HP/Intel ia64 *} .#define bfd_mach_ia64_elf64 64 .#define bfd_mach_ia64_elf32 32 diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 646be2c..6629ed7 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1972,6 +1972,7 @@ enum bfd_architecture bfd_arch_mep, #define bfd_mach_mep 1 #define bfd_mach_mep_h1 0x6831 +#define bfd_mach_mep_c5 0x6335 bfd_arch_ia64, /* HP/Intel ia64 */ #define bfd_mach_ia64_elf64 64 #define bfd_mach_ia64_elf32 32 diff --git a/bfd/cpu-mep.c b/bfd/cpu-mep.c index a161764..dfe251d 100644 --- a/bfd/cpu-mep.c +++ b/bfd/cpu-mep.c @@ -24,5 +24,6 @@ #define MA(x, n, def, y) { 32, 32, 8, bfd_arch_mep, x, "mep", n, \ 2, def, bfd_default_compatible, bfd_default_scan, y } -static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, NULL); +static const bfd_arch_info_type bfd_c5_arch = MA (bfd_mach_mep_c5, "c5", FALSE, NULL); +static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, & bfd_c5_arch); const bfd_arch_info_type bfd_mep_arch = MA (bfd_mach_mep, "mep", TRUE, & bfd_h1_arch); diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c index 888c9ad..ea54112 100644 --- a/bfd/elf32-h8300.c +++ b/bfd/elf32-h8300.c @@ -722,6 +722,13 @@ elf32_h8_relax_section (bfd *abfd, asection *sec, { bfd_vma symval; + { + arelent bfd_reloc; + reloc_howto_type *h; + + elf32_h8_info_to_howto (abfd, &bfd_reloc, irel); + h = bfd_reloc.howto; + } /* Keep track of the previous reloc so that we can delete some long jumps created by the compiler. */ if (irel != internal_relocs) @@ -994,7 +1001,8 @@ elf32_h8_relax_section (bfd *abfd, asection *sec, /* This is bsr. */ bfd_put_8 (abfd, 0x55, contents + irel->r_offset - 2); else - abort (); + /* Might be MOVSD. */ + break; /* Fix the relocation's type. */ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), @@ -1207,6 +1215,8 @@ elf32_h8_relax_section (bfd *abfd, asection *sec, if (value <= 0x7fff || value >= 0xffff8000u) { unsigned char code; + unsigned char op0, op1, op2, op3; + unsigned char *op_ptr; /* Note that we've changed the relocs, section contents, etc. */ @@ -1214,6 +1224,87 @@ elf32_h8_relax_section (bfd *abfd, asection *sec, elf_section_data (sec)->this_hdr.contents = contents; symtab_hdr->contents = (unsigned char *) isymbuf; + if (irel->r_offset >= 4) + { + /* Check for 4-byte MOVA relaxation. */ + int second_reloc = 0; + + op_ptr = contents + irel->r_offset - 4; + + if (last_reloc) + { + arelent bfd_reloc; + reloc_howto_type *h; + bfd_vma last_reloc_size; + + elf32_h8_info_to_howto (abfd, &bfd_reloc, last_reloc); + h = bfd_reloc.howto; + last_reloc_size = 1 << h->size; + if (last_reloc->r_offset + last_reloc_size + == irel->r_offset) + { + op_ptr -= last_reloc_size; + second_reloc = 1; + } + } + if (irel < irelend) + { + Elf_Internal_Rela *next_reloc = irel + 1; + arelent bfd_reloc; + reloc_howto_type *h; + bfd_vma next_reloc_size; + + elf32_h8_info_to_howto (abfd, &bfd_reloc, next_reloc); + h = bfd_reloc.howto; + next_reloc_size = 1 << h->size; + if (next_reloc->r_offset + next_reloc_size + == irel->r_offset) + { + op_ptr -= next_reloc_size; + second_reloc = 1; + } + } + + op0 = bfd_get_8 (abfd, op_ptr + 0); + op1 = bfd_get_8 (abfd, op_ptr + 1); + op2 = bfd_get_8 (abfd, op_ptr + 2); + op3 = bfd_get_8 (abfd, op_ptr + 3); + + if (op0 == 0x01 + && (op1 & 0xdf) == 0x5f + && (op2 & 0x40) == 0x40 + && (op3 & 0x80) == 0x80) + { + if ((op2 & 0x08) == 0) + second_reloc = 1; + + if (second_reloc) + { + op3 &= ~0x08; + bfd_put_8 (abfd, op3, op_ptr + 3); + } + else + { + op2 &= ~0x08; + bfd_put_8 (abfd, op2, op_ptr + 2); + } + goto r_h8_dir32a16_common; + } + } + + /* Now check for short version of MOVA. */ + op_ptr = contents + irel->r_offset - 2; + op0 = bfd_get_8 (abfd, op_ptr + 0); + op1 = bfd_get_8 (abfd, op_ptr + 1); + + if (op0 == 0x7a + && (op1 & 0x88) == 0x80) + { + op1 |= 0x08; + bfd_put_8 (abfd, op1, op_ptr + 1); + goto r_h8_dir32a16_common; + } + /* Get the opcode. */ code = bfd_get_8 (abfd, contents + irel->r_offset - 1); @@ -1224,6 +1315,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec, bfd_put_8 (abfd, code, contents + irel->r_offset - 1); + r_h8_dir32a16_common: /* Fix the relocation's type. */ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_H8_DIR16); diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index 4e96a78..b1e4a12 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -731,6 +731,7 @@ elf32_mep_machine (bfd * abfd) case EF_MEP_CPU_C2: return bfd_mach_mep; case EF_MEP_CPU_C3: return bfd_mach_mep; case EF_MEP_CPU_C4: return bfd_mach_mep; + case EF_MEP_CPU_C5: return bfd_mach_mep_c5; case EF_MEP_CPU_H1: return bfd_mach_mep_h1; } diff --git a/bfd/elflink.c b/bfd/elflink.c index 9b6e3ed..3f70d91 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -3425,6 +3425,7 @@ _bfd_elf_relocs_compatible (const bfd_target *input, static bfd_boolean elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) { + Elf_Internal_Ehdr *ehdr; Elf_Internal_Shdr *hdr; bfd_size_type symcount; bfd_size_type extsymcount; @@ -3480,6 +3481,17 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) } } + ehdr = elf_elfheader (abfd); + if (info->warn_alternate_em + && bed->elf_machine_code != ehdr->e_machine + && ((bed->elf_machine_alt1 != 0 + && ehdr->e_machine == bed->elf_machine_alt1) + || (bed->elf_machine_alt2 != 0 + && ehdr->e_machine == bed->elf_machine_alt2))) + info->callbacks->einfo + (_("%P: alternate ELF machine code found (%d) in %B, expecting %d\n"), + ehdr->e_machine, abfd, bed->elf_machine_code); + /* As a GNU extension, any input sections which are named .gnu.warning.SYMBOL are treated as warning symbols for the given symbol. This differs from .gnu.warning sections, which generate @@ -12365,7 +12377,7 @@ _bfd_elf_section_already_linked (bfd *abfd, asection *sec, /* This is the first section with this name. Record it. */ if (! bfd_section_already_linked_table_insert (already_linked_list, sec)) - info->callbacks->einfo (_("%F%P: already_linked_table: %E")); + info->callbacks->einfo (_("%F%P: already_linked_table: %E\n")); } bfd_boolean diff --git a/bfd/linker.c b/bfd/linker.c index 5080d7d..6242bcb 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -3095,7 +3095,7 @@ _bfd_generic_section_already_linked (bfd *abfd, asection *sec, /* This is the first section with this name. Record it. */ if (! bfd_section_already_linked_table_insert (already_linked_list, sec)) - info->callbacks->einfo (_("%F%P: already_linked_table: %E")); + info->callbacks->einfo (_("%F%P: already_linked_table: %E\n")); } /* Convert symbols in excluded output sections to use a kept section. */ diff --git a/bfd/version.h b/bfd/version.h index 2d45980..287c2ab 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20090406 +#define BFD_VERSION_DATE 20090410 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/configure b/configure index ecbbce6..bfb1d6b 100755 --- a/configure +++ b/configure @@ -4622,7 +4622,7 @@ int main () { - #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) + #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) choke me #endif @@ -4680,7 +4680,7 @@ int main () { - #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,0) + #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1) choke me #endif mpfr_t n; @@ -4786,7 +4786,7 @@ rm -f conftest.err conftest.$ac_objext \ CFLAGS="$saved_CFLAGS" if test x$have_gmp != xyes; then - { { echo "$as_me:$LINENO: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+. + { { echo "$as_me:$LINENO: error: Building GCC requires GMP 4.2+ and MPFR 2.3.2+. Try the --with-gmp and/or --with-mpfr options to specify their locations. Copies of these libraries' source code can be found at their respective hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. @@ -4794,7 +4794,7 @@ See also http://gcc.gnu.org/install/prerequisites.html for additional info. If you obtained GMP and/or MPFR from a vendor distribution package, make sure that you have installed both the libraries and the header files. They may be located in separate packages." >&5 -echo "$as_me: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+. +echo "$as_me: error: Building GCC requires GMP 4.2+ and MPFR 2.3.2+. Try the --with-gmp and/or --with-mpfr options to specify their locations. Copies of these libraries' source code can be found at their respective hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. @@ -6665,10 +6665,10 @@ case " $build_configdirs " in *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; *) - # For an installed makeinfo, we require it to be from texinfo 4.6 or + # For an installed makeinfo, we require it to be from texinfo 4.7 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" diff --git a/configure.ac b/configure.ac index a34cbe1..fd96122 100644 --- a/configure.ac +++ b/configure.ac @@ -1264,7 +1264,7 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then # Check GMP actually works AC_MSG_CHECKING([for correct version of gmp.h]) AC_TRY_COMPILE([#include "gmp.h"],[ - #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) + #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) choke me #endif ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) hooks/post-receive -- Repository for Project Archer.