Set LC_ALL=C for LIBC_LINKER_FEATURE [BZ #28738]

Message ID CAMe9rOp0CTvXQSFaFH+qOeQ_kJ6ABUk=hWcYWruQV9uh5qJrNA@mail.gmail.com
State Dropped
Headers
Series Set LC_ALL=C for LIBC_LINKER_FEATURE [BZ #28738] |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

H.J. Lu Jan. 4, 2022, 6:47 p.m. UTC
  On Tue, Jan 4, 2022 at 10:37 AM Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Sun, 2 Jan 2022, H.J. Lu via Libc-alpha wrote:
>
> > +    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp $2 -nostdlib \
> > +     -nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
> > +     | grep "warning: $1 ignored" > /dev/null 2>&1; then
>
> If you check for specific English language text like that (which may not
> be a good idea, since binutils maintainers may expect to be able to

True.  Different linkers can have different behavior on unknown
options.   We need to update the linker feature check for it.

> rephrase messages without breaking glibc), you need to run the linker (and
> thus the compiler) with LC_ALL=C to avoid getting a translated message.
>

Here is a patch to set LC_ALL=C for LIBC_LINKER_FEATURE.

Thanks.
  

Patch

From 8f3266ac512e2182c49a42f065bbe97451044ebc Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 4 Jan 2022 10:40:56 -0800
Subject: [PATCH] Set LC_ALL=C for LIBC_LINKER_FEATURE [BZ #28738]

Set LC_ALL=C when compiling the LIBC_LINKER_FEATURE to avoid linker
warning message translation.

This updates the fix for BZ #28738.
---
 aclocal.m4 | 2 +-
 configure  | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index 3e0bcdd12b..7ee9c53ee8 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -236,7 +236,7 @@  EOF
 		    -fPIC -shared -o conftest.so conftest.c
 		    1>&AS_MESSAGE_LOG_FD])
   then
-    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp $2 -nostdlib \
+    if LC_ALL=C ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp $2 -nostdlib \
 	-nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
 	| grep "warning: $1 ignored" > /dev/null 2>&1; then
       true
diff --git a/configure b/configure
index 3f956cf777..a71360abd9 100755
--- a/configure
+++ b/configure
@@ -6009,7 +6009,7 @@  EOF
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }
   then
-    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,-z,execstack -nostdlib \
+    if LC_ALL=C ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,-z,execstack -nostdlib \
 	-nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
 	| grep "warning: -z execstack ignored" > /dev/null 2>&1; then
       true
@@ -6045,7 +6045,7 @@  EOF
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }
   then
-    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,-z,start-stop-gc -nostdlib \
+    if LC_ALL=C ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,-z,start-stop-gc -nostdlib \
 	-nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
 	| grep "warning: -z start-stop-gc ignored" > /dev/null 2>&1; then
       true
@@ -6082,7 +6082,7 @@  EOF
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }
   then
-    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,--depaudit,x -nostdlib \
+    if LC_ALL=C ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,--depaudit,x -nostdlib \
 	-nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
 	| grep "warning: --depaudit ignored" > /dev/null 2>&1; then
       true
@@ -6119,7 +6119,7 @@  EOF
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }
   then
-    if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,--no-dynamic-linker -nostdlib \
+    if LC_ALL=C ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -Wl,--no-dynamic-linker -nostdlib \
 	-nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
 	| grep "warning: --no-dynamic-linker ignored" > /dev/null 2>&1; then
       true
-- 
2.33.1