Skip to content

Commit

Permalink
userland build: replace -fno-common with ${CFCOMMONFLAG}
Browse files Browse the repository at this point in the history
This change allows any downstream or otherwise consumer to easily override
the new -fno-common default on a temporary basis without having to hack into
src.sys.mk, and also makes it a bit easier to search for these specific
cases where -fno-common must be overridden with -fcommon or else the build
will fail.

The gdb build, the only program requiring -fcommon on head/, is switched
over as an example usage. It will need it on all branches, so this does not
harm future mergability.

MFC after:	3 days
  • Loading branch information
kevans91 committed Apr 10, 2020
1 parent 1fce59f commit a0b266c
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
2 changes: 1 addition & 1 deletion gnu/usr.bin/gdb/Makefile.inc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/edit
# Some bits here currently rely on some of the linker-merging magic that happens
# with -fcommon. While this is the default right now, explicitly set -fcommon
# so that it continues to build when the default flips.
CFLAGS+= -fcommon
CFCOMMONFLAG= -fcommon

GENSRCS+= nm.h tm.h

Expand Down
3 changes: 2 additions & 1 deletion share/mk/src.sys.mk
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ __postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno
# The following should be removed no earlier than LLVM11 being imported into the
# tree, to ensure we don't regress the build. LLVM11 and GCC10 will switch the
# default over to -fno-common, making this redundant.
CFLAGS+= -fno-common
CFCOMMONFLAG?= -fno-common
CFLAGS+= ${CFCOMMONFLAG}

# tempting, but bsd.compiler.mk causes problems this early
# probably need to remove dependence on bsd.own.mk
Expand Down

0 comments on commit a0b266c

Please sign in to comment.