Avoid adding duplicates to SRCS/OBJS/SOBJS/POBJS

This is a change in preparation for stopping to use lorder.sh (D26044) and
instead assume that we have a linker newer than ~1990. Without lorder.sh
duplicates end up being passed to the linker when building .so files and this
can result in duplicate symbol definition errors.

There is one minor change: libcompiler_rt.a will no longer provide
gcc_personality_v0 and instead we now only have it in libgcc_eh.a/libgcc_s.so.
This matches GCC's behaviour.

Reviewed By:	emaste, cem
Differential Revision: https://reviews.freebsd.org/D26042
This commit is contained in:
Alex Richardson 2020-08-24 09:20:33 +00:00
parent 06e20d1bab
commit 0b862b0399
5 changed files with 1 additions and 5 deletions

View File

@ -67,7 +67,6 @@ SRCF+= floatunsisf
SRCF+= floatuntidf SRCF+= floatuntidf
SRCF+= floatuntisf SRCF+= floatuntisf
SRCF+= floatuntixf SRCF+= floatuntixf
SRCF+= gcc_personality_v0 # not in upstream
SRCF+= int_util SRCF+= int_util
SRCF+= lshrdi3 SRCF+= lshrdi3
SRCF+= lshrti3 SRCF+= lshrti3

View File

@ -8,6 +8,7 @@ NO_PIC=
MK_SSP= no MK_SSP= no
WARNS?= 2 WARNS?= 2
SRCS_EXC+= int_util.c
.include "Makefile.inc" .include "Makefile.inc"
.if ${.MAKE.LEVEL} > 0 .if ${.MAKE.LEVEL} > 0

View File

@ -9,7 +9,6 @@ STATIC_CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN
.PATH: ${COMPILERRTDIR}/lib/builtins .PATH: ${COMPILERRTDIR}/lib/builtins
.PATH: ${UNWINDSRCDIR} .PATH: ${UNWINDSRCDIR}
SRCS_EXC+= gcc_personality_v0.c SRCS_EXC+= gcc_personality_v0.c
SRCS_EXC+= int_util.c
SRCS_EXC+= Unwind-EHABI.cpp SRCS_EXC+= Unwind-EHABI.cpp
SRCS_EXC+= Unwind-sjlj.c SRCS_EXC+= Unwind-sjlj.c
SRCS_EXC+= UnwindLevel1-gcc-ext.c SRCS_EXC+= UnwindLevel1-gcc-ext.c

View File

@ -59,8 +59,6 @@ MLINKS+=libprocstat.3 procstat_close.3 \
CFLAGS+= -DLIBPROCSTAT_ZFS CFLAGS+= -DLIBPROCSTAT_ZFS
SRCS+= zfs.c SRCS+= zfs.c
OBJS+= zfs/zfs_defs.o OBJS+= zfs/zfs_defs.o
SOBJS+= zfs/zfs_defs.pico
POBJS+= zfs/zfs_defs.po
SUBDIR= zfs SUBDIR= zfs
zfs/zfs_defs.o: .PHONY zfs/zfs_defs.o: .PHONY
@cd ${.CURDIR}/zfs && ${MAKE} zfs_defs.o @cd ${.CURDIR}/zfs && ${MAKE} zfs_defs.o

View File

@ -20,7 +20,6 @@ SRCS+= bootinfo.c
SRCS+= bootinfo32.c SRCS+= bootinfo32.c
SRCS+= bootinfo64.c SRCS+= bootinfo64.c
SRCS+= conf.c SRCS+= conf.c
SRCS+= console.c
SRCS+= copy.c SRCS+= copy.c
SRCS+= devicename.c SRCS+= devicename.c
SRCS+= elf32_freebsd.c SRCS+= elf32_freebsd.c