diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-initramfs/recipes-devtools/klibc | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-initramfs/recipes-devtools/klibc')
20 files changed, 781 insertions, 0 deletions
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb new file mode 100644 index 0000000000..b285b2e8be --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb @@ -0,0 +1,34 @@ +SUMMARY = "The klcc crosscompiler for klibc" + +require klibc.inc +DEPENDS = "klibc" + +# no packaging for this crossscript +PACKAGES = "" +inherit nopackages + +FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:" + +SRC_URI += "file://use-env-for-perl.patch" + +# disable task already run in klibc recipe +do_configure[noexec] = "1" + +do_compile() { + oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${libdir}/klibc' klcc +} + +do_install() { + install -d ${D}${bindir_crossscripts}/ + install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc + # Turn the horribly encoded paths into something which sstate can transform using its ususal + # magic by removing all the crazy escaping. + sed -i -e "2i \$TARGETSYSROOT = '${STAGING_DIR_TARGET}';" \ + -e "2i \$NATIVESYSROOT = '${STAGING_DIR_NATIVE}';" \ + -e 's#${@d.getVar("STAGING_DIR_NATIVE", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${NATIVESYSROOT}#g;' \ + -e 's#${@d.getVar("STAGING_DIR_TARGET", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${TARGETSYSROOT}#g' \ + ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc +} + +SYSROOT_DIRS += "${bindir_crossscripts}" +SSTATE_SCAN_FILES += "*-klcc" diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch new file mode 100644 index 0000000000..e7a0cce837 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch @@ -0,0 +1,87 @@ +From 57e3a60b23891905733bfea7a1cb78c2377cc524 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 9 Jul 2017 15:17:29 -0700 +Subject: [PATCH] Define in_* structs for non-glibc system libs + +These defines and structs are required to be coming from +userspace netinet/in.h, which is being overridden in klibc +however, libc-compat.h from kernel is only written keeping +glibc in mind, and does not provide adequate guards for musl +to infer that these structs should be defined in linux/in.h + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + usr/include/net/if.h | 11 +++++++++++ + usr/include/netinet/in.h | 36 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 47 insertions(+) + +diff --git a/usr/include/net/if.h b/usr/include/net/if.h +index 116a176..6246b12 100644 +--- a/usr/include/net/if.h ++++ b/usr/include/net/if.h +@@ -1,6 +1,17 @@ + #ifndef _NET_IF_H + #define _NET_IF_H + ++#ifndef __GLIBC__ ++#include <linux/libc-compat.h> ++#undef __UAPI_DEF_IF_IFREQ ++#define __UAPI_DEF_IF_IFREQ 1 ++#undef __UAPI_DEF_IF_IFNAMSIZ ++#define __UAPI_DEF_IF_IFNAMSIZ 1 ++#undef __UAPI_DEF_IF_IFMAP ++#define __UAPI_DEF_IF_IFMAP 1 ++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <linux/if.h> +diff --git a/usr/include/netinet/in.h b/usr/include/netinet/in.h +index 2952bb2..0c95bc9 100644 +--- a/usr/include/netinet/in.h ++++ b/usr/include/netinet/in.h +@@ -5,6 +5,42 @@ + #ifndef _NETINET_IN_H + #define _NETINET_IN_H + ++#ifndef __GLIBC__ ++#include <linux/libc-compat.h> ++ ++#undef __UAPI_DEF_IN_ADDR ++#undef __UAPI_DEF_IN_IPPROTO ++#undef __UAPI_DEF_IN_PKTINFO ++#undef __UAPI_DEF_IP_MREQ ++#undef __UAPI_DEF_SOCKADDR_IN ++#undef __UAPI_DEF_IN_CLASS ++#undef __UAPI_DEF_IN6_ADDR ++#undef __UAPI_DEF_IN6_ADDR_ALT ++#undef __UAPI_DEF_SOCKADDR_IN6 ++#undef __UAPI_DEF_IPV6_MREQ ++#undef __UAPI_DEF_IPPROTO_V6 ++#undef __UAPI_DEF_IPV6_OPTIONS ++#undef __UAPI_DEF_IN6_PKTINFO ++#undef __UAPI_DEF_IP6_MTUINFO ++#undef __UAPI_DEF_IF_IFREQ ++ ++#define __UAPI_DEF_IN_ADDR 1 ++#define __UAPI_DEF_IN_IPPROTO 1 ++#define __UAPI_DEF_IN_PKTINFO 1 ++#define __UAPI_DEF_IP_MREQ 1 ++#define __UAPI_DEF_SOCKADDR_IN 1 ++#define __UAPI_DEF_IN_CLASS 1 ++#define __UAPI_DEF_IN6_ADDR 1 ++#define __UAPI_DEF_IN6_ADDR_ALT 1 ++#define __UAPI_DEF_SOCKADDR_IN6 1 ++#define __UAPI_DEF_IPV6_MREQ 1 ++#define __UAPI_DEF_IPPROTO_V6 1 ++#define __UAPI_DEF_IPV6_OPTIONS 1 ++#define __UAPI_DEF_IN6_PKTINFO 1 ++#define __UAPI_DEF_IP6_MTUINFO 1 ++#define __UAPI_DEF_IF_IFREQ 1 ++#endif ++ + #include <klibc/extern.h> + #include <stdint.h> + #include <endian.h> /* Must be included *before* <linux/in.h> */ diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch new file mode 100644 index 0000000000..181dcfb6de --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch @@ -0,0 +1,28 @@ +From 4b4147b76518d31a88fb2c58cdbf2236e159a25c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 8 Sep 2017 23:10:54 -0700 +Subject: [PATCH] Kbuild.klibc: Add path to compiler headers via -isystem + +We need to include this path so it can find compiler headers e.g. +stdarg.h which is called from wrapper stdarg.h using include_next + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + scripts/Kbuild.klibc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc +index 101f86f..1d5cdc4 100644 +--- a/scripts/Kbuild.klibc ++++ b/scripts/Kbuild.klibc +@@ -105,7 +105,8 @@ KLIBCOBJCOPY := $(OBJCOPY) + KLIBCOBJDUMP := $(OBJDUMP) + + # klibc include paths +-KLIBCCPPFLAGS := -nostdinc -iwithprefix include \ ++KLIBCCPPFLAGS := -nostdinc -iwithprefix include \ ++ -isystem $(shell $(CC) -print-file-name=include) \ + -I$(KLIBCINC)/arch/$(KLIBCARCHDIR) \ + -I$(KLIBCINC)/bits$(KLIBCBITSIZE) \ + -I$(KLIBCOBJ)/../include \ diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch new file mode 100644 index 0000000000..1ba05a811e --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch @@ -0,0 +1,28 @@ +From b6185401fc3daa7fa8ba2b84db3e4da3b94a9867 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 26 Jul 2017 16:13:16 -0700 +Subject: [PATCH] Kbuild.klibc: Use -print-libgcc-file-name instead of + --print-libgcc + +-print-libgcc-file-name works with clang and gcc unlike --print-libgcc +which is gcc specific + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + scripts/Kbuild.klibc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc +index f500d53..101f86f 100644 +--- a/scripts/Kbuild.klibc ++++ b/scripts/Kbuild.klibc +@@ -128,7 +128,7 @@ KLIBCCFLAGS += $(KLIBCCPPFLAGS) $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS) \ + KLIBCAFLAGS += -D__ASSEMBLY__ $(KLIBCCFLAGS) + KLIBCSTRIPFLAGS += --strip-all -R .comment -R .note + +-KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-libgcc) ++KLIBCLIBGCC_DEF := $(shell $(KLIBCCC) $(KLIBCCFLAGS) -print-libgcc-file-name) + KLIBCLIBGCC ?= $(KLIBCLIBGCC_DEF) + KLIBCCRT0 := $(KLIBCOBJ)/arch/$(KLIBCARCHDIR)/crt0.o + KLIBCLIBC := $(KLIBCOBJ)/libc.a diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch new file mode 100644 index 0000000000..de04d691fe --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch @@ -0,0 +1,28 @@ +From 63ab5102d6ef362a597941e62470bf19e6f1652b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Jul 2017 08:09:52 -0700 +Subject: [PATCH] always use bfd linker + +its possible that distros choose to default to gold linker +therefore explicitly asking for bfd linker would fix the +linking issues on such distros + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dc10fc5..40647be 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ include $(srctree)/scripts/Kbuild.include + KLIBCROSS ?= $(CROSS_COMPILE) + export KLIBCROSS + export CC := $(KLIBCROSS)gcc +-export LD := $(KLIBCROSS)ld ++export LD := $(KLIBCROSS)ld.bfd + export AR := $(KLIBCROSS)ar + export RANLIB := $(KLIBCROSS)ranlib + export STRIP := $(KLIBCROSS)strip diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch new file mode 100644 index 0000000000..fcf4f891a4 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch @@ -0,0 +1,29 @@ +From ebd2b0e414c98467156b961abb470b5d07f37ea8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Sep 2017 23:11:53 -0700 +Subject: [PATCH] arm: Do not set a fallback march and mtune + +In OE we pass the options explicitly, there is +no need to set it inside the makefiles, we will +need to compute values for CPU_ARCH and CPU_TUNE +which is a bit harder in OE + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + usr/klibc/arch/arm/MCONFIG | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG +index 303c6ac..48d2685 100644 +--- a/usr/klibc/arch/arm/MCONFIG ++++ b/usr/klibc/arch/arm/MCONFIG +@@ -10,7 +10,7 @@ + CPU_ARCH ?= armv4 + CPU_TUNE ?= strongarm + +-KLIBCOPTFLAGS += -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE) ++KLIBCOPTFLAGS += -Os + KLIBCBITSIZE = 32 + KLIBCREQFLAGS += -fno-exceptions + KLIBCSTRIPFLAGS += -R .ARM.exidx diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch new file mode 100644 index 0000000000..46a23987f5 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch @@ -0,0 +1,29 @@ +From 8beffe501c1ac5b35d62004735c4157c74183901 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 9 Jul 2017 13:51:25 -0700 +Subject: [PATCH] dash: Specify format string in fmtstr() + +Fixes build with hardening flags + +usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security] + col = fmtstr(s, 32, strsignal(st)); + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + usr/dash/jobs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c +index 009bbfe..299bcac 100644 +--- a/usr/dash/jobs.c ++++ b/usr/dash/jobs.c +@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly) + goto out; + #endif + } +- col = fmtstr(s, 32, strsignal(st)); ++ col = fmtstr(s, 32, "%s", strsignal(st)); + #ifdef WCOREDUMP + if (WCOREDUMP(status)) { + col += fmtstr(s + col, 16, " (core dumped)"); diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch new file mode 100644 index 0000000000..04c97fc5ee --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch @@ -0,0 +1,30 @@ +From d966d52d1e569cbc2293d841285e2b8941f28c61 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 9 Jul 2017 15:56:28 -0700 +Subject: [PATCH] include linux/sysinfo.h directly + +This is done to avoid the kernel header linux/kernel.h to use +__GLIBC__ define to decide on if libc implements sysinfo() API +or not. Kernel headers should be independent of such assumptions +but until its done in right place, change the local header +override to avoid this assumption + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + usr/include/sys/sysinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h +index dba68dc..d145c0b 100644 +--- a/usr/include/sys/sysinfo.h ++++ b/usr/include/sys/sysinfo.h +@@ -5,7 +5,7 @@ + #ifndef _SYS_SYSINFO_H + #define _SYS_SYSINFO_H + +-#include <linux/kernel.h> ++#include <linux/sysinfo.h> + + extern int sysinfo(struct sysinfo *info); + diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch new file mode 100644 index 0000000000..3bc081d4e9 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch @@ -0,0 +1,27 @@ +From cf97079009ba48d10e52052b2eab7461ea4dd09b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 10 Jul 2017 20:42:50 -0700 +Subject: [PATCH] mkfifo: Implement mkfifo + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + usr/utils/mkfifo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c +index 5a758b2..f1f577e 100644 +--- a/usr/utils/mkfifo.c ++++ b/usr/utils/mkfifo.c +@@ -26,6 +26,11 @@ static int make_fifo(char *dir) + return 0; + } + ++int mkfifo (const char *__p, mode_t __m) ++{ ++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0); ++} ++ + int main(int argc, char *argv[]) + { + int c, ret = 0; diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch new file mode 100644 index 0000000000..e842353061 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch @@ -0,0 +1,26 @@ +From d2fb484d995221277cce7abddcd7dfa0e8bceec3 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Fri, 11 Jan 2013 17:26:40 +0000 +Subject: [PATCH] klibc_2.0.2: apply FIX_V4BX patch for armv4 targets only + +Status: not applicable upstream, in OE/Yocto we use $(FIX_V4BX) +which is "" in case of armv5 or thumbs. + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> + +--- + usr/klibc/arch/arm/MCONFIG | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG +index 53bc1dc..303c6ac 100644 +--- a/usr/klibc/arch/arm/MCONFIG ++++ b/usr/klibc/arch/arm/MCONFIG +@@ -29,6 +29,7 @@ else + KLIBCSHAREDFLAGS = -Ttext 0x01800200 + ifeq ($(CONFIG_AEABI),y) + KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork ++KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX) + else + KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork + endif diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch new file mode 100644 index 0000000000..5f47d3f20a --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch @@ -0,0 +1,22 @@ +From 0cb26cf2d25d36c1fdcc4f1635e4329436ed866a Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Fri, 19 Sep 2014 23:09:29 +0200 + +--- + klcc/klcc.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/klcc/klcc.in b/klcc/klcc.in +index 43d0984..61e9385 100644 +--- a/klcc/klcc.in ++++ b/klcc/klcc.in +@@ -204,6 +204,9 @@ while ( defined($a = shift(@ARGV)) ) { + # Libraries + push(@libs, $a); + push(@libs, shift(@ARGV)) if ( $2 eq '' ); ++ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) { ++ # Override gcc encoded sysroot ++ push(@ccopt, $a); + } else { + die "$0: unknown option: $a\n"; + } diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch new file mode 100644 index 0000000000..f28cd54233 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch @@ -0,0 +1,24 @@ +From 1118cc971917abe19ddb029aa80417f6fd6bb343 Mon Sep 17 00:00:00 2001 +From: Thomas Kunze <thommycheck@gmx.de> +Date: Sat, 6 Aug 2011 05:30:14 +0000 +Subject: [PATCH] klibc: initial commit of version 1.5.24 + +Patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) +as of commit id b6764cf32ec93547531130dca364fb95e1c495f4 +Signed-off-by: Thomas Kunze <thommycheck@gmx.de> + +--- + defconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/defconfig b/defconfig +index 04b98e9..0cb23d0 100644 +--- a/defconfig ++++ b/defconfig +@@ -6,4 +6,4 @@ CONFIG_KLIBC_ZLIB=y + CONFIG_REGPARM=y + # ARM options + # CONFIG_KLIBC_THUMB is not set +-# CONFIG_AEABI is not set ++CONFIG_AEABI=y diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch new file mode 100644 index 0000000000..a5563b7407 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch @@ -0,0 +1,29 @@ +From 1be2bc41f915922102a3ba671b54c2df6f0052e6 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sun, 14 Mar 2010 18:41:56 +0000 +Subject: [PATCH] klibc_1.5.26: now build against linux-libc-headers + +commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a + + Taken from debian "Fix klibc Debian specific build trouble" + Adapted for klibc_2.0.2 + +--- + scripts/Kbuild.install | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install +index 8af5697..d32a8a5 100644 +--- a/scripts/Kbuild.install ++++ b/scripts/Kbuild.install +@@ -95,7 +95,9 @@ header: + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin +- $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install ++ $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \ ++ ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \ ++ done + $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. + $(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1 diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch new file mode 100644 index 0000000000..5c7a6625b5 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch @@ -0,0 +1,151 @@ +From 1892079b827cf8f8316305b6d6e0985db82441a2 Mon Sep 17 00:00:00 2001 +From: Thomas Kunze <thommycheck@gmx.de> +Date: Sat, 6 Aug 2011 05:30:14 +0000 +Subject: [PATCH] klibc: initial commit of version 1.5.24 + +Patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) +as of commit id eefb99a313bbcc8f34c8b32bf0c5aa2dd2580735 +Signed-off-by: Thomas Kunze <thommycheck@gmx.de> + +Minor edits following upstream changes +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> + +--- + scripts/Kbuild.install | 4 ---- + usr/dash/Kbuild | 2 -- + usr/gzip/Kbuild | 2 -- + usr/kinit/Kbuild | 2 -- + usr/kinit/fstype/Kbuild | 2 -- + usr/kinit/ipconfig/Kbuild | 2 -- + usr/kinit/nfsmount/Kbuild | 2 -- + usr/kinit/resume/Kbuild | 2 -- + usr/kinit/run-init/Kbuild | 2 -- + usr/klibc/Kbuild | 2 -- + usr/utils/Kbuild | 2 -- + 11 files changed, 24 deletions(-) + +diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install +index d32a8a5..fda699d 100644 +--- a/scripts/Kbuild.install ++++ b/scripts/Kbuild.install +@@ -88,19 +88,15 @@ else + header: + $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)" + $(Q)mkdir -p $(INSTALLROOT)$(bindir) +- $(Q)mkdir -p $(INSTALLROOT)$(mandir)/man1 +- $(Q)mkdir -p $(INSTALLROOT)$(SHLIBDIR) + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR) + $(Q)-rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib +- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin + $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \ + ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \ + done + $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. + $(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include +- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1 + $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir) + + footer: header +diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild +index 3a98c1f..1a6920a 100644 +--- a/usr/dash/Kbuild ++++ b/usr/dash/Kbuild +@@ -92,5 +92,3 @@ $(obj)/syntax.c: $(obj)/mksyntax + $(obj)/syntax.h: $(obj)/syntax.c + $(Q): + +-# Targets to install +-install-y := sh.shared +diff --git a/usr/gzip/Kbuild b/usr/gzip/Kbuild +index 9bbf0a4..c497d02 100644 +--- a/usr/gzip/Kbuild ++++ b/usr/gzip/Kbuild +@@ -21,5 +21,3 @@ $(obj)/gunzip $(obj)/zcat: $(obj)/gzip + # Cleaning + targets := gzip gzip.g gunzip zcat + +-# Targets to install +-install-y := gzip gunzip zcat +diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild +index 5320127..f7fdccd 100644 +--- a/usr/kinit/Kbuild ++++ b/usr/kinit/Kbuild +@@ -33,5 +33,3 @@ targets += kinit kinit.g kinit.shared kinit.shared.g + subdir- := fstype ipconfig nfsmount resume run-init + + +-# install binary +-install-y := kinit kinit.shared +diff --git a/usr/kinit/fstype/Kbuild b/usr/kinit/fstype/Kbuild +index 9b20db1..367611d 100644 +--- a/usr/kinit/fstype/Kbuild ++++ b/usr/kinit/fstype/Kbuild +@@ -21,5 +21,3 @@ shared/fstype-y := $(objs) + # Cleaning + clean-dirs := static shared + +-# install binary +-install-y := $(shared-y) +diff --git a/usr/kinit/ipconfig/Kbuild b/usr/kinit/ipconfig/Kbuild +index 7f8d181..eb1d472 100644 +--- a/usr/kinit/ipconfig/Kbuild ++++ b/usr/kinit/ipconfig/Kbuild +@@ -27,5 +27,3 @@ shared/ipconfig-y := $(objs) + # Cleaning + clean-dirs := static shared + +-# install binary +-install-y := $(shared-y) +diff --git a/usr/kinit/nfsmount/Kbuild b/usr/kinit/nfsmount/Kbuild +index 461e6f3..ba31708 100644 +--- a/usr/kinit/nfsmount/Kbuild ++++ b/usr/kinit/nfsmount/Kbuild +@@ -23,5 +23,3 @@ dummypmap-y := dummypmap_test.o + + clean-dirs := static shared + +-# Install binary +-install-y := $(shared-y) +diff --git a/usr/kinit/resume/Kbuild b/usr/kinit/resume/Kbuild +index 034195d..c1342e1 100644 +--- a/usr/kinit/resume/Kbuild ++++ b/usr/kinit/resume/Kbuild +@@ -26,5 +26,3 @@ shared/resume-lib := ../lib.a + # Cleaning + clean-dirs := static shared + +-# install binary +-install-y := $(shared-y) +diff --git a/usr/kinit/run-init/Kbuild b/usr/kinit/run-init/Kbuild +index f7832b7..c153b0a 100644 +--- a/usr/kinit/run-init/Kbuild ++++ b/usr/kinit/run-init/Kbuild +@@ -30,5 +30,3 @@ shared/run-init-lib := ../lib.a + # Cleaning + clean-dirs := static shared + +-# install binary +-install-y := $(shared-y) +diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild +index eba6add..98caf2e 100644 +--- a/usr/klibc/Kbuild ++++ b/usr/klibc/Kbuild +@@ -185,5 +185,3 @@ install-rule: + $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib)) + $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \ + $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib +- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \ +- $(INSTALLROOT)$(SHLIBDIR) +diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild +index 05aa794..67d9486 100644 +--- a/usr/utils/Kbuild ++++ b/usr/utils/Kbuild +@@ -72,5 +72,3 @@ $(obj)/shared/reboot $(obj)/shared/poweroff: $(obj)/shared/halt + # Clean deletes the static and shared dir + clean-dirs := static shared + +-# install only install the shared binaries +-install-y := $(shared-y) shared/reboot shared/poweroff diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch new file mode 100644 index 0000000000..eac128cc09 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch @@ -0,0 +1,25 @@ +Patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) +as of commit id 676cbb54d42c89a4832871064cfcb7ee2ad372ee + +klcc-cross: Add patch to use /usr/bin/env perl +Certain configurations (such as autobuilders) may build in very +deep paths (that are longer than the #! mechanism allows) which +makes it unsafe to use the direct path for perl. In our case we know +that /usr/bin/env perl will always return ours (if it has been built). + +Signed-off-by: Tom Rini <tom_rini@mentor.com> + +Index: klibc-1.5.20/klcc/makeklcc.pl +=================================================================== +--- a/klcc/makeklcc.pl ++++ b/klcc/makeklcc.pl +@@ -26,7 +26,7 @@ sub pathsearch($) { + return undef; + } + +-print "#!${perlpath}\n"; ++print "#!/usr/bin/env perl\n"; + + open(KLIBCCONF, "< $klibcconf\0") + or die "$0: cannot open $klibcconf: $!\n"; diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb new file mode 100644 index 0000000000..c835fd647a --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb @@ -0,0 +1,12 @@ +SUMMARY = "klibc utils for initramfs statically compiled" + +FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:" + +PACKAGES = "${PN}" +FILES_${PN} = "" + +KLIBC_UTILS_VARIANT = "static" +KLIBC_UTILS_PKGNAME = "klibc-static-utils" + +require klibc-utils.inc +require klibc.inc diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc new file mode 100644 index 0000000000..7df33d64e4 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc @@ -0,0 +1,60 @@ +do_install() { + install -d ${D}${base_bindir} + install -d ${D}${base_sbindir} + # debian packages kinit + kinit.shared but only sh.shared + if [ "${KLIBC_UTILS_VARIANT}" = "shared" ]; then + install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit + install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit.shared + install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh.shared + else + install -m 755 usr/dash/sh ${D}${base_bindir}/sh + install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit + fi + install -m 755 usr/gzip/gzip ${D}${base_bindir} + install -m 755 usr/kinit/fstype/${KLIBC_UTILS_VARIANT}/fstype ${D}${base_bindir} + install -m 755 usr/kinit/ipconfig/${KLIBC_UTILS_VARIANT}/ipconfig ${D}${base_bindir} + install -m 755 usr/kinit/nfsmount/${KLIBC_UTILS_VARIANT}/nfsmount ${D}${base_bindir} + install -m 755 usr/kinit/resume/${KLIBC_UTILS_VARIANT}/resume ${D}${base_bindir} + install -m 755 usr/kinit/run-init/${KLIBC_UTILS_VARIANT}/run-init ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/cat ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/chroot ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/cpio ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dd ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dmesg ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/false ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/halt ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/kill ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ln ${D}${base_bindir} + # losetup goes in ${base_sbindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/losetup ${D}${base_sbindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ls ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/minips ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mkdir ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mkfifo ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mknod ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mount ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mv ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/nuke ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/pivot_root ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/poweroff ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/readlink ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/reboot ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sleep ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sync ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/true ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/umount ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/uname ${D}${base_bindir} + ln -s gzip ${D}${base_bindir}/gunzip + ln -s gzip ${D}${base_bindir}/zcat +} + +EXTRA_KLIBC_DEPS = "${@oe.utils.conditional('KLIBC_UTILS_VARIANT', 'shared', '${THIS_LIBKLIBC}', '', d)}" + +PACKAGES_DYNAMIC += "^${KLIBC_UTILS_PKGNAME}-.*" + +python populate_packages_prepend () { + base_bin_dir = d.expand('${base_bindir}') + do_split_packages(d, base_bin_dir, '(.*)', '${KLIBC_UTILS_PKGNAME}-%s', 'Klibc util for %s', extra_depends='${EXTRA_KLIBC_DEPS}', allow_links=True, allow_dirs=True) + base_sbin_dir = d.expand('${base_sbindir}') + do_split_packages(d, base_sbin_dir, '(.*)', '${KLIBC_UTILS_PKGNAME}-%s', 'Klibc util for %s', extra_depends='${EXTRA_KLIBC_DEPS}', allow_dirs=True) +} diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb new file mode 100644 index 0000000000..06e71cb7b8 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb @@ -0,0 +1,14 @@ +SUMMARY = "klibc utils for initramfs" + +FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:" + +PACKAGES = "${PN}" +FILES_${PN} = "" + +KLIBC_UTILS_VARIANT = "shared" +KLIBC_UTILS_PKGNAME = "klibc-utils" + +require klibc-utils.inc +require klibc.inc + +DEPENDS = "klibc" diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc new file mode 100644 index 0000000000..30294b19a8 --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -0,0 +1,74 @@ +DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \ +use with initramfs. It is deliberately written for small size, \ +minimal entaglement, and portability, not speed." +SECTION = "libs" +LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib" +LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b" +DEPENDS = "linux-libc-headers perl-native" +SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c" + +SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ + ${ARMPATCHES} \ + file://klibc-linux-libc-dev.patch \ + file://staging.patch \ + file://klcc-consider-sysroot.patch \ + file://0001-dash-Specify-format-string-in-fmtstr.patch \ + file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ + file://0001-include-linux-sysinfo.h-directly.patch \ + file://0001-mkfifo-Implement-mkfifo.patch \ + file://0001-always-use-bfd-linker.patch \ + file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \ + file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \ + file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \ +" + +ARMPATCHES ?= "" + +ARMPATCHES_arm = "file://klibc-config-eabi.patch \ + file://armv4-fix-v4bx.patch \ + " + + +S = "${WORKDIR}/git" + +PARALLEL_MAKE = "" +EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ + 'CROSS_COMPILE=${TARGET_PREFIX}' \ + 'KLIBCKERNELSRC=${STAGING_DIR_TARGET}${exec_prefix}' \ + 'KLIBCLIBGCC=${STAGING_DIR_TARGET}${libdir}/${TARGET_SYS}/*/libgcc.a' \ + 'prefix=${exec_prefix}' \ + 'INSTALLROOT=${D}' \ + 'INSTALLDIR=${libdir}/klibc' \ + 'SHLIBDIR=${libdir}' \ + '${KLIBCTHUMB}' \ + 'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \ + V=1 \ + " + +export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" +KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" + +do_configure () { + ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux +} + +do_compile_prepend_toolchain-clang() { + sed -i -e 's#$(KLIBCROSS)gcc#$(KLIBCROSS)clang#g' ${S}/Makefile +} + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP_${PN} = "already-stripped" +INSANE_SKIP_libklibc-dev = "dev-elf" +KLIBC_ARCH = "${TARGET_ARCH}" +KLIBC_ARCH_aarch64 = "arm64" +KLIBC_ARCH_armeb = "arm" +KLIBC_ARCH_mipsel = "mips" +KLIBC_ARCH_x86 = "i386" +KLIBC_ARCH_x86-64 = "x86_64" +KLIBC_ARCH_powerpc = "ppc" +KLIBC_ARCH_powerpc64 = "ppc64" +THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})" + +SECURITY_CFLAGS = "-fno-PIE -no-pie" +SECURITY_LDFLAGS = "-no-pie" diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb new file mode 100644 index 0000000000..bc80f382fe --- /dev/null +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb @@ -0,0 +1,24 @@ +SUMMARY = "klibc, a small C library for use with initramfs" + +do_install() { + oe_runmake install + # the crosscompiler is packaged by klcc-cross + # remove klcc + rm ${D}${bindir}/klcc + # remove now empty dir + rmdir ${D}${bindir} + install -d ${D}${libdir} + install -m 755 usr/klibc/klibc-*.so ${D}${libdir} + (cd ${D}${libdir}; ln -s klibc-*.so klibc.so) +} + +PACKAGES = "libklibc libklibc-staticdev libklibc-dev" + +FILES_libklibc = "${libdir}/klibc-*.so" +FILES_libklibc-staticdev = "${libdir}/klibc/lib/libc.a" +FILES_libklibc-dev = "${libdir}/klibc.so \ + ${libdir}/klibc/lib/* \ + ${libdir}/klibc/include/* \ + " + +require klibc.inc |