diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-08 11:12:45 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-17 13:59:52 +0000 |
commit | 1c3c06842ac1b9c089d0a08e91c60f44e4844fac (patch) | |
tree | 21e97368be8f78a3e76b66dfda24c1d5e774519f /meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch | |
parent | c1e048fc05542d859115990312e0753ce2dea72e (diff) |
SPEC-3723: restructure meta-agl
Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time.
Trim dependencies and move most 'demo' related recipes to meta-agl-demo.
v2: changed to bbapend + .inc , added description
v3: testbuild of all images
v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups.
v5: rebased
v6: merged meta-agl-distro into meta-agl-core,
due to dependency on meta-oe, moved -test packagegroup and -qa images
to own layer meta-agl-core-test
v7: Fixed comments from Paul Barker
v8: Update the markdown files
v9: restore wayland/weston/agl-compositor recipes/appends, reworked to
move app f/w specific changes to bbappends in meta-app-framework and
only demo specific weston-init changes to meta-agl-demo
v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend
Description:
This patch is part 1 out of 2 large patches that implement the layer rework
discussed during the previous workshop. Essentially meta-agl-core is the
small but versatile new core layer of AGL serving as basis for
the work done by the IC and IVI EGs.
All demo related work is moved to meta-agl-demo in the 2nd patchset.
This should be applied together as atomic change.
The resulting meta-agl/* follows these guidelines:
- only bsp adaptations in meta-agl-bsp
- remove the agl-profile-* layers for simplicity
-- the packagegroup-agl(-profile)-graphical and so on
have been kept in meta-agl-demo
- meta-agl-profile-core is now meta-agl-core
- meta-agl-core does pass yocto-check-layer
-- therefore use the bbappend + conditional + .inc file
construct found in meta-virtualization
- meta-agl/meta-security has been merged into meta-agl/meta-app-framework
- meta-netboot does pass yocto-check-layer
- meta-pipewire does pass yocto-check-layer
Migration:
All packagegroups are preserved but they're now enabled by 'agl-demo'.
Bug-AGL: SPEC-3723
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769
Diffstat (limited to 'meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch')
-rw-r--r-- | meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch deleted file mode 100644 index 7540b7467..000000000 --- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch +++ /dev/null @@ -1,138 +0,0 @@ -From ab0d7e270d89f6eb99582197d2d58bf60c9c3d26 Mon Sep 17 00:00:00 2001 -From: Anton Gerasimov <anton@advancedtelematic.com> -Date: Thu, 15 Sep 2016 16:49:32 +0200 -Subject: [PATCH 2/2] Replace wraps with built-in code to remove dependency on - multilib - ---- - arch/x86/config.mk | 2 -- - arch/x86/lib/gcc.c | 104 ++++++++++++++++++++++++++++++++++++++++++++--------- - 2 files changed, 87 insertions(+), 19 deletions(-) - -diff --git a/arch/x86/config.mk b/arch/x86/config.mk -index 999143e..139576e 100644 ---- a/arch/x86/config.mk -+++ b/arch/x86/config.mk -@@ -22,5 +22,3 @@ PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden - PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386 - - LDFLAGS_FINAL += --gc-sections -pie --LDFLAGS_FINAL += --wrap=__divdi3 --wrap=__udivdi3 --LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3 -diff --git a/arch/x86/lib/gcc.c b/arch/x86/lib/gcc.c -index 497ad75..c321b11 100644 ---- a/arch/x86/lib/gcc.c -+++ b/arch/x86/lib/gcc.c -@@ -19,22 +19,92 @@ - - #ifdef __GNUC__ - --/* -- * GCC's libgcc handling is quite broken. While the libgcc functions -- * are always regparm(0) the code that calls them uses whatever the -- * compiler call specifies. Therefore we need a wrapper around those -- * functions. See gcc bug PR41055 for more information. -- */ --#define WRAP_LIBGCC_CALL(type, name) \ -- type __normal_##name(type a, type b) __attribute__((regparm(0))); \ -- type __wrap_##name(type a, type b); \ -- type __attribute__((no_instrument_function)) \ -- __wrap_##name(type a, type b) \ -- { return __normal_##name(a, b); } -- --WRAP_LIBGCC_CALL(long long, __divdi3) --WRAP_LIBGCC_CALL(unsigned long long, __udivdi3) --WRAP_LIBGCC_CALL(long long, __moddi3) --WRAP_LIBGCC_CALL(unsigned long long, __umoddi3) -+#include <stdint.h> -+#include <stddef.h> -+ -+uint64_t __udivmoddi4 ( uint64_t num, -+ uint64_t den, -+ uint64_t *rem_p ) -+{ -+ uint64_t quot = 0, qbit = 1; -+ -+ if ( den == 0 ) { -+ return 1/((unsigned)den); /* Intentional divide by zero, without -+ triggering a compiler warning which -+ would abort the build */ -+ } -+ -+ /* Left-justify denominator and count shift */ -+ while ( (int64_t)den >= 0 ) { -+ den <<= 1; -+ qbit <<= 1; -+ } -+ -+ while ( qbit ) { -+ if ( den <= num ) { -+ num -= den; -+ quot += qbit; -+ } -+ den >>= 1; -+ qbit >>= 1; -+ } -+ -+ if ( rem_p ) -+ *rem_p = num; -+ -+ return quot; -+} -+uint64_t __udivdi3( uint64_t num, uint64_t den ) -+{ -+ return __udivmoddi4(num, den, NULL); -+} -+ -+uint64_t __umoddi3 ( uint64_t num, uint64_t den ) -+{ -+ uint64_t v; -+ -+ (void) __udivmoddi4(num, den, &v); -+ return v; -+} -+ -+int64_t __divmoddi4 ( int64_t num, -+ int64_t den, -+ int64_t* rem_p ) -+{ -+ int minus = 0; -+ int64_t v; -+ -+ if ( num < 0 ) { -+ num = -num; -+ minus = 1; -+ } -+ if ( den < 0 ) { -+ den = -den; -+ minus ^= 1; -+ } -+ -+ v = __udivmoddi4(num, den, (uint64_t *)rem_p); -+ if ( minus ) { -+ v = -v; -+ if ( rem_p ) -+ *rem_p = -(*rem_p); -+ } -+ -+ return v; -+} -+ -+ -+int64_t __moddi3 (int64_t num, int64_t den) -+{ -+ int64_t v; -+ -+ (void) __divmoddi4(num, den, &v); -+ return v; -+} -+ -+int64_t __divdi3(int64_t num, int64_t den) -+{ -+ return __divmoddi4(num, den, NULL); -+} - - #endif --- -2.9.3 - |