diff options
author | Alexey Neyman <stilor@att.net> | 2017-01-28 13:33:43 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-28 13:33:43 -0800 |
commit | d0682f9ad5492ea541edb77d1c39d82144477b8a (patch) | |
tree | 80adb198f805f8c2b8057dc12c03dd557a5062af /scripts/build | |
parent | 0636034688b0d03577ae1b543c92ebab90d14c68 (diff) | |
parent | d7b043e360dbf261ddb97accf5c454d3cf88f92e (diff) | |
download | crosstool-ng-d0682f9ad5492ea541edb77d1c39d82144477b8a.tar.gz crosstool-ng-d0682f9ad5492ea541edb77d1c39d82144477b8a.tar.bz2 crosstool-ng-d0682f9ad5492ea541edb77d1c39d82144477b8a.zip |
Merge pull request #563 from stilor/musl-mips-refix
Add a workaround for musl in build scripts
Diffstat (limited to 'scripts/build')
-rw-r--r-- | scripts/build/arch.sh | 5 | ||||
-rw-r--r-- | scripts/build/arch/mips.sh | 19 | ||||
-rw-r--r-- | scripts/build/libc/musl.sh | 3 |
3 files changed, 27 insertions, 0 deletions
diff --git a/scripts/build/arch.sh b/scripts/build/arch.sh index 3d3611b1..75d3e211 100644 --- a/scripts/build/arch.sh +++ b/scripts/build/arch.sh @@ -64,5 +64,10 @@ CT_DoArchMUSLHeaderDir() { :; } +# MUSL: Perform any final adjustments on the installed libc/headers +CT_DoArchMUSLPostInstall() { + :; +} + # Override from the actual arch implementation as needed. . "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh" diff --git a/scripts/build/arch/mips.sh b/scripts/build/arch/mips.sh index 6097c89f..f91a80a0 100644 --- a/scripts/build/arch/mips.sh +++ b/scripts/build/arch/mips.sh @@ -69,3 +69,22 @@ CT_DoArchUClibcCflags() { esac done } + +CT_DoArchMUSLPostInstall() { + # GDB and MUSL maintainers seem to disagree on whether <sgidefs.h> + # is to be provided as a part of C library. GDB guys think it is + # a C library responsibility, while MUSL authors think GDB should + # not be using <sgidefs.h>. Neither side is willing to reach out + # to the other and negotiate the needed changes, and I don't want + # to play the middle man. Hence, provide our own wrapper for + # for <sgidefs.h> - the only solution short of telling MUSL users + # stop using it. This is why MUSL is experimental in ct-ng and + # will likely remain in that status. + # References: + # http://www.openwall.com/lists/musl/2017/01/26/2 + # https://sourceware.org/ml/gdb-patches/2017-01/msg00469.html + # https://www.sourceware.org/ml/libc-alpha/2004-11/msg00034.html + if [ ! -r "${CT_HEADERS_DIR}/sgidefs.h" ]; then + echo "#include <asm/sgidefs.h> // Redirected by ct-ng" > "${CT_HEADERS_DIR}/sgidefs.h" + fi +} diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh index 9bbd95a0..4ccb84c0 100644 --- a/scripts/build/libc/musl.sh +++ b/scripts/build/libc/musl.sh @@ -154,6 +154,9 @@ do_libc_backend_once() { ;; esac done + + # Any additional actions for this architecture + CT_DoArchMUSLPostInstall fi CT_EndStep |