Backport a fix for CVE-2021-45078.
(From OE-Core rev: f3128fd1b2e5cbf3683dc69eabc56fbc0bd0e7d5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We update the libtool m4 files in binutils with the latest files from
our patched libtool so that we can use the --with-libtool-sysroot option.
Remove the chunks that are specific to the libtool renaming, which now
doesn't happen.
(From OE-Core rev: 30baaf6c20a2e1619439cf3eb8d9ce7cb877d2fa)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally issue:
building of glibc 2.32 or 2.34 with option "-Wl,--build-id"
produce libc.so.6 with section ".note.gnu.build-id" that have
invalid(double, 0x48) section size. It happens because glibc
use sublibraries for linking libc.so.6
ld produce this sublibraries with build-id section and on last
linking stage loads this sections as input for linking.
ld should create new(valid) ".note.gnu.build-id" into function
ldelf_setup_build_id on last linking stage but it skip creating because
build-id section already exists.
As result libc.so.6 contain ".note.gnu.build-id" with build-ids from
sublibraries and without valid build-id
Howto solved:
1. Discard input .note.gnu.build-id sections.
2. Clear the build ID field before writing.
3. Use bfd_make_section_anyway_with_flags to create the output
.note.gnu.build-id section.
Upstream-Status: Backport
Reference to upstream patch:
[https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1f1d0f8888a6c944e612b416a2a6e11abcf5199f]
(From OE-Core rev: 68bbff44a481a036dc7d39e5d5745a01ccffdb95)
Signed-off-by: Valerii Chernous <vchernou@cisco.com>
Signed-off-by: Valery Chernous <valery.chernous@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kernel has dropped this as of 5.16 and we don't want to carry such patches
without active maintainers for such targets.
It isn't clear who would even have such hardware and it isn't something we can
support. It would be best maintained as a separate layer by those who can test
it if needed.
(From OE-Core rev: 5cd5075412639c0be9506cf1101737b12894fc5f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Similarly to the recent gcc change, we make gcc default to the 64 bit target
through configuration now so we don't need to patch this.
(From OE-Core rev: 259bcfdac3ad87d269dd18617c784fe14c50b0ad)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds useful detail from the orginal commit.
(From OE-Core rev: 3dea562e9d615384cc5e786eff46ac1f8f41e18e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was needed during uclibc days and remnants have lingered on.
Remove this patch
(From OE-Core rev: ffbde7ed072baf47ddfe89dd9f7630f67a7a8be3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since upgrade of binutils to 2.37 builds of qtwebengine failed to link even
with ulimits -n 1000000 (!!).
Fix that by applying a patch from stable 'binutils-2_37-branch'.
(From OE-Core rev: 9f4660e1c6b251c55f9e7e8072b602edf843b952)
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is next/latest release branch for binutils
Drop backports and CVE fixes which already are applied upstream
bfd_stdint.h has been removed in favor of using stdint.h
(From OE-Core rev: 08cd144fc4b5ac34ff99f71b1d825cbff96b642c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* DWARF-5 is now used by default with gcc-11, causing
11.1.0/ld: internal error in format_file_lineno, at ../../gold/dwarf_reader.cc:2278
collect2: error: ld returned 1 exit status
in various projects (runc-opencontainers, libhybris, collada-dom)
* https://gcc.gnu.org/gcc-11/changes.html
For targets that produce DWARF debugging information GCC now defaults to DWARF version 5
(with the exception of VxWorks and Darwin/Mac OS X which default to version 2 and
AIX which defaults to version 4). This can produce up to 25% more compact debug
information compared to earlier versions.
To take full advantage of DWARF version 5 GCC needs to be build against binutils version 2.35.2 or higher.
When GCC is build against earlier versions of binutils GCC will still emit DWARF version 5 for
most debuginfo data, but will generate version 4 debug line tables (even when explicitly given -gdwarf-5).
The following debug information consumers can process DWARF version 5:
GDB 8.0, or higher
valgrind 3.17.0
elfutils 0.172, or higher (for use with systemtap, dwarves/pahole, perf and libabigail)
dwz 0.14
Programs embedding libbacktrace are urged to upgrade to the version shipping with GCC 11.
To make GCC 11 generate an older DWARF version use -g together with -gdwarf-2, -gdwarf-3 or -gdwarf-4.
(From OE-Core rev: d07d4d739ae17787017f771dd2068fda0e836722)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since GCC 11 will switch to dwarf-5 as default, this patch will be
required soon
(From OE-Core rev: 9dc9bf85f53c6712dd047df5fd718e9895946fd5)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was missed during patch forward porting
its only effective when printing options
(From OE-Core rev: 5c6a585347199c099700b93405f511971f5fe26d)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop backported patches which are already present in 2.36 release
(From OE-Core rev: 897afa95ba340f1124decac5753e1d1e1283b515)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ffmpeg in qtwebengine/chromium fails to build on aarch64
ffmpeg/ffmpeg_internal/videodsp.o: in function `ff_prefetch_aarch64':
(.text+0x10): relocation truncated to fit: R_AARCH64_CONDBR19 against symbol `ff_prefetch_aarch64' defined in .text section in obj/third_party/ffmpeg/ffmpeg_internal/videodsp.o
Backport an upstream fix to handle this error which is a regrression in
binutils 2.35
(From OE-Core rev: 0a68def6b1f69b61096e58ae7778b61412dec4a2)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
powerpc 32bit Linux Kernel widely uses .stabs pseudo-op to
produce debugging information in stabs format. Faced an issue
that during Linux Kernel build with Yocto build system for 32bit
powerpc platform resulting vmlinux contains absolute path in
.stabstr section that cannot be remapped with -fdebug-prefix-map
option.
Yocto uses scripts/mkmakefile Linux Kernel build approach that
allows to store all generated files outside of kernel source
tree. With this approach each compilier invocation is performed
with an absolute path to a file that will be compiled and this
absolute path is recorded in init stab. There is no way to remap
this path.
Reuse remap_debug_filename api to make -fdebug-prefix-map flag
aplicable for init stab.
(From OE-Core rev: 4dce4e01cfa153fb12cfd1684d36e0432bef6741)
Signed-off-by: Denys Zagorui <dzagorui@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When gold is used as default linker in crosssdk e.g. when building SDK
binaries with LTO, the binaries do not have large enough .interp
section size and SDK relocation fails for those nativesdk binaries and libraries
which used gold for linking. This patch extends the .interp relaxation
fix to gold
(From OE-Core rev: f856b5f38263251bc48af8ba0da3385c09663d38)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It helps our stats tracking to use Backport consitently, it mreans the same
thing as Accepted in pretty much all cases.
(From OE-Core rev: 3e923d86012c981cb332083b87353fdbc0a2b83a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc 10 introduced "-fno-common" as default. Therefore backport the
according binutils patch to fix this issue.
(From OE-Core rev: fbeb572e1872cf64786d01d5c6408a6765f814ce)
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes configure time tests to ensure static-libstdc++ is enabled when
using clang
(From OE-Core rev: 0f2c415f50364e3b341e9b0d043ec973feacc2f1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The alternative ld.so patch is set up so the linker will search
the nativesdk sysroot before searching the host filesystem.
However the patch concatenates <sysroot>/etc and /etc/ld.so.conf
leading to a path that does not exist:
3061991 openat(AT_FDCWD, "/buildtools/sysroots/x86_64-pokysdk-linux/etc/etc/ld.so.conf",
O_RDONLY) = -1 ENOENT (No such file or directory)
In native-nspr, the build uses -lpthread, which triggers a search for librt, but because
of the above it drags in the system librt leading to errors as follows:
/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/
9.3.0/../../../../x86_64-pokysdk-linux/bin/ld: /lib64/librt.so.1:
undefined reference to `__clock_getcpuclockid@GLIBC_PRIVATE'
update concatenation to correctly construct the path to the nativesdk ld.so.conf
[YOCTO #13853]
(From OE-Core rev: d085da8300abb72e14957ecedf40189b25088d4b)
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libtool patch will result in configure file regeneration, instead of
doing that at build time, do it in patch itself, this avoids running
autoconf before configure step.
Since binutils needs specific version of autoconf ( which is 2.69 )
this will break on systems using newer or older verisons of autoconf
in current state.
(From OE-Core rev: 525d703d6f846e9706481a816910aef2ee70fb54)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Details of changelog [1]
Removing bfd/ld patch to enable PE targets, instead use
specific emulations via --enable-targets for x86_64
Re-arrange/forward-port patches and upgrade libctf configure to libtool 2.4 patch
rpaths are no longer emitted into elfedit/readelf therefore no need of
chrpath anymore
Instead of pre-generating configure scripts and house them in libtool
patch, generate them during configure. This also ensures that we do not
patch configure directly but rather the sources which generate it
Package newly added libctf library
[1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00000.html
(From OE-Core rev: 82f7d5cfc2ab02f39b69c0f8697d660936422d4a)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need binutils to look at our ld.so.conf file within the SDK to ensure
we search the SDK's libdirs as well as those from the host system.
There add a patch which passes in the directory to the code using a define,
then add it to a section we relocate in a similar way to the way we relocate
the gcc internal paths. This ensures that ld works correctly in our buildtools
tarball.
Standard sysroot relocation doesn't work since we're not in a sysroot,
we want to use both the host system and SDK libs.
(From OE-Core rev: f6c1089642934ad93056ef19a0888965486ee030)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop CVE patches which are already available on binutils-2_33-branch
Forward port rest of the patches
(From OE-Core rev: 7bcfce05045fb7e10456aa1f5301e70c178f20d7)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport upstream fix. No upstream release version of
binutils it yet, so backport the fix independently.
(From OE-Core rev: 3693a0a8b9461521b95613a76b7fd79c86a3bf8f)
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport upstream fix. No upstream release version of
binutils it yet, so backport the fix independently.
(From OE-Core rev: a4ead72b958ded4941f96741029f4955930ba758)
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch incorrectly removes 'mips_elf32_ntrad_le_vec' from the
'targ_selvecs' replacing it with duplicate entries for
'mips_elf32_ntrad_be_vec'. Correct this so that the default binutils can
still handle 'mips_elf32_ntrad_le_vec' binaries.
(From OE-Core rev: cdd499f23c129306da879b6f614ca1b720724300)
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes
https://sourceware.org/ml/binutils/2019-02/msg00010.html
0007-Add-the-armv5e-architecture-to-binutils.patch is dropped since we
armv5 is not a used option anymore in OE armv5te is default, and gcc9
will drop it completely anyway
CVE patches were backports from master which is already past of 2.32
release
Other dropped patches were partial or full backports as well
(From OE-Core rev: b71294c4decf35d544a2c8adb4e67d141841fc68)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Append minor version to PV so recipe checker is happy
* Drop upstreamed patches
* Remove changelog from CVE patches, they dont apply and are in patch
log anyway
(From OE-Core rev: 550085bc092d773c8c481e238d0d3210466166dc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>