Use gcc -finput-charset=ascii for check-installed-headers.

Message ID 20200212155523.2779689-1-stli@linux.ibm.com
State Superseded
Headers show
Series
  • Use gcc -finput-charset=ascii for check-installed-headers.
Related show

Commit Message

Stefan Liebler Feb. 12, 2020, 3:55 p.m.
A non-ascii character in the installed headers leads now to:
error: failure to convert ascii to UTF-8

Such a finding in s390 specific fenv.h leads to fails in GCC testsuite.
See glibc commit 08aea89ef67c5780ae734073494df0a451bce20f.

Adding this gcc option also to our tests was proposed by Florian Weimer.

This change also found a hit in resource.h where now "us" is used for
microseconds. I've adjusted all the resource.h files.

I've used the following command to check for further hits in headers.
LC_ALL=C find -name "*.h" -exec grep -PHn "[\x80-\xFF]" {} \;

Tested on s390x and x86_64.
---
 scripts/check-installed-headers.sh            | 3 ++-
 sysdeps/unix/sysv/linux/alpha/bits/resource.h | 2 +-
 sysdeps/unix/sysv/linux/bits/resource.h       | 2 +-
 sysdeps/unix/sysv/linux/mips/bits/resource.h  | 2 +-
 sysdeps/unix/sysv/linux/sparc/bits/resource.h | 2 +-
 5 files changed, 6 insertions(+), 5 deletions(-)

-- 
2.23.0

Comments

Zack Weinberg Feb. 12, 2020, 4:11 p.m. | #1
On Wed, Feb 12, 2020 at 10:55 AM Stefan Liebler <stli@linux.ibm.com> wrote:
>

> A non-ascii character in the installed headers leads now to:

> error: failure to convert ascii to UTF-8

>

> Such a finding in s390 specific fenv.h leads to fails in GCC testsuite.

> See glibc commit 08aea89ef67c5780ae734073494df0a451bce20f.

>

> Adding this gcc option also to our tests was proposed by Florian Weimer.

>

> This change also found a hit in resource.h where now "us" is used for

> microseconds. I've adjusted all the resource.h files.


Would you mind changing all of these to the word "microseconds"
instead?  "µs" was already a cryptic abbreviation, but at least it was
an official SI cryptic abbreviation that people could look up easily.
"us" is not easy to look up, because there are lots of other meanings
that are much more common (see e.g.
https://en.wikipedia.org/wiki/US_(disambiguation) -- microseconds are
mentioned but only at the very bottom of the page).

Otherwise, LGTM.

zw

Patch

diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh
index 0ed572ce0d..f70340f098 100644
--- a/scripts/check-installed-headers.sh
+++ b/scripts/check-installed-headers.sh
@@ -123,7 +123,8 @@  $expanded_lib_mode
 #include <$header>
 int avoid_empty_translation_unit;
 EOF
-            if $cc_cmd -fsyntax-only $lang_mode "$cih_test_c" 2>&1
+            if $cc_cmd -finput-charset=ascii -fsyntax-only $lang_mode \
+		       "$cih_test_c" 2>&1
             then :
             else failed=1
             fi
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/resource.h b/sysdeps/unix/sysv/linux/alpha/bits/resource.h
index 7210bc7ea3..83348e1751 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/resource.h
@@ -98,7 +98,7 @@  enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in µs that a process scheduled under a real-time
+  /* Maximum CPU time in us that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
diff --git a/sysdeps/unix/sysv/linux/bits/resource.h b/sysdeps/unix/sysv/linux/bits/resource.h
index 3cc3eedcc3..da897844ab 100644
--- a/sysdeps/unix/sysv/linux/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/bits/resource.h
@@ -98,7 +98,7 @@  enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in µs that a process scheduled under a real-time
+  /* Maximum CPU time in us that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
diff --git a/sysdeps/unix/sysv/linux/mips/bits/resource.h b/sysdeps/unix/sysv/linux/mips/bits/resource.h
index f423ff8fc2..6cd91f88c8 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/resource.h
@@ -98,7 +98,7 @@  enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in µs that a process scheduled under a real-time
+  /* Maximum CPU time in us that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/resource.h b/sysdeps/unix/sysv/linux/sparc/bits/resource.h
index 714f30fd73..9892227d3a 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/resource.h
@@ -98,7 +98,7 @@  enum __rlimit_resource
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  /* Maximum CPU time in µs that a process scheduled under a real-time
+  /* Maximum CPU time in us that a process scheduled under a real-time
      scheduling policy may consume without making a blocking system
      call before being forcibly descheduled.  */
   __RLIMIT_RTTIME = 15,