mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
ld: Force SHELL=/bin/bash in ld for Solaris [PR32580]
As described in PR ld/32580, when using SHELL=/bin/sh or /bin/ksh on
Solaris, the generated linker scripts get corrupted. So far, the only
workaround is to enforce /bin/bash instead.
This is a major nuisance for developers and users alike, so this patch
automates this by overriding SHELL in ld/configure.ac.
Tested on amd64-pc-solaris2.11 in three configurations:
* CONFIG_SHELL unset
* CONFIG_SHELL=/bin/ksh
* CONFIG_SHELL='/bin/bash --norc'
In the first two cases, SHELL was set to /bin/bash as desired, while in
the third it was left unchanged.
2025-07-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
ld:
PR ld/32580
* configure.ac <*-*-solaris2*>: Enforce SHELL=/bin/bash.
* configure: Regenerate.
(cherry picked from commit 96ad2fd3c0)
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2025-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
PR ld/32580
|
||||
* configure.ac <*-*-solaris2*>: Enforce SHELL=/bin/bash.
|
||||
* configure: Regenerate.
|
||||
|
||||
2025-07-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* 2.45 Branch point.
|
||||
|
||||
17
ld/configure
vendored
17
ld/configure
vendored
@@ -3362,6 +3362,19 @@ fi
|
||||
|
||||
|
||||
|
||||
case $target in
|
||||
*-*-solaris2*)
|
||||
case "$SHELL" in
|
||||
*bash*)
|
||||
;;
|
||||
*)
|
||||
# PR 32580: Force use of bash to avoid corrupt linker scripts.
|
||||
SHELL=/bin/bash
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
@@ -11501,7 +11514,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 11504 "configure"
|
||||
#line 11517 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -11607,7 +11620,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 11610 "configure"
|
||||
#line 11623 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
||||
@@ -28,6 +28,19 @@ AM_INIT_AUTOMAKE
|
||||
AM_SILENT_RULES([yes])
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
case $target in
|
||||
*-*-solaris2*)
|
||||
case "$SHELL" in
|
||||
*bash*)
|
||||
;;
|
||||
*)
|
||||
# PR 32580: Force use of bash to avoid corrupt linker scripts.
|
||||
SHELL=/bin/bash
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_GREP
|
||||
|
||||
Reference in New Issue
Block a user