Commit Graph

96 Commits

Author SHA1 Message Date
Khem Raj
af1199a7aa
klibc: Do not let clang generate wcslen builtin
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>
2025-09-01 15:52:05 -07:00
Khem Raj
803087e186
klibc: Upgrade to 2.0.14
Backport couple of clang related fixes from upstream

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-01 15:52:05 -07:00
Alexander Kanavin
fc78d37ff0
meta-openembedded/all: adapt to UNPACKDIR changes
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>
2025-06-25 06:44:52 -07:00
Fabien Thomas
3f9032f126 klibc/klibc.inc : Add DEBUG_PREFIX_MAP flag.
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>
2023-10-13 10:19:11 -07:00
Khem Raj
04ed4f1383 klibc: Upgrade to 2.0.13 release
Drop backported patch and refresh others as needed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-07 17:39:50 -07:00
Martin Jansa
be8c765c7c *.patch: add Upstream-Status to all patches
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>
2023-06-21 09:15:20 -07:00
Khem Raj
febd004e6b klibc: Fix build with kernel 5.19 headers
Backport relevant patch.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-19 00:03:59 -07:00
Khem Raj
8204ee52de klibc: Upgrade to 2.0.10
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-10 08:48:30 -07:00
Khem Raj
6a52b84dbc klibc: Recognise --dyld-prefix clang option
This is added when usrmerge is enabled in distro

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-25 10:44:14 -07:00
Khem Raj
42f365246d recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Martin Jansa
c61dc077bb Convert to new override syntax
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>
2021-08-03 10:21:25 -07:00
Khem Raj
aac5dfe6dd klibc: Add clang's -rtlib to known options
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>
2021-06-10 19:43:02 -07:00
Khem Raj
98bad06526 klibc: Fix x86_64 build with binutils 2.36+
this patch is already on klibc mailing list

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
2021-02-07 00:14:59 -08:00
Khem Raj
16dd9dfe3f klibc: Upgrade to 2.0.8 release
Adjust klcc to work with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
2021-02-04 23:46:45 -08:00
Khem Raj
000c6a181e klibc: Compile with -fcommon
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>
2020-08-13 22:32:07 -07:00
Khem Raj
bd2ad24d7b recipes: Make powerpc64le overrides
The existing conditions for ppc64/be are applicable for le as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-19 02:20:59 -08:00
Khem Raj
69bc6ff2fb klibc: Apply -no-integrated-as on mips/clang
Fixes build error

| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux-musl/klibc/2.0.7-r0/klibc-2.0.7/usr/klibc/syscalls.pl: usr/klib
c/syscalls/typesize.bin: magic number not found

...

| usr/klibc/sigsuspend.c:8:10: fatal error: 'klibc/havesyscall.h' file not found
| #include <klibc/havesyscall.h>
|          ^~~~~~~~~~~~~~~~~~~~~
| 1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
2019-12-14 21:10:18 -08:00
Adrian Bunk
5a4d3da0c5 klibc: Upgrade 2.0.6 -> 2.0.7
Patches applied upstream removed.

Use the release tarball.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-10-28 15:26:42 -07:00
Khem Raj
ab3072ee4c klibc: Fix build with 5.2+ kernel headers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-03 16:02:03 -07:00
Khem Raj
806fbbf817 klibc: Disable bcmp builtin for clang on glibc as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-17 12:20:48 -07:00
Khem Raj
11bc2775af klibc: Pass -fno-builtin-bcmp with musl/clang combo
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>
2019-08-08 10:01:45 -07:00
Khem Raj
3c5db8fc61 klcc-cross: Recognise --unwindlib clang option
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
2019-08-03 12:31:16 -07:00
Khem Raj
9d8943fd2e klibc: Upgrade to 2.0.6 release
Drop staging related patches which are not needed anymore

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
2019-03-14 07:24:03 -07:00
André Draszik
88f2b979ca meta-initramfs: remove True option to getVar calls (again)
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>
2019-01-13 10:28:01 -08:00
Khem Raj
2a3c90d2ab klibc: Fix build with clang
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>
2018-12-09 16:53:16 -08:00
Andrea Adami
981aa87a23 klibc: fix build for mipsel and mips64el with security flags enabled
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>
2018-12-04 17:51:35 -08:00
Andrea Adami
aa19346e44 klibc-static-utils: really fix build for x86 with security flags enabled
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>
2018-10-10 08:49:36 -07:00
Andrea Adami
db89a0df16 klibc.inc: lazy assign GCCPIE in case security_flags.inc was not included
fix build error (GCCPIE is unset):

EXTRA_KLIBCAFLAGS=${SECURITY_CFLAGS} -Wa,--noexecstack
EXTRA_KLIBCLDFLAGS=${@-z relro -z now -pie if  else } -z noexecstack
| make: invalid option -- 'z'
| make: invalid option -- ' '

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-25 22:24:15 -07:00
Andrea Adami
94f4f52101 klibc-utils: remove the two static binaries (kinit and gzip)
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>
2018-09-17 22:21:42 -07:00
Andrea Adami
ed34bf11ab klibc-static-utils: fix textrel, disable security flags for the static utils
Fix
WARNING: klibc-static-utils-2.0.4-r0 do_package_qa:
 QA Issue: ELF binary 'X' has relocations in .text [textrel]

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-17 22:21:36 -07:00
Andrea Adami
a06c29be2f klibc: fix build with GCC and -pie for mips, mips64, aarch64
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>
2018-09-15 07:37:11 -07:00
Andrea Adami
a95dde2868 klibc: fix build on i386 with GCC and security flags enabled
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>
2018-09-15 07:36:21 -07:00
Khem Raj
76bc58e932 klibc: Fix build with security flags
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>
2018-09-11 22:48:21 -07:00
Khem Raj
77922f115a klcc-cross: Recognise clang options
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>
2018-09-09 22:50:06 -07:00
Andrea Adami
641dff9768 klibc_2.0.4: add kexec_file_load() and getrandom() syscalls
Needed by kexec-tools afer 2.0.17

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-05 13:59:15 -07:00
Andrea Adami
ddda5e7b68 klibc-2.0.4: refresh patches (using devtool)
Silence warnings about ingnored context.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2018-05-01 18:11:03 -07:00
Martin Jansa
99aa19ff53 recipes: use oe.utils.conditional instead of deprecated base_conditional
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-02-01 13:48:27 +00:00
Khem Raj
c296fb707a klibc: Pass Optimization with KLIBCOPTFLAGS
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>
2017-10-04 14:53:37 +00:00
Khem Raj
028eeb8ca6 klibc: Edit out gcc hardcoding in do_compile
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>
2017-09-18 10:16:23 +02:00
Khem Raj
a2bdc3b9fb klibc: Fix include_next stdarg.h with clang
Fixes build

git/usr/klibc/../include/stdarg.h:9:15: fatal error: 'stdarg.h' file not found
| #include_next <stdarg.h>
|               ^~~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-09-13 11:13:22 +02:00
Khem Raj
8f65c719c7 klibc: Fix build with clang
Remove gcc specific options use common one instead

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-08-13 13:20:57 +02:00
Khem Raj
cafe21e8a2 klibc: Fix build issue when default ISA is not thumb
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>
2017-07-24 18:57:33 +02:00
Khem Raj
a52f2cb2e9 klibc: Fix linking by using bfd linker when default linker is gold
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-07-14 23:44:33 +02:00
Khem Raj
15266c135a klibc: Fix build with musl
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>
2017-07-14 23:44:33 +02:00
Andrea Adami
85b4e2e146 klibc: disable PARALLEL_MAKE
On modern buidsystems with many cores there are sporadic build failures.
The issue is known and a fix in the sources is awaited (new Kbuild).

http://www.zytor.com/pipermail/klibc/2013-May/003420.html

For the moment, disable PARALLEL_MAKE.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-04-24 10:59:27 +02:00
Andrea Adami
520034a86d klibc-utils_2.0.4: remove blacklisting
Recipe does build with the pending changes for meta-initramfs.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-02-16 12:06:36 +01:00
Andrea Adami
54f8d31797 klcc-cross: Use SYSROOT_DIRS to add dirs to stage in sysroot
As done for libtool-cross in oe-core.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-02-16 12:06:36 +01:00
Andrea Adami
2b9068b689 klcc-cross: restrict scope of SSTATE_SCAN_FILES
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>
2017-02-16 12:06:35 +01:00
Andrea Adami
f6649fa311 klcc-cross: disable packaging using appropriate
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>
2017-02-16 12:06:35 +01:00
Andrea Adami
f4fd9a0289 klcc-cross: fixes for recipe specific sysroot
The klcc script encodes the paths with custom escaping.
As stated in the patch "Turn the horribly encoded paths into something which
sstate can transform using its ususal magic by removing all the crazy escaping".

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-02-16 12:06:35 +01:00