Changelog:
Assembler:
General:
* Add support for the LoongArch architecture.
* Add an option to control how multibyte characters are handled in
the assembler. Using the option warnings can be generated when
such characters are encountered in symbol names, or anywhere in
the input source file(s).
AArch64 and ARM:
* Add support for more system registers.
* Add support for Scalable Matrix Extension.
* Add support for Cortex-R52+, Cortex-A510, Cortex-A710,
Cortex-X2, Cortex-A710 cores.
* Add support for 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a',
'armv9.2-a' and 'armv9.3-a' architecture extensions.
X86:
* Add a command-line option to encode aligned vector move as
unaligned vector move.
* Add support for Intel AVX512_FP16 instructions.
* The outputs of .ds.x directive and .tfloat directive with hex
input have been reduced from 12 bytes to 10 bytes to match the
output of .tfloat directive.
Linker:
* Add support for the LoongArch architecture.
* Add -z pack-relative-relocs/-z no pack-relative-relocs to x86 ELF
linker to pack relative relocations in the DT_RELR section.
* Add -z indirect-extern-access/-z noindirect-extern-access to x86
ELF linker to control canonical function pointers and copy
relocation.
Other Binary Tools:
* elfedit: Add --output-abiversion option to update ABIVERSION.
* Tools which display symbols or strings (readelf, strings, nm,
objdump) have a new command line option which controls how unicode
characters are handled. By default they are treated as normal for
the tool. Using --unicode=locale will display them according to
the current locale. Using --unicode=hex will display them as hex
byte values, whilst --unicode=escape will display them as escape
sequences. In addition using --unicode=highlight will display
them as unicode escape sequences highlighted in red (if supported
by the output device).
* readelf -r dumps RELR relative relocations now.
* Support for efi-app-aarch64, efi-rtdrv-aarch64 and
efi-bsdrv-aarch64 has been added to objcopy in order to enable
UEFI development using binutils.
* ar: Add --thin for creating thin archives. -T is a deprecated
alias without diagnostics. In many ar implementations -T has a
different meaning, as specified by X/Open System Interface.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Arch Linux users have encountered problems with packages that have a dependency on binutils. This error happens when libtool is doing:
libtool: relink: ...
So change PKG_FIXUP to "patch-libtool".
Fixes error in the form of:
libtool: install: error: relink `libctf.la' with the above command
before installing it
Upstream Bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=28545
OpenWrt Bug:
https://bugs.openwrt.org/index.php?do=details&task_id=4149
Acked-by: John Audia <graysky@archlinux.us>
Signed-off-by: Nick Hainke <vincent@systemli.org>
The libbfd package definition uses $(ICONV_DEPENDS) and $(INTL_DEPENDS)
but links against neither, leading to libbfd detection failures in other
packages (e.g. bpftools) and on-target relocation problems with libintl.so:
root@OpenWrt:/# ldd /usr/lib/libbfd.so
ldd (0x77db6000)
libc.so => ldd (0x77db6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77c6d000)
Error relocating /usr/lib/libbfd.so: libintl_dgettext: symbol not found
Add NLS-conditional linking of "libintl" to fix this. Also remove libbfd
package dependency $(ICONV_DEPENDS) which is not used during building or
linking.
Tested with QEMU on malta/be32, after building all packages from binutils,
bpftools and iproute2, using different libc options musl and glibc.
Fixes: 08e8175696 ("binutils: use nls.mk to fix libbfd link errors in
other packages")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
readelf is linked against this library on MIPS64BE
This fixes a build problem on MIPS64BE.
In addition also explicitly activate it in the configure command.
Fixes: 60f595daab ("binutils: update to version 2.34")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Don't move strings anymore to /bin/strings to avoid clash with
busybox /usr/bin/strings but move it to /usr/bin/binutils-strings.
Use ALTERNATIVES support to install it as /usr/bin/strings
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
CPE ids helps to tracks CVE in packages.
https://cpe.mitre.org/specification/
Thanks to swalker for CPE to package mapping and
keep tracking CVEs.
Acked-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
binutils 2.27 checks if the target compiler supports -Wstack-
usage=262144, and also uses this setting for the host compiler. If the
host compiler is gcc < 4.9 binutils build will fail. This backports 2
commits which are fixing this problem for binutils 2.28.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fixes build:
config/tc-i386.c: In function 'build_modrm_byte':
config/tc-i386.c:6143:31: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
&& !op.bitfield.reg64 != 1
Contains this fix:
https://sourceware.org/ml/binutils/2014-09/msg00095.html
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
SVN-Revision: 48003
Build libbfd and libopcodes as shared libraries, else they get linked
statically into every binary, increasing each binary size by ~650kB.
Reduces binutils package size to old expected values.
Fixes#17060.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42337