public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/release/2.37/master] stdio-common: tests: don't double-define _FORTIFY_SOURCE
@ 2023-04-11  2:37 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-04-11  2:37 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1d63573f81945a489ea169636fa11850bc74716b

commit 1d63573f81945a489ea169636fa11850bc74716b
Author: Sam James <sam@gentoo.org>
Date:   Tue Feb 21 09:27:26 2023 +0000

    stdio-common: tests: don't double-define _FORTIFY_SOURCE
    
    Exactly the same as 35bcb08eaa953c9b8bef6ab2486dc4361e1f26c0.
    
    If using -D_FORITFY_SOURCE=3 (in my case, I've patched GCC to add
    =3 instead of =2 (we've done =2 for years in Gentoo)), building
    glibc tests will fail on tst-bz11319-fortify2 like:
    ```
    <command-line>: error: "_FORTIFY_SOURCE" redefined [-Werror]
    <built-in>: note: this is the location of the previous definition
    cc1: all warnings being treated as errors
    ```
    
    It's just because we're always setting -D_FORTIFY_SOURCE=2
    rather than unsetting it first. If F_S is already 2, it's harmless,
    but if it's another value (say, 1, or 3), the compiler will bawk.
    
    (I'm not aware of a reason this couldn't be tested with =3,
    but the toolchain support is limited for that (too new), and we want
    to run the tests everywhere possible.)
    
    As Siddhesh noted previously, we could implement some fallback
    logic to determine the maximal F_S value supported by the toolchain,
    which is a bit easier now that autoconf-archive has been updated for F_S=3
    (https://github.com/autoconf-archive/autoconf-archive/pull/269), but let's
    revisit this if it continues to crop up.
    
    Signed-off-by: Sam James <sam@gentoo.org>
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit ecf8ae6704d5034fc2d5e29e5dc88dbca981581e)

Diff:
---
 stdio-common/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 652d9e5f95..fdc49f32ea 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -433,7 +433,7 @@ CFLAGS-tst-gets.c += -Wno-deprecated-declarations
 
 # BZ #11319 was first fixed for regular vdprintf, then reopened because
 # the fortified version had the same bug.
-CFLAGS-tst-bz11319-fortify2.c += -D_FORTIFY_SOURCE=2
+CFLAGS-tst-bz11319-fortify2.c += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
 
 CFLAGS-tst-memstream-string.c += -fno-builtin-fprintf

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-04-11  2:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-11  2:37 [glibc/release/2.37/master] stdio-common: tests: don't double-define _FORTIFY_SOURCE Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).