clang-21 decides to emit wcslen call on arm architecture
klibc does not provide widechar support so it should not
be used.
Fixes
| arm-yoe-linux-gnueabi-ld.bfd: usr/kinit/do_mounts_md.o: in function `md_run':
| /usr/src/debug/klibc/2.0.14/usr/kinit/do_mounts_md.c:294:(.text+0x5d6): undefined reference to `wcslen'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.
I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Following reproducible-builds.org recommendations, using compiler flags
like -ffile-prefix-map or -fdebug-prefix-map allows replace build-time
paths by install-time ones in the debugging sections of binaries.
Variable DEBUG_PREFIX_MAP set these flags correctly in yocto build
context to guarantee reproducible builds.
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is the result of automated script (0.9.1) conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This helps in ensuring that we always link klibc apps with libgcc as
compiler-rt does not work for klibc due to missing libssp functions e.g.
__stack_chk_guard and __stack_chk_guard which it expects in libc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
gcc 10 defaults to -fno-common, but klibc does not build with
-fno-common, it will need some work to get there, until then use
-fcommon explicitly
Signed-off-by: Khem Raj <raj.khem@gmail.com>
clang would emit bcmp built-in for musl bases system
but here we do not link in musl C library, so its best
to disable it
Fixes
git/usr/klibc/memmem.c:38: undefined reference to `bcmp'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
A couple have still been missed in the past despite multiple
attempts at doing so (or simply have re-appeared?).
Search & replace made using the following command:
sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \
-i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \
| cut -d':' -f1 \
| sort -u)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Newer versions of clang optimize the calls to use unlocked variants of
these functions
Fixes
| capabilities.c:(.text+0xb4): undefined reference to `fread_unlocked'
| arm-yoe-linux-gnueabi-ld.bfd: capabilities.c:(.text+0x11a): undefined
reference to `fwrite_unlocked'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
Fix relocations like:
| mipsel-oe-linux-musl-ld.bfd: usr/klibc/libc.a(kill.o):
relocation R_MIPS_26 against `__syscall_common' can not be used when making a shared object; recompile with -fPIC
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There were some shared binaries built together with the static ones and this
was leading to the infamous:
i586-oe-linux-musl-ld.bfd: discarded output section: `.got.plt'
Fix this by purging the Kbuild files.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The shared utils can be built with security flags enabled.
This breaks however build of kinit and gzipm both static.
Remove them from this recipe.
Fix QA Issue:
'klibc-utils-gzip/bin/gzip' has relocations in .text [textrel]
'klibc-utils-kinit/bin/kinit' has relocations in .text [textrel]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The MCONFIG makefiles for mips/mips64 do disable pic so we do not insist
linking it with -pie.
For aarch64 we have to readd the -Os optimization to avoid
| usr/dash/shell.h:103:25: error:
'-mgeneral-regs-only' is incompatible with floating-point argument
as committed (c296fb707a klibc: Pass Optimization with KLIBCOPTFLAGS)
but reverted (76bc58e932 klibc: Fix build with security flags) trying to
fix the i386 build (see ld.bfd: discarded output section: `.got.plt').
This latter issue was fixed for i386 passing -pie to the linker.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
ld fails if distro's security-flags are enabled:
Inject the SECURITY_XFLAGS if security_flags.inc was included.
Fix on i386: ld: discarded output section: `.got.plt'
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop -Os which is also causing the relro
Fixes
| x86_64-bec-linux-musl-ld.bfd: discarded output section: `.got.plt'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
Let klcc understand '-no-integrated-as' which is a clang option used by
meta-clang for compiler defaults
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
Overriding KLIBCOPTFLAGS also meant that -Ox flags
were taken off. Which results in errors like
| usr/dash/shell.h: In function 'max_int_length':
| usr/dash/shell.h:103:25: error: '-mgeneral-regs-only' is incompatible with floating-point code
| return (bytes * 8 - 1) * 0.30102999566398119521 + 14;
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
| usr/dash/shell.h:103:25: error: '-mgeneral-regs-only' is incompatible with floating-point argument
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This is needed when building klcc-cross and klcc-cross
does not have do_configure, therefore stick this just before
do_compile
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
We were passing empty string '' to make as option when
ISA was not thumb this breaks build for machines/distros
which do not use ARM_INSTRUCTION_SET = thumb
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
klibc failed to build with armv7+ when using thumb2
it needed to resepct TUNE_CCARGS
Add patches to fix build with musl, to sort out
the linux header maze.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
As done in libtool-cross from oe-core we prefer to be specific even when
there is just one file.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Instead of deleting the packaging tasks we simply inherit
nopackages.bbclass.
Done that we do set PACKAGES to empty.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>