Commit Graph

170 Commits

Author SHA1 Message Date
nakayama
b8feaa5e58 Remove unnecessary local change. 2016-03-06 09:39:42 +00:00
nakayama
445b9f9763 Reapply following changes to binutils 2.26 to fix PR toolchain/48630.
http://mail-index.netbsd.org/source-changes/2014/03/10/msg052578.html
http://mail-index.netbsd.org/source-changes/2014/03/10/msg052579.html
2016-03-06 09:38:08 +00:00
martin
3b0ef40db6 Only override LIB_PATH to /usr/lib/sparc when doing elf32 for sparc64. 2016-02-28 16:06:27 +00:00
christos
29b05d6a28 CID 270355 fix memory leak 2016-02-26 16:26:24 +00:00
christos
31453f89b8 Restore old netbsd emulation names, requested by joerg. 2016-02-26 14:34:06 +00:00
joerg
92613883a0 SPARC before v8 requires a nop instruction between a floating point
instruction and a floating point branch.  SPARCv8 requires a nop only
immediately after FPop2 (fcmp*) instructions. Adjust the logic to
properly implement the v8 rules when targetting a less ancient
architecture.
2016-02-25 12:36:36 +00:00
martin
7c285cf750 Make the vax target buildable 2016-02-14 19:00:04 +00:00
joerg
1903f8c159 Override default LIB_PATH for i386 emulation. Unlike older binutils, we
now have to check the emulation and not that the target as the change
otherwise leaks into the native 64bit linker scripts as well.
2016-02-06 19:22:00 +00:00
joerg
6068ebb4ad We don't want to target-specific search directories on NetBSD in the
linker scripts, they just add noise.
2016-02-06 19:20:49 +00:00
skrll
771ca2e884 Fix mergo 2016-02-03 13:24:12 +00:00
christos
eb3733c01e more riscv fixes 2016-01-30 01:17:05 +00:00
christos
286899b79e fix bfd for riscv. 2016-01-29 22:39:00 +00:00
christos
01129addf9 fix aarch64 2016-01-29 20:54:09 +00:00
christos
f2fcb61447 we have our own popcount. 2016-01-29 20:53:14 +00:00
christos
a7de39c009 try to adjust riscv 2016-01-29 18:05:18 +00:00
christos
2bbb53d7df try to fix loongson hacks. 2016-01-29 17:01:55 +00:00
christos
bc117f559a fix bogus == bashism. 2016-01-29 16:23:51 +00:00
christos
5f4eaf394b merge conflicts, regen for x86. 2016-01-29 14:42:43 +00:00
christos
9573673d78 Import binutils-2.26 2016-01-29 12:44:10 +00:00
christos
6ca7fac253 use asprintf(3) 2015-10-26 15:14:33 +00:00
jakllsch
23d6404318 Correct temporary directory preference order in libiberty's choose_tmpdir().
Because it is intended to be persistent, /var/tmp is about the worst possible
choice for temporary files for most users of libiberty.  /tmp works better,
because the the defined semantics of /tmp allow for a non-persistent tmpfs
to be used.  This should improve performance when /tmp is a tmpfs and it is
difficult or impossible to have an environment variable or command line -pipe
flag passed to every piece of the toolchain.
2015-08-10 15:45:40 +00:00
matt
bd8986bbe0 Fix a bug where the octeon+ saa/saad instructions think they are using the AT
register when they actually aren't.
2015-05-29 22:18:51 +00:00
skrll
65b0d3bfdb Make sure mips_elf_n32_is_local_label_name is used. 2015-05-13 06:24:18 +00:00
matt
fd2293f463 Fix TEXTREL message to print out the section name 2015-05-09 17:43:23 +00:00
skrll
47d8d0b280 Define bfd_elf64_bfd_is_local_label_name so that local symbols really
get stripped, etc.
2015-05-08 15:13:53 +00:00
matt
98ace65d41 Deal with GNU IFUNCs properly. 2015-03-28 07:51:20 +00:00
matt
3a607a33f7 Update our in-tree binutils for RISCV to the latest. 2015-03-27 06:34:31 +00:00
joerg
3dea93ea59 Apply elf32.em r1.8 to the corresponding sections of armelf.em and
aarch64elf.em. Original commit message:

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.
2015-02-18 15:05:43 +00:00
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
41b40da6f6 Add RISC-V support. 2014-09-19 17:19:52 +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
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
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