Commit Graph

242 Commits

Author SHA1 Message Date
christos 88c1089d96 Bring in 2 patches from binutils:
From Alan Modra: Wed, 3 Jul 2013 11:51:56 +0930: powerpc64 call stubs:
    This brings powerpc64 ld in line with gold regarding calls allowed to
    go via a plt call stub or toc-adjusting stub without a following nop.
    A long time ago ld allowed tail calls, but this is wrong because we'll
    return to the caller's caller with the wrong toc pointer.  I fixed
    that for shared libraries but allowed tail calls in an executable for
    some reason.  Probably just muddy thinking on my part, because there's
    no difference between an executable and a shared library regarding the
    need to restore the toc pointer.  Perhaps it was because some testcase
    failed, most likely due to the g++ issue I comment on in the patch.

From Alan Modra: 29 Aug 2014 01:22:29 +0000: PowerPC64 call lacks nop error:
    Enough people accidentally or otherwise use -mcmodel=small then wonder
    why a call that is local is behaving as if it is going via the PLT.

	* elf64-ppc.c (ppc64_elf_relocate_section): Report a different
	error for calls via a toc adjusting stub without a nop.
2015-01-02 19:50:02 +00:00
christos f890372b86 - Add -f to allow processing non-plain files.
- Align NetBSD note printing properly
- Add handling of "PaX" notes correctly. Perhaps we should rename them
  to "NetBSD" now.
2014-12-13 18:32:59 +00:00
joerg 06da94bf06 Merge upstream d840c081f8082e8b9e63fead5306643975a97bb3 to fix
UB as seen by a clang compiled as.
2014-11-20 21:44:56 +00:00
mrg d0e58b2d00 this doesn't need <execinfo.h>, which doesn't exist on older hosts. 2014-10-11 20:50:59 +00:00
matt 9113203c75 Really back the RISC-V changes to these files. 2014-09-24 01:16:04 +00:00
matt 180b02fefb Back-out recent inadverdent changes. 2014-09-23 20:35:11 +00:00
matt f23c31b5a7 When disassembling an auipc/jalr pair, print the address eventually being
called:
	auipc   t0,0x2b3
	jalr    t0,-616 # ffffffff802b2e98 <memset>
2014-09-20 04:53:19 +00:00
matt 2db0c478e6 RISC-V (riscv32 & riscv64) binutils configury stuff. 2014-09-19 17:22:21 +00:00
matt 41b40da6f6 Add RISC-V support. 2014-09-19 17:19:52 +00:00
matt 230b95665b OR1K configury for NetBSD 2014-09-03 19:05:12 +00:00
matt a45653d102 Merge in OR1K support from top of binutils-gdb GIT repository. This replaces
the existing support and most imporantly adds support for shared libraries.
2014-09-03 19:01:15 +00:00
matt 7c92a4b3cd Allow STT_GNU_IFUNC to be dynamic symbols 2014-08-26 17:03:51 +00:00
matt d885ef237f Allow STT_GNU_IFUNC to be a dynamic symbol. 2014-08-26 16:39:49 +00:00
joerg 2d09463d91 Allow creation of indirection functions on all platforms, not just GNU
and FreeBSD.
2014-08-25 20:34:36 +00:00
joerg 5983af161f Add new option -P to print only the symbol table size. 2014-08-17 19:12:59 +00:00
skrll 0e4096dbcc Decode alpha st_other 2014-08-11 20:57:28 +00:00
skrll 8e4a73da69 Apply change from upstream to fix PR/48709 - port-alpha/48709: static
threaded programs crash.

With this fix the new weak symbol's st_other is not merged in, i.e. NOPV
is not copied from the libc __libc_thr_init.

* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
symbol that will be skipped, we don't have a new definition.
2014-08-11 20:53:16 +00:00
matt 547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
matt beb9c6d1b5 Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
matt 3958509594 Change ARM ELF_MAXPAGESIZE to 0x10000 and also change TEXT_START_ADDR for
nbsd to 0x10000.
2014-06-26 22:55:23 +00:00
joerg 68aeaa009b Use correct library path for -m32 on sparc64. 2014-04-14 21:09:02 +00:00
matt 1a3430eb55 Bias the cfi pc expr by nbytes since vax pcrel are relative to end of the
relocation, not the beginning.  By adding the size of relocation, it will
become relative to the start of the relocation.
2014-03-25 16:17:33 +00:00
matt b47c61b618 Add support for the .cfi pseudo-ops for VAX. 2014-03-18 23:41:36 +00:00
matt 95d660c12b Make readelf know what the vax pcrel32 reloc number is. 2014-03-18 23:41:02 +00:00
nakayama b9eda690b9 Regenerate for sparc's want64=true change.
Native toolchain fix for PR toolchain/48630.
2014-03-10 12:02:36 +00:00
nakayama 8813083ebc Enable 64-bit integer handling for gas even on 32-bit host since
sparc64 kernel now uses 64-bit constant with %hh operator.

Fix for PR toolchain/48630.
2014-03-10 12:01:19 +00:00
mrg cee6092acd make elf{32,64}-ia64.c depend upon the right parent. 2014-03-10 07:28:33 +00:00
mrg 5de22a2bb3 mknative-binutils for ia64. 2014-03-10 05:20:48 +00:00
matt b24a2a16b7 Add support for setting LIB_PATH for powerpc*-netbsd* on powerpc64*-netbsd* 2014-03-07 04:13:46 +00:00
matt b2757928d7 If marking a shared image TEXTREL, print out a warning about the section
that caused it.
2014-03-06 09:33:14 +00:00
christos 08ee8ae311 regen powerpc64 2014-02-26 03:11:37 +00:00
matt 700fb1c20d Always supply LIB_PATH in case one of the included scripts set it to
something inappropriate.
2014-02-06 18:28:28 +00:00
matt b3a8421d95 Don't unset LIB_PATH, just override it. 2014-02-06 15:40:47 +00:00
matt 57eaac67d3 Regen for missing emulations. 2014-01-31 07:56:18 +00:00
matt 420036df2f Use separate emulations for EABI hardfloat / softfloat. 2014-01-31 07:32:53 +00:00
matt 42f0af0447 Add armelf{,b}_nbsd_eabihf emulations for MKCOMPAT to use. 2014-01-31 03:26:50 +00:00
matt ff329494be Fix typo bsd -> nbsd 2014-01-29 23:16:14 +00:00
matt 98a4b7b58e Add missing emulations for armelf{,b}_nbsd 2014-01-29 22:39:47 +00:00
matt 175c9fb16a Fix arm eabi typo 2014-01-29 05:27:35 +00:00
christos a15708a3bd gcc-4.8 has begun putting code in .text.unlikely etc. This breaks our
assumption that .text code comes first in kernels about bootblock so
that the first symbol defined becomes the start address. This change
puts .text before other .text like sections.
2014-01-04 20:17:42 +00:00
jakllsch 1fa26414d5 regenerate for src/external/gpl3/binutils/dist/bfd/config.bfd r1.10:
Enable 32/64-bit PE-COFF targets for NetBSD/i386 in libbfd.
Needed to build UEFI things for IA32 using native toolchain.
2013-12-24 16:01:07 +00:00
jakllsch 0bfb2660a5 Enable 32/64-bit PE-COFF targets for NetBSD/i386 in libbfd.
Needed to build UEFI things for IA32 using native toolchain.
2013-12-24 15:06:39 +00:00
bouyer 0700bebfda Fix bad cut'n'paste in previous commit.
This should fix the remaining loogson build issues.
2013-12-10 18:15:43 +00:00
joerg e4c0f6ad28 Allow gnueabi to be matched for the relevant cases as well. 2013-11-29 23:01:54 +00:00
bouyer 95d1a8853c update for new binutils code our local patch to avoid warnings when macro are
used for loongson2f workarounds. Should fix mips64el kernel builds.
2013-11-28 22:28:30 +00:00
skrll 1cd7a8f9b7 Fix silly typo 2013-11-14 12:44:25 +00:00
christos 16129349e4 CID 1102810: Fix uninitialized 2013-11-14 01:18:02 +00:00
christos cf3d00d2c6 CID 1102856: Fix memory leak 2013-11-14 01:12:14 +00:00
joerg a07180c32d Recursively add DT_NEEDED entries from shared libraries if symbols are
used indirectly. This is more in line with the old GNU ld behavior, but
not exactly the desired semantic.

Patch from Martin Husemann.
2013-10-25 14:28:28 +00:00
christos 4c55f68194 Allow bfd_mach_arm4 machines to produce a.out binaries.
Perhaps we should just let every arm machine produce them?
Or we should use M_ARM6_NETBSD midmag for those?
2013-10-04 18:08:02 +00:00