69 Commits

Author SHA1 Message Date
Khem Raj 8f3df8b447 recipes: Convert licenses to SPDX expressions
- Automatically convert all licenses to valid SPDX license expressions
  using convert-spdx-licenses.py

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-07-20 22:35:47 -07:00
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
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 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 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 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
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 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 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
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
Michael Walle ba733d1ae9 klibc: fix install destination in 64bit env
klibc installs everything into /usr/lib by default. But the recipe assumes
it installs to ${libdir} which is /usr/lib64 in 64bit environment. Package
generation fails badly in this case. Set INSTALLDIR to fix this.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-07-29 11:00:56 +02:00
Andrea Adami 807b7c58ae klibc: fix sh deps ver (PR is needed after PV)
Revert commit dd1ca18 removing ${PR}. Bad idea.
The shared lib could not be found giving this error:

Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for
   klibc-utils-XXX:
 * 	libklibc (= 2.0.4) *
 * opkg_install: Cannot install package klibc-utils-XXX.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-25 17:45:46 +01:00
Andrea Adami 36972191e8 klibc_2.0.4: Silence Warning about klibc-xxx-so already stripped
Fixes:
WARNING: File 'usr/lib/klibc-HWWIvOaMdZy4N4-6rLLHAB2TjFQ.so'
from klibc  was already stripped, this will prevent future debugging!
WARNING: File 'usr/lib/klibc/lib/klibc-HWWIvOaMdZy4N4-6rLLHAB2TjFQ.so'
from klibc was already stripped, this will prevent future debugging!

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-25 17:45:45 +01:00
Andrea Adami e1a1fa2383 klibc_2.0.4: Silence QA Error about non-symlink so [dev-elf]
Following debian packaging-style we have a copy of klibc-xxx.so in libklibc-dev.
(Comments can be found in klibc.spec.in)

Fixes:
ERROR: QA Issue: -dev package contains non-symlink .so:
ibklibc-dev path 'work/i586-oe-linux/klibc/2.0.4-r0/packages-split/
libklibc-dev/usr/lib/klibc/lib/klibc-HWWIvOaMdZy4N4-6rLLHAB2TjFQ.so'
-dev package contains non-symlink .so:
libklibc-dev path 'work/i586-oe-linux/klibc/2.0.4-r0/packages-split/
libklibc-dev/usr/lib/klibc/lib/libc.so' [dev-elf]

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-25 17:45:45 +01:00
Andrea Adami 187ed64811 klibc_2.0.4: update to 4d1997d - Fix build for qemux86
Minimally rebase staging.patch and follow upstream commits.

Fixes:
| usr/klibc/socketcalls/socket.o: In function `socket':
| .../usr/klibc/socketcalls/socket.S:8: multiple definition of `socket'

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-25 17:45:44 +01:00
Andre McCurdy 87577ec070 klibc.inc: use x86 over-ride instead of i486/i586/i686/pentium
32bit x86 is covered by the x86 over-ride, so duplicate over-rides for
i486/i586/i686/pentium are not required.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-08 14:15:23 +02:00
Andrea Adami 65007b398c klibc: define KLIBCLIBGCC
Fix build of klibc extending the EXTRA_OEMAKE.

|   LIST    usr/klibc/klib.list
|   KLIBCAR usr/klibc/libc.a
|   KLIBCLD usr/klibc/libc.so
| arm-oe-linux-gnueabi-ld: cannot find libgcc.a: No such file or directory
| make[2]: *** [usr/klibc/libc.so] Error 1
| make[2]: *** Waiting for unfinished jobs....
| make[1]: *** [all] Error 2
| make: *** [klibc] Error 2
| ERROR: oe_runmake failed

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2014-11-17 10:00:45 +00:00
Andrea Adami 0a67b9f3fd klibc: klcc: consider --sysroot option and override gcc-cross encoded sysroot
For the recipes built with klcc-cross it is necessary to
pass --sysroot otherwise we default to the one encoded in gcc-cross which
actually is the 'first one' built.
The issue was revealed when building for armv4 after having built for armv5te:
the produced binaries did contain Illegal Instruction (bx lr).

Use ${TOOLCHAIN_OPTIONS} variable to specify --sysroot=${STAGING_DIR_TARGET}

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-09-26 05:41:54 +02:00
Andrea Adami 2f85f5a948 klibc: upgrade to released 2.0.4
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-07-24 15:32:55 +02:00
Andrea Adami 477ccd867c klibc: restylize a bit the recipes
No runtime changes.
Reorder and fix some typos in the comments.
Remove unneeded empty do_install from utils.
Fix bogus PACKAGES_${PN} = "${PN}".

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2014-04-06 13:36:20 +01:00
Koen Kooi 2397f51915 klibc: ensure package strip logic stays the same after oe-core package.bbclass changes
See http://patches.openembedded.org/patch/65311/

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
2014-02-17 15:36:43 +00:00
Andrea Adami dd1ca18fb9 klibc.inc: remove ${PR} leftover
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2014-02-16 21:34:49 +00:00
Andrea Adami d4ba54f15f klibc: upgrade from 2.0.2 to release 2.0.3
Klibc now supports aarch64 / arm64
While there, remove PR/INC_PR from the recipes

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2013-12-17 20:53:23 +00:00
Koen Kooi 5782b2d27b klibc.inc: add mapping for 64-bit ARM builds
Klibc is following the kernel naming ('arm64') instead of the toolchain naming ('aarch64').

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
2013-12-17 20:53:14 +00:00