+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

Reply via email to