From a13d3314cd4ddc812c3ac2904c8f563f7462878a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 21 Jul 2018 10:06:00 -0700 Subject: systemd: Explicitly add hidden attribute to __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP These symbols appear in dynsyms of libsystemd.so and musl loader doesnt like it Error relocating /mnt/a/oe/build/tmp/work/i586-bec-linux-musl/avahi/0.7-r0/recipe-sysroot//lib/libsystemd.so.0: __start_BUS_ERROR_MAP: symbol not found Error relocating /mnt/a/oe/build/tmp/work/i586-bec-linux-musl/avahi/0.7-r0/recipe-sysroot//lib/libsystemd.so.0: __stop_BUS_ERROR_MAP: symbol not found [YOCTO #12577] Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...rt_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch | 34 ++++++++++++++++++++++ meta/recipes-core/systemd/systemd_239.bb | 1 + 2 files changed, 35 insertions(+) create mode 100644 meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch (limited to 'meta') diff --git a/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch new file mode 100644 index 0000000000..668f273208 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch @@ -0,0 +1,34 @@ +From 687a5af8dc5d38f918a6ce08fed5297234bf8346 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 2 Mar 2018 18:00:17 -0800 +Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP + +for currently unknown reasons they get exported to the shared libries +even without being listed in the sym file + +Signed-off-by: Khem Raj +--- + +Upstream-Status: Pending [ Conditional on master needing this, 239 does need it ] + + src/libsystemd/sd-bus/bus-error.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c +index 378f7a377..49d797abd 100644 +--- a/src/libsystemd/sd-bus/bus-error.c ++++ b/src/libsystemd/sd-bus/bus-error.c +@@ -71,8 +71,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = { + }; + + /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */ +-extern const sd_bus_error_map __start_BUS_ERROR_MAP[]; +-extern const sd_bus_error_map __stop_BUS_ERROR_MAP[]; ++extern const sd_bus_error_map __start_BUS_ERROR_MAP[] _hidden_; ++extern const sd_bus_error_map __stop_BUS_ERROR_MAP[] _hidden_; + + /* Additional maps registered with sd_bus_error_add_map() are in this + * NULL terminated array */ +-- +2.16.2 + diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb index 7822548993..dc1545abad 100644 --- a/meta/recipes-core/systemd/systemd_239.bb +++ b/meta/recipes-core/systemd/systemd_239.bb @@ -52,6 +52,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ file://0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ file://0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ " # Workaround undefined reference to `__stack_chk_fail_local' on qemux86 and qemuppc for musl -- cgit 1.2.3-korg