summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-06-20 09:35:47 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-06-20 09:36:54 +0000
commit00bc853b7189bab7ead592db595a116cb3ac7bff (patch)
treeb385a489ccb4d8f0e260d092f898f084202cd18a
parent22b7e1628bfc4548201c537e7504a8b5584c4ff7 (diff)
downloaddefinitions-00bc853b7189bab7ead592db595a116cb3ac7bff.tar.gz
gnu-toolchain: Fix ld.so on ppc64l
The ELF ABI version is different on POWER64 little-endian compared to big-endian. I guess previously only POWER64 big-endian was tested.
-rw-r--r--elements/gnu-toolchain/stage2-glibc.bst18
1 files changed, 12 insertions, 6 deletions
diff --git a/elements/gnu-toolchain/stage2-glibc.bst b/elements/gnu-toolchain/stage2-glibc.bst
index ac7a8446..94870012 100644
--- a/elements/gnu-toolchain/stage2-glibc.bst
+++ b/elements/gnu-toolchain/stage2-glibc.bst
@@ -3,8 +3,8 @@ kind: manual
sources:
- kind: git
url: upstream:glibc
- track: release/2.22/master
- ref: b995d95a5943785be3ab862b2d3276f3b4a22481
+ track: baserock/sam/2.25-musl-only
+ ref: 00a9ec84b6f50fd602a18ae4372c408ca1c24361
depends:
- filename: gnu-toolchain/stage1.bst
@@ -100,9 +100,11 @@ config:
# Install a symlink for the program interpreter (ld.so) so that binaries
# built in stage 3 before the stage 3 glibc is built can use it.
- # FIXME: get a better way of finding the name of the loader. The lib64
- # path is hardcoded into glibc in the file
- # sysdeps/unix/sysv/linux/configure.
+ #
+ # The name of the dynamic loader is hardcoded in GCC during its 'configure'
+ # stage, but the file is actually provided by the libc (usually GLIBC). It
+ # would be better if we could ask GCC or GLIBC what the expected name of the
+ # ld.so is for the given platform rather than figuring it out
- install -d %{install-root}/lib
- |
case "%{bst-target-arch}" in
@@ -110,7 +112,11 @@ config:
install -d "%{install-root}/lib64"
ln -s "%{prefix}/lib/ld-linux-x86-64.so.2" \
"%{install-root}/lib64/ld-linux-x86-64.so.2" ;;
- ppc64l|ppc64b)
+ ppc64l)
+ install -d "%{install-root}/lib64"
+ ln -s "%{prefix}/lib/ld64.so.2" \
+ "%{install-root}/lib64/ld64.so.2" ;;
+ ppc64b)
install -d "%{install-root}/lib64"
ln -s "%{prefix}/lib/ld64.so.1" \
"%{install-root}/lib64/ld64.so.1" ;;