From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25328 invoked by alias); 12 Mar 2009 20:10:29 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 25177 invoked by uid 9674); 12 Mar 2009 20:10:26 -0000 Date: Thu, 12 Mar 2009 20:10:00 -0000 Message-ID: <20090312201026.25161.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer: Merge commit 'origin/archer-tromey-delayed-symfile' into archer X-Git-Refname: refs/heads/archer X-Git-Reftype: branch X-Git-Oldrev: aafe933b497eee8cfab736a10bae1a90d4bceb18 X-Git-Newrev: 96be6c5398456337a1b394ff7ab38d4c4278fa69 X-SW-Source: 2009-q1/txt/msg00302.txt.bz2 List-Id: The branch, archer has been updated via 96be6c5398456337a1b394ff7ab38d4c4278fa69 (commit) via 62f52184a5f52554d9fb51df9404b3436392f47a (commit) via cda40de2d662168c62d5b5f23d9b3be0ce3d7b4f (commit) via 6243cda2f73580a305216774377683088f3bdab5 (commit) via 2f9a02c9a65ed3559d35471926d854891dcc54c6 (commit) via 3c3f88221be71e896e1fcb93639d18a5504bbedf (commit) via 2e725006c9b88b6fae515bee939258ec7926f17e (commit) via 33c502e17267911cb39423250a386bd948ba7168 (commit) via 942eb01d1d89c831ac01b3cd41bcf7d5baaf835a (commit) via 45cfe7b9f30e7830edad2fd2a00836567c6a1769 (commit) via 7c99b250a77ef559447c3dd25b31297f6302a210 (commit) via 5c671cd0dd3905d98f3717d832923400b6434bef (commit) via b014b7b5a93934ba3593a55cf7c08745e0e634e9 (commit) via 3c501462869a4453fb6f642d01beaf472ac01022 (commit) via 3e1457d4769319af4e158d411ed2301a35a64a94 (commit) via c59b337447ce0e9544c1d233aa3211f26ace8ca8 (commit) via 2d97f1fb81729ba9b5ba669a4168c2aef32bb534 (commit) via 194293f336f1a00a729a108c582396b7ba803a4e (commit) via 9253976ace93c65f9d951a38879690b91e0bd3e2 (commit) via 67288cc7c6ae33dc24f85a1cebc92364b5b4ed04 (commit) via 1391f0df776b9a6c82a200d082340c1b624a2989 (commit) via 1a27f6e04eaa3bec39396b88c85103f6bf6accc5 (commit) via 2a87d86340ab7a41cd94d6a48dbd54342a98f1bd (commit) via 852c0e0d0263f85b62090507be8daa135a87a53a (commit) via fca72fa5ad030093f21211e1b4394ef40ab1d0cc (commit) via bd553788ac40acb65c8a0849f38266955f905814 (commit) via a0ef3038786538a8d390c907e8d11953bae47bc3 (commit) via ddba7e72ef21e86088399b5b9364848f9d474921 (commit) via 24b599131ae218b0aca33621a06043e05bfea682 (commit) via 398035ce19b44ec266da36255133cf3d8ffd2295 (commit) via b3328989e625642287d2d9a0dbafd7f357172c9b (commit) via 3d1209ec9ee4547aeb4bc46af829f2c7bbcd5d2e (commit) via 79e74d313b4bc7c56b58b1ccfd48cf07e754dc32 (commit) via 9339cc18dd5700a48ae62e73dddcab789ac6f2b6 (commit) via 92dfc8c682f091812f76ab979cde6e13d9f5f91d (commit) via fc9cc7082d87f0011abd57fce1b2f52861fd67e8 (commit) via 094d2e715385262a524d8402e6fae589573422c0 (commit) via 451faa4f3d4bbf7e288b83aade43cb0ac9e3fe15 (commit) via cc5083e2df32606306eb0e579df54abda1be71a5 (commit) via fae8e4264ad99439cba03d572f38d73e495c88da (commit) via 734bf3302f8a087bb95c33facf93cbab88296e62 (commit) via a88555d5710428614dbdade1bcddea2c7b81f071 (commit) via 0503f5df2489d32c57558a3fd733ab7a180b688d (commit) via a3040cde74b99c348ce534d90b8f5330e88ec0ec (commit) via 4fe17d038a0891bdf400b17f5c01babb11e18c43 (commit) via 3d60ec7d687cd613e00aea316190936b9e47624d (commit) via be87af029b506c0082a3e47f282e77052a368f8d (commit) via bb895e00aedc40d6b47f1c76162c43cca0bf9655 (commit) via c2972ffea8572552b612c7c2da82d3836b4a2c8a (commit) via 62c45004981d213b9fe085264e57f01d55fea73b (commit) via 0ed0ce6569cdb43df57173f703f5987da367625e (commit) via be2e1c8d04cc278c352b05afcd2f92caad740b87 (commit) via 8444b262861157b6478ea024f77df2ed1ff02789 (commit) via 7a82cea5ae873f8b53eaf13f730a417a289a6aa9 (commit) via 01939d0bc5b5e377d2d2e1041336174f88d75657 (commit) via ba3b27c6841ed40d7a38517348b34180797c2334 (commit) via ef24aed64e5b773d8653ac8c497aa52acb3e4037 (commit) via a602008d1bc4bd7ae94f48f258b42fe8b9fc6e35 (commit) via 7736f57ac722d86d8735aa89f71e86924ffb38cc (commit) via f56e4cce499eef6d0f54e5febf00aa66f8a82f29 (commit) via 7028ef3bbdbc5e4a111d0b7cc780ee0c35a7292e (commit) via 129997da4c6c2aea81696300903da1ad47b7f48e (commit) via f2f3abead03c81796832772dc2be966191b2f80c (commit) via a93539b2e002585b2a1a2d32f0e2df2445fe6579 (commit) via 57eb800b475de56bba3f720dc7c64179f5899cec (commit) via f1c4daa594919152e47c111c830393e10530443a (commit) via 3e5fb2e1453d9b8d09983a5a3d1d3ff203e8352a (commit) via 6e9407b3a655b3339a97bfeb9f79e6bf8e9a90ae (commit) via a31bdfa66308b389d2a94de814afafbb4f0d9ff5 (commit) via 000b2df5b139714e6ec5d9fc79f1c59477b75126 (commit) via 8f21114a8f63389d6d516164a5a5fbd4de31e21b (commit) via 631a01f69c65c713332b5c5c152b583fd41cefd7 (commit) via b2ec49e547711d2e267442bd571eb7253394d10f (commit) via ef0744bb1590a8aad7f0b52c25f947de1e9b3e36 (commit) via 92f4807a51643d91c9f466fa62c1dc30c7a554ac (commit) via 6df02fc5bff4e11da68894137831fb27e8263d5c (commit) via 6ae22736c8ecbc8312af3631bd8be2ff156c3f64 (commit) via 4a7fe2eed71d84af81771722168df100149ebcc4 (commit) via 6722bb0b7991e0f20fd75883a2db654eea8438d3 (commit) via a2e6917f7307db762725a77922ad8b0cf370e7ac (commit) via c53b171a2083fdc3d959398d654aa2f4069b1c20 (commit) via 478ff543e243a47bb8934f738814ef69d9936ea5 (commit) via fb597d271837a83d02703ca6fad12f9590845b3e (commit) via 9de9f540f0e38df29cca71eb7426e5791d1004dd (commit) via a35213375f8b628f9e42fd5bc6cf67000c893248 (commit) via 62e5f942420bc61f1566a6becc79892ea08b27cd (commit) via bb7fbd4a9265f0fceea0d0f0ca21933ccbee004e (commit) via dad3bf19f9381ec7b0e8ba188626dddc81e8334e (commit) from aafe933b497eee8cfab736a10bae1a90d4bceb18 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 96be6c5398456337a1b394ff7ab38d4c4278fa69 Merge: 62f52184a5f52554d9fb51df9404b3436392f47a 2e725006c9b88b6fae515bee939258ec7926f17e Author: Jan Kratochvil Date: Thu Mar 12 21:09:34 2009 +0100 Merge commit 'origin/archer-tromey-delayed-symfile' into archer commit 62f52184a5f52554d9fb51df9404b3436392f47a Merge: cda40de2d662168c62d5b5f23d9b3be0ce3d7b4f 5c671cd0dd3905d98f3717d832923400b6434bef Author: Jan Kratochvil Date: Thu Mar 12 21:09:27 2009 +0100 Merge commit 'origin/archer-jankratochvil-vla' into archer commit cda40de2d662168c62d5b5f23d9b3be0ce3d7b4f Merge: 6243cda2f73580a305216774377683088f3bdab5 45cfe7b9f30e7830edad2fd2a00836567c6a1769 Author: Jan Kratochvil Date: Thu Mar 12 21:09:17 2009 +0100 Merge commit 'origin/archer-jankratochvil-python' into archer commit 6243cda2f73580a305216774377683088f3bdab5 Merge: 2f9a02c9a65ed3559d35471926d854891dcc54c6 3c3f88221be71e896e1fcb93639d18a5504bbedf Author: Jan Kratochvil Date: Thu Mar 12 21:09:11 2009 +0100 Merge commit 'origin/archer-jankratochvil-misc' into archer commit 2f9a02c9a65ed3559d35471926d854891dcc54c6 Merge: 3c501462869a4453fb6f642d01beaf472ac01022 33c502e17267911cb39423250a386bd948ba7168 Author: Jan Kratochvil Date: Thu Mar 12 21:09:06 2009 +0100 Merge commit 'origin/archer-jankratochvil-expr' into archer commit 3c501462869a4453fb6f642d01beaf472ac01022 Merge: c59b337447ce0e9544c1d233aa3211f26ace8ca8 3e1457d4769319af4e158d411ed2301a35a64a94 Author: Jan Kratochvil Date: Thu Mar 12 21:01:33 2009 +0100 Merge commit 'origin/archer-tromey-charset' into archer commit c59b337447ce0e9544c1d233aa3211f26ace8ca8 Merge: 2d97f1fb81729ba9b5ba669a4168c2aef32bb534 194293f336f1a00a729a108c582396b7ba803a4e Author: Jan Kratochvil Date: Thu Mar 12 20:54:00 2009 +0100 Merge commit 'origin/archer-jankratochvil-type-refcount' into archer commit 2d97f1fb81729ba9b5ba669a4168c2aef32bb534 Merge: 67288cc7c6ae33dc24f85a1cebc92364b5b4ed04 9253976ace93c65f9d951a38879690b91e0bd3e2 Author: Jan Kratochvil Date: Thu Mar 12 20:53:55 2009 +0100 Merge commit 'origin/archer-jankratochvil-misc' into archer commit 67288cc7c6ae33dc24f85a1cebc92364b5b4ed04 Author: Jan Kratochvil Date: Thu Mar 12 20:46:28 2009 +0100 Revert "opcodes/" This reverts commit f167d06f1917ae5474507153f672747077b7c4a6. Dropping cherry-pick to do a full merge with HEADs. The original "stable branch" is now at: archer-jankratochvil-fedora-merge commit 1391f0df776b9a6c82a200d082340c1b624a2989 Author: Jan Kratochvil Date: Thu Mar 12 20:46:16 2009 +0100 Revert "Drop a ChangeLog file change causing conflicts." This reverts commit bf6147356894cacabfbf511cfb7044a4845d2dfd. Dropping cherry-pick to do a full merge with HEADs. The original "stable branch" is now at: archer-jankratochvil-fedora-merge commit 1a27f6e04eaa3bec39396b88c85103f6bf6accc5 Author: Jan Kratochvil Date: Thu Mar 12 20:46:05 2009 +0100 Revert "cherry-pick: Fix excessive: Quitting: You can't do that without a process to debug." This reverts commit 32e0ad877f650025c260445d7ba901123f1ad96a. Dropping cherry-pick to do a full merge with HEADs. The original "stable branch" is now at: archer-jankratochvil-fedora-merge commit 2a87d86340ab7a41cd94d6a48dbd54342a98f1bd Author: Jan Kratochvil Date: Thu Mar 12 20:44:48 2009 +0100 Revert "cherry-pick: Fix internal-error on permanent breakpoint on top of permanent breakpoint." This reverts commit f2bb5f6434609f26002e96708430d2871d4a8eec. Dropping cherry-pick to do a full merge with HEADs. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 105 ++ bfd/Makefile.am | 30 +- bfd/Makefile.in | 31 +- bfd/archive.c | 44 +- bfd/bfd-in2.h | 18 +- bfd/bfd.c | 5 + bfd/configure | 247 ++++- bfd/configure.in | 22 + bfd/dwarf2.c | 76 +- bfd/ecoff.c | 11 +- bfd/elf32-arm.c | 85 +- bfd/elf32-i386.c | 7 +- bfd/elf32-ppc.c | 192 +++- bfd/elf32-spu.c | 13 + bfd/elf64-ppc.c | 280 ++++- bfd/elf64-x86-64.c | 5 +- bfd/libbfd.h | 2 + bfd/peXXigen.c | 16 +- bfd/po/es.po | 1943 +++++++++++++++------------ bfd/reloc.c | 4 + bfd/section.c | 13 +- bfd/som.c | 6 +- bfd/version.h | 2 +- gdb/ChangeLog | 158 +++ gdb/ada-lang.c | 48 - gdb/ada-lang.h | 4 - gdb/ada-tasks.c | 37 - gdb/aix-thread.c | 26 +- gdb/breakpoint.c | 17 +- gdb/c-exp.y | 129 ++- gdb/cli/cli-cmds.c | 2 +- gdb/cp-name-parser.y | 2 +- gdb/dec-thread.c | 75 +- gdb/disasm.c | 1 - gdb/disasm.h | 1 - gdb/doc/ChangeLog | 7 + gdb/doc/gdb.texinfo | 61 +- gdb/dwarf2read.c | 62 +- gdb/eval.c | 39 - gdb/expression.h | 2 - gdb/gdbserver/ChangeLog | 2 +- gdb/infcmd.c | 81 +- gdb/inferior.h | 2 + gdb/mi/mi-cmd-disas.c | 1 - gdb/objfiles.c | 4 +- gdb/printcmd.c | 94 ++- gdb/python/python-frame.c | 15 +- gdb/python/python.c | 2 +- gdb/remote.c | 100 +- gdb/solib-osf.c | 4 +- gdb/solib.c | 62 +- gdb/solib.h | 6 +- gdb/stack.c | 2 +- gdb/testsuite/ChangeLog | 6 + gdb/testsuite/gdb.base/solib-display-lib.c | 30 + gdb/testsuite/gdb.base/solib-display-main.c | 32 + gdb/testsuite/gdb.base/solib-display.exp | 115 ++ gdb/testsuite/gdb.cp/ovldbreak.exp | 4 +- gdb/valops.c | 93 ++- gdb/varobj.c | 2 + gdb/version.in | 2 +- gdb/windows-nat.c | 33 +- gdb/xcoffread.c | 34 +- include/elf/ChangeLog | 5 + include/elf/ppc.h | 6 +- include/elf/ppc64.h | 4 +- include/opcode/ChangeLog | 4 + include/opcode/ppc.h | 4 +- opcodes/ChangeLog | 36 + opcodes/Makefile.am | 342 ++--- opcodes/Makefile.in | 350 ++--- opcodes/configure | 247 ++++- opcodes/configure.in | 22 + opcodes/po/es.po | 249 +++-- opcodes/po/id.po | 1021 ++++++++++++-- opcodes/ppc-dis.c | 291 +++-- 76 files changed, 4981 insertions(+), 2154 deletions(-) create mode 100644 gdb/testsuite/gdb.base/solib-display-lib.c create mode 100644 gdb/testsuite/gdb.base/solib-display-main.c create mode 100644 gdb/testsuite/gdb.base/solib-display.exp First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d431c0d..9841e5d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,108 @@ +2009-03-12 H.J. Lu + + PR ld/9938 + * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp + to check ___tls_get_addr. + + * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use + strncmp to check __tls_get_addr. + +2009-03-12 Andrew Stubbs + + * dwarf2.c (read_section): Always check the offset, even when the + section has been read before. + +2009-03-11 H.J. Lu + + * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in + comments. + +2009-03-11 Chris Demetriou + + * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag. + * bfd-in2.h: Regenerate. + * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT + flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file + mode. + (bsd_write_armap): Likewise. + (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT + flag is set, do nothing. + (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0 + for timestamp. + +2009-03-11 Ulrich Weigand + + * elf32-spu.c (find_function_stack_adjust): Handle sf instruction + used to update stack pointer. + +2009-03-07 John David Anglin + + PR binutils/9921 + * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE + for unknown symbols in absolute section. + +2009-03-06 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2009-03-05 Christophe Lyon + + * elf32-arm.c (group_sections): Take next section size into + account before accepting to group it. + +2009-03-05 Christophe Lyon + + * elf32-arm.c (arm_type_of_stub): Handle long branches targetting + PLT entries. + (elf32_arm_final_link_relocate): Likewise. + +2009-03-05 Moritz Kroll + + PR 9923 + * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type. + +2009-03-04 Alan Modra + + * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New. + * section.c (struct bfd_section): Add has_tls_get_addr_call. + (BFD_FAKE_SECTION): Init new flag. + * ecoff.c (bfd_debug_section): Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD. + (ppc_elf_reloc_type_lookup): Handle new relocs. + (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such + without marker relocs. + (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs + if section has no old-style calls. + (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too. + Don't try to optimize new-style __tls_get_addr call when handling + arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD + relocs. + * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD. + (ppc64_elf_reloc_type_lookup): Handle new relocs. + (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such + without marker relocs. + (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs + if section has no old-style calls. Set toc_ref for new relocs as + appropriate. + (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too. + Don't try to optimize new-style __tls_get_addr call when handling + arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD + relocs. + +2009-03-04 Alan Modra + + PR 6768 + * configure.in: Test for ld --as-needed support. Link shared + libbfd against libm. + * configure: Regenerate. + +2009-03-03 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + 2009-03-02 Qinwei * elf32-score7.c: New file. diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 08f0c2a..1c150cd 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -1052,11 +1052,10 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/safe-ctype.h bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \ - $(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \ - elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ - $(INCDIR)/elf/internal.h + $(INCDIR)/demangle.h $(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h \ + $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \ + libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ @@ -1460,15 +1459,15 @@ elf32-iq2000.lo: elf32-iq2000.c $(INCDIR)/filenames.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h +elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h \ + $(INCDIR)/elf/reloc-macros.h elf32-target.h elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32c.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ elf32-target.h -elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h elf32-m32r.lo: elf32-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32r.h \ @@ -1572,13 +1571,13 @@ elf32-s390.lo: elf32-s390.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/bfdlink.h elf32-score.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ + elf32-score.h elf32-target.h elf32-score7.lo: elf32-score7.c $(INCDIR)/filenames.h \ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/bfdlink.h elf32-score.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ + elf32-score.h elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h elf-vxworks.h \ @@ -1723,7 +1722,8 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \ $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \ $(INCDIR)/aout/ar.h mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \ - $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c + $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h $(INCDIR)/aout/stab_gnu.h \ + $(INCDIR)/aout/stab.def mach-o-target.c mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h @@ -1872,7 +1872,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h vms.h vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h vms.h -vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h +vmsutil.lo: vmsutil.c vmsutil.h xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ libcoff.h libxcoff.h diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 1eb5887..32191a1 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -740,8 +740,8 @@ BFD32_BACKENDS_CFILES = \ elf32-sh64.c \ elf32-sh64-com.c \ elf32-s390.c \ - elf32-score7.c \ elf32-score.c \ + elf32-score7.c \ elf32-sh.c \ elf32-sh-symbian.c \ elfxx-sparc.c \ @@ -1648,11 +1648,10 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \ archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/safe-ctype.h bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \ - $(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \ - $(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \ - elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ - $(INCDIR)/elf/internal.h + $(INCDIR)/demangle.h $(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h \ + $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \ + libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ @@ -2056,15 +2055,15 @@ elf32-iq2000.lo: elf32-iq2000.c $(INCDIR)/filenames.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h +elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h \ + $(INCDIR)/elf/reloc-macros.h elf32-target.h elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32c.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ elf32-target.h -elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h elf32-m32r.lo: elf32-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32r.h \ @@ -2169,13 +2168,12 @@ elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ - $(INCDIR)/bfdlink.h elf32-score.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + elf32-score.h elf32-target.h elf32-score7.lo: elf32-score7.c $(INCDIR)/filenames.h \ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/bfdlink.h elf32-score.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ - elf32-target.h + $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \ + elf32-score.h elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h elf-vxworks.h \ @@ -2320,7 +2318,8 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \ $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \ $(INCDIR)/aout/ar.h mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \ - $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c + $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h $(INCDIR)/aout/stab_gnu.h \ + $(INCDIR)/aout/stab.def mach-o-target.c mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \ $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h @@ -2469,7 +2468,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h vms.h vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h vms.h -vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h +vmsutil.lo: vmsutil.c vmsutil.h xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \ libcoff.h libxcoff.h diff --git a/bfd/archive.c b/bfd/archive.c index 437a085..5e0fd6b 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -1652,6 +1652,16 @@ bfd_ar_hdr_from_filesystem (bfd *abfd, const char *filename, bfd *member) return NULL; } + /* If the caller requested that the BFD generate deterministic output, + fake values for modification time, UID, GID, and file mode. */ + if ((abfd->flags & BFD_DETERMINISTIC_OUTPUT) != 0) + { + status.st_mtime = 0; + status.st_uid = 0; + status.st_gid = 0; + status.st_mode = 0644; + } + amt = sizeof (struct ar_hdr) + sizeof (struct areltdata); ared = bfd_zalloc (abfd, amt); if (ared == NULL) @@ -2220,20 +2230,39 @@ bsd_write_armap (bfd *arch, unsigned int count; struct ar_hdr hdr; struct stat statbuf; + long uid, gid; firstreal = mapsize + elength + sizeof (struct ar_hdr) + SARMAG; stat (arch->filename, &statbuf); + if ((arch->flags & BFD_DETERMINISTIC_OUTPUT) == 0) + { + /* Remember the timestamp, to keep it holy. But fudge it a little. */ + bfd_ardata (arch)->armap_timestamp = (statbuf.st_mtime + + ARMAP_TIME_OFFSET); + uid = getuid(); + gid = getgid(); + } + else + { + /* If deterministic, we use 0 as the timestamp in the map. + Some linkers may require that the archive filesystem modification + time is less than (or near to) the archive map timestamp. Those + linkers should not be used with deterministic mode. (GNU ld and + Gold do not have this restriction.) */ + bfd_ardata (arch)->armap_timestamp = 0; + uid = 0; + gid = 0; + } + memset (&hdr, ' ', sizeof (struct ar_hdr)); memcpy (hdr.ar_name, RANLIBMAG, strlen (RANLIBMAG)); - /* Remember the timestamp, to keep it holy. But fudge it a little. */ - bfd_ardata (arch)->armap_timestamp = statbuf.st_mtime + ARMAP_TIME_OFFSET; bfd_ardata (arch)->armap_datepos = (SARMAG + offsetof (struct ar_hdr, ar_date[0])); _bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld", bfd_ardata (arch)->armap_timestamp); - _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", getuid ()); - _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", getgid ()); + _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", uid); + _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", gid); _bfd_ar_spacepad (hdr.ar_size, sizeof (hdr.ar_size), "%-10ld", mapsize); memcpy (hdr.ar_fmag, ARFMAG, 2); if (bfd_bwrite (&hdr, sizeof (struct ar_hdr), arch) @@ -2301,6 +2330,10 @@ _bfd_archive_bsd_update_armap_timestamp (bfd *arch) struct stat archstat; struct ar_hdr hdr; + /* If creating deterministic archives, just leave the timestamp as-is. */ + if ((arch->flags & BFD_DETERMINISTIC_OUTPUT) != 0) + return TRUE; + /* Flush writes, get last-write timestamp from file, and compare it to the timestamp IN the file. */ bfd_flush (arch); @@ -2385,7 +2418,8 @@ coff_write_armap (bfd *arch, _bfd_ar_spacepad (hdr.ar_size, sizeof (hdr.ar_size), "%-10ld", mapsize); _bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld", - time (NULL)); + ((arch->flags & BFD_DETERMINISTIC_OUTPUT) == 0 + ? time (NULL) : 0)); /* This, at least, is what Intel coff sets the values to. */ _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", 0); _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", 0); diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index be35ac4..7e3defd 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1343,6 +1343,9 @@ typedef struct bfd_section /* Nonzero if this section has TLS related relocations. */ unsigned int has_tls_reloc:1; + /* Nonzero if this section has a call to __tls_get_addr. */ + unsigned int has_tls_get_addr_call:1; + /* Nonzero if this section has a gp reloc. */ unsigned int has_gp_reloc:1; @@ -1603,11 +1606,11 @@ extern asection bfd_ind_section; /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \ 0, 0, 0, 0, \ \ - /* has_gp_reloc, need_finalize_relax, reloc_done, */ \ - 0, 0, 0, \ + /* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */ \ + 0, 0, 0, \ \ - /* vma, lma, size, rawsize */ \ - 0, 0, 0, 0, \ + /* reloc_done, vma, lma, size, rawsize */ \ + 0, 0, 0, 0, 0, \ \ /* output_offset, output_section, alignment_power, */ \ 0, (struct bfd_section *) &SEC, 0, \ @@ -2928,6 +2931,8 @@ relaxation. */ /* PowerPC and PowerPC64 thread-local storage relocations. */ BFD_RELOC_PPC_TLS, + BFD_RELOC_PPC_TLSGD, + BFD_RELOC_PPC_TLSLD, BFD_RELOC_PPC_DTPMOD, BFD_RELOC_PPC_TPREL16, BFD_RELOC_PPC_TPREL16_LO, @@ -4764,6 +4769,11 @@ struct bfd to any input file. */ #define BFD_LINKER_CREATED 0x2000 + /* This may be set before writing out a BFD to request that it + be written using values for UIDs, GIDs, timestamps, etc. that + will be consistent from run to run. */ +#define BFD_DETERMINISTIC_OUTPUT 0x4000 + /* Currently my_archive is tested before adding origin to anything. I believe that this can become always an add of origin, with origin set to 0 for non archive files. */ diff --git a/bfd/bfd.c b/bfd/bfd.c index 847da52..9979ac6 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -145,6 +145,11 @@ CODE_FRAGMENT . to any input file. *} .#define BFD_LINKER_CREATED 0x2000 . +. {* This may be set before writing out a BFD to request that it +. be written using values for UIDs, GIDs, timestamps, etc. that +. will be consistent from run to run. *} +.#define BFD_DETERMINISTIC_OUTPUT 0x4000 +. . {* Currently my_archive is tested before adding origin to . anything. I believe that this can become always an add of . origin, with origin set to 0 for non archive files. *} diff --git a/bfd/configure b/bfd/configure index 6c21291..adcd52d 100755 --- a/bfd/configure +++ b/bfd/configure @@ -458,7 +458,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S OBJDUMP ac_ct_OBJDUMP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 DEBUGDIR PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GENINSRC_NEVER_TRUE GENINSRC_NEVER_FALSE INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT MKINSTALLDIRS MSGFMT MSGMERGE HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_64BIT_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT BFD_HOSTPTR_T CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG SHARED_LDFLAGS SHARED_LIBADD TDEFINES wordsize bfd64_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir pdfdir LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S OBJDUMP ac_ct_OBJDUMP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 DEBUGDIR PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GENINSRC_NEVER_TRUE GENINSRC_NEVER_FALSE INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT MKINSTALLDIRS MSGFMT MSGMERGE HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_64BIT_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT BFD_HOSTPTR_T CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG LIBM SHARED_LDFLAGS SHARED_LIBADD TDEFINES wordsize bfd64_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir pdfdir LIBOBJS LTLIBOBJS' ac_subst_files='' ac_pwd=`pwd` @@ -20555,6 +20555,238 @@ _ACEOF fi +# Check if linker supports --as-needed and --no-as-needed options +echo "$as_me:$LINENO: checking linker --as-needed support" >&5 +echo $ECHO_N "checking linker --as-needed support... $ECHO_C" >&6 +if test "${bfd_cv_ld_as_needed+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + bfd_cv_ld_as_needed=no + if $LD --help 2>/dev/null | grep as-needed > /dev/null; then + bfd_cv_ld_as_needed=yes + fi + +fi +echo "$as_me:$LINENO: result: $bfd_cv_ld_as_needed" >&5 +echo "${ECHO_T}$bfd_cv_ld_as_needed" >&6 + +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + echo "$as_me:$LINENO: checking for _mwvalidcheckl in -lmw" >&5 +echo $ECHO_N "checking for _mwvalidcheckl in -lmw... $ECHO_C" >&6 +if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmw $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char _mwvalidcheckl (); +int +main () +{ +_mwvalidcheckl (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? hooks/post-receive -- Repository for Project Archer.