summaryrefslogtreecommitdiff
path: root/project.conf
diff options
context:
space:
mode:
Diffstat (limited to 'project.conf')
-rw-r--r--project.conf20
1 files changed, 20 insertions, 0 deletions
diff --git a/project.conf b/project.conf
index 36da61d4..83a09073 100644
--- a/project.conf
+++ b/project.conf
@@ -14,6 +14,26 @@ variables:
target-stage1: "%{cpu}-bootstrap-linux-%{abi}"
target: "%{cpu}-baserock-linux-%{abi}"
+ # This should match the %{strip-binaries} variable in BuildStream's default
+ # project config. But when doing a cross-build of stage2.bst we need to force
+ # use the cross binutils; the native binutils from the base sysroot will
+ # ignore the non-native binaries and leave them unstripped.
+ stage2-strip-binaries: |
+ find "%{install-root}" -type f \
+ '(' -perm -111 -o -name '*.so*' \
+ -o -name '*.cmxs' -o -name '*.node' ')' \
+ -exec sh -ec \
+ 'read -n4 hdr <"$1" # check for elf header
+ if [ "$hdr" != "$(printf \\x7fELF)" ]; then
+ exit 0
+ fi
+ debugfile="%{install-root}%{debugdir}/$(basename "$1")"
+ mkdir -p "$(dirname "$debugfile")"
+ %{target-stage1}-objcopy --only-keep-debug "$1" "$debugfile"
+ chmod 644 "$debugfile"
+ %{target-stage1}-strip --remove-section=.comment --remove-section=.note --strip-unneeded "$1"
+ %{target-stage1}-objcopy --add-gnu-debuglink "$debugfile" "$1"' - {} ';'
+
# Resolve the cpu and ABI portions of the host triple based
# on architecture names.
arches: