65 Commits

Author SHA1 Message Date
Fabien Thomas dcc3639696 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>
(cherry picked from commit 3f9032f126)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2023-10-17 08:23:02 -04:00
Khem Raj c1ff702cf6 klibc: Upgrade to 2.0.13 release
Drop backported patch and refresh others as needed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 04ed4f1383)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2023-10-12 09:58:06 -04: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
Jackie Huang b79176adb3 remove the unnecessary protocol parameters
It's not necessary to specify the protocol parameter when it's the
default protocol for the fetcher, e.g. the default protocol for
git fetcher it git, "protocol=git" isn't needed.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-09-03 16:59:13 +02:00
Andrea Adami 123c38942d klibc_2.0.2: refactor recipe to respect exec_prefix
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2013-09-03 14:53:44 +01:00
Andrea Adami 06318f3208 klibc: fix KLIBCARCH for x86-64, powerpc and powerpc64
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
2013-05-13 09:50:24 +01:00
Martin Jansa a45830a39b recipes: Unify indentation
* This change is only aesthetic (unlike indentation in Python
  tasks).
* Some recipes were using tabs.
* Some were using 8 spaces.
* Some were using mix or different number of spaces.
* Make them consistently use 4 spaces everywhere.
* Yocto styleguide advises to use tabs (but the only reason to keep
  tabs is the need to update a lot of recipes). Lately this advice
  was also merged into the styleguide on the OE wiki.
* Using 4 spaces in both types of tasks is better because it's less
  error prone when someone is not sure if e.g.
  do_generate_toolchain_file() is Python or shell task and also allows
  to highlight every tab used in .bb, .inc, .bbappend, .bbclass as
  potentially bad (shouldn't be used for indenting of multiline
  variable assignments and cannot be used for Python tasks).
* Don't indent closing quote on multiline variables
  we're quite inconsistent wheater it's first character on line
  under opening quote or under first non-whitespace character in
  previous line.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Acked-by: Koen Kooi <koen@dominion.thruhere.net>
2013-04-15 16:23:17 +02:00