+GCC On Mon, Jan 6, 2020 at 1:52 AM Matthias Klose <d...@ubuntu.com> wrote: > > In an archive test rebuild with binutils and GCC trunk, I see a lot of build > failures on both aarch64-linux-gnu and arm-linux-gnueabihf failing with > "multiple definition of symbols" when linking executables, e.g.
THIS IS NOT A BINUTILS OR GCC BUG. GCC changed the default to -fno-common. It seems like for some reason, your non-aarch64/arm builds had changed the default back to being with -fcommon turned on. The error message is clear too that there packages out there that depends on common symbols in C. Thanks, Andrew Pinski > > https://launchpadlibrarian.net/459351186/buildlog_ubuntu-focal-armhf.tftp-hpa_5.2+20150808-1ubuntu4_BUILDING.txt.gz > > arm-linux-gnueabihf-gcc tftp.o main.o ../common/libcommon.a > /<<BUILDDIR>>/tftp-hpa-5.2+20150808/lib/libxtra.a -o tftp > /usr/bin/ld: main.o:/<<BUILDDIR>>/tftp-hpa-5.2+20150808/tftp/main.c:98: > multiple > definition of `toplevel'; > tftp.o:/<<BUILDDIR>>/tftp-hpa-5.2+20150808/tftp/tftp.c:51: first defined here > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:12: tftp] Error 1 > > https://launchpadlibrarian.net/459253363/buildlog_ubuntu-focal-arm64.bsd-mailx_8.1.2-0.20180807cvs-1_BUILDING.txt.gz > > gcc -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o mail version.o aux.o > cmd1.o cmd2.o cmd3.o cmdtab.o collect.o edit.o fio.o getname.o head.o > v7.local.o > lex.o list.o main.o names.o popen.o quit.o send.o strings.o temp.o tty.o > vars.o > -llockfile -lbsd > /usr/bin/ld: cmd1.o:./glob.h:77: multiple definition of `screenheight'; > aux.o:./glob.h:77: first defined here > /usr/bin/ld: cmd1.o:./glob.h:66: multiple definition of `message'; > aux.o:./glob.h:66: first defined here > /usr/bin/ld: cmd1.o:./glob.h:65: multiple definition of `dot'; > aux.o:./glob.h:65: first defined here > /usr/bin/ld: cmd1.o:./glob.h:57: multiple definition of `myname'; > aux.o:./glob.h:57: first defined here > /usr/bin/ld: cmd1.o:./glob.h:74: multiple definition of `altnames'; > aux.o:./glob.h:74: first defined here > > The compiler defaults to the usual hardening settings, PIE, stack-protector, > stack-collision, etc. The failures are not seen on x86, powerpc64le, s390x. > > Matthias