View | Details | Raw Unified | Return to bug 206039 | Differences between
and this patch

Collapse All | Expand All

(-)b/gnu/lib/libgcc/Makefile (-4 / +51 lines)
Lines 2-7 Link Here
2
2
3
GCCDIR=	${.CURDIR}/../../../contrib/gcc
3
GCCDIR=	${.CURDIR}/../../../contrib/gcc
4
GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
4
GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
5
COMPILERRTDIR=	${.CURDIR}/../../../contrib/compiler-rt
6
UNWINDINCDIR=	${.CURDIR}/../../../contrib/llvm/projects/libunwind/include
7
UNWINDSRCDIR=	${.CURDIR}/../../../contrib/llvm/projects/libunwind/src
5
8
6
SHLIB_NAME=	libgcc_s.so.1
9
SHLIB_NAME=	libgcc_s.so.1
7
SHLIBDIR?=	/lib
10
SHLIBDIR?=	/lib
Lines 67-74 LIB2ADD = $(LIB2FUNCS_EXTRA) Link Here
67
LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
70
LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
68
71
69
# Additional sources to handle exceptions; overridden by targets as needed.
72
# Additional sources to handle exceptions; overridden by targets as needed.
73
.if ${MK_LLVM_LIBUNWIND} != "no"
74
75
.PATH: ${COMPILERRTDIR}/lib/builtins
76
.PATH: ${UNWINDSRCDIR}
77
LIB2ADDEH = gcc_personality_v0.c \
78
	int_util.c \
79
	Unwind-EHABI.cpp \
80
	Unwind-sjlj.c \
81
	UnwindLevel1-gcc-ext.c \
82
	UnwindLevel1.c \
83
	UnwindRegistersRestore.S \
84
	UnwindRegistersSave.S \
85
	libunwind.cpp
86
87
CFLAGS+=	-I${UNWINDINCDIR} -I${.CURDIR}
88
.if empty(CXXFLAGS:M-std=*)
89
CXXFLAGS+=	-std=c++11
90
.endif
91
CXXFLAGS+=	-fno-rtti
92
93
.else # MK_LLVM_LIBUNWIND
94
95
.if ${TARGET_CPUARCH} == "arm"
96
LIB2ADDEH =	unwind-arm.c libunwind.S pr-support.c unwind-c.c
97
.else
70
LIB2ADDEH = unwind-dw2.c unwind-dw2-fde-glibc.c unwind-sjlj.c gthr-gnat.c \
98
LIB2ADDEH = unwind-dw2.c unwind-dw2-fde-glibc.c unwind-sjlj.c gthr-gnat.c \
71
	unwind-c.c
99
	unwind-c.c
100
.endif
101
102
.endif # MK_LLVM_LIBUNWIND
103
72
LIB2ADDEHSTATIC = $(LIB2ADDEH)
104
LIB2ADDEHSTATIC = $(LIB2ADDEH)
73
LIB2ADDEHSHARED = $(LIB2ADDEH)
105
LIB2ADDEHSHARED = $(LIB2ADDEH)
74
106
Lines 116-122 CFLAGS.clang+= -fheinous-gnu-extensions Link Here
116
148
117
LIB1ASMSRC =	lib1funcs.asm
149
LIB1ASMSRC =	lib1funcs.asm
118
LIB1ASMFUNCS =  _dvmd_tls _bb_init_func
150
LIB1ASMFUNCS =  _dvmd_tls _bb_init_func
119
LIB2ADDEH =	unwind-arm.c libunwind.S pr-support.c unwind-c.c
120
# Some compilers generate __aeabi_ functions libgcc_s is missing
151
# Some compilers generate __aeabi_ functions libgcc_s is missing
121
LIBADD+=	compiler_rt
152
LIBADD+=	compiler_rt
122
.endif
153
.endif
Lines 160-166 LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS:S/${sym}//g} Link Here
160
.endfor
191
.endfor
161
.endif
192
.endif
162
193
163
COMMONHDRS=	tm.h tconfig.h options.h unwind.h gthr-default.h
194
COMMONHDRS=	tm.h tconfig.h options.h gthr-default.h
195
.if ${MK_LLVM_LIBUNWIND} == no
196
COMMONHDRS+=	unwind.h
197
.endif
164
198
165
#-----------------------------------------------------------------------
199
#-----------------------------------------------------------------------
166
#
200
#
Lines 170-175 HIDE = -fvisibility=hidden -DHIDE_EXPORTS Link Here
170
CC_T =	${CC} -c ${CFLAGS} ${HIDE} -fPIC
204
CC_T =	${CC} -c ${CFLAGS} ${HIDE} -fPIC
171
CC_P =	${CC} -c ${CFLAGS} ${HIDE} -p -fPIC
205
CC_P =	${CC} -c ${CFLAGS} ${HIDE} -p -fPIC
172
CC_S =	${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
206
CC_S =	${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
207
CXX_T =	${CXX} -c ${CXXFLAGS} ${HIDE} -fPIC
208
CXX_P =	${CXX} -c ${CXXFLAGS} ${HIDE} -p -fPIC
209
CXX_S =	${CXX} -c ${CXXFLAGS} ${PICFLAG} -DSHARED
173
210
174
#-----------------------------------------------------------------------
211
#-----------------------------------------------------------------------
175
#
212
#
Lines 284-299 EH_OBJS_S = ${LIB2ADDEHSHARED:R:S/$/.So/} Link Here
284
EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN
321
EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN
285
SOBJS    += ${EH_OBJS_S}
322
SOBJS    += ${EH_OBJS_S}
286
323
287
.for _src in ${LIB2ADDEHSTATIC}
324
.for _src in ${LIB2ADDEHSTATIC:M*.c}
288
${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS}
325
${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS}
289
	${CC_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
326
	${CC_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
290
${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS}
327
${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS}
291
	${CC_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
328
	${CC_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
292
.endfor
329
.endfor
293
.for _src in ${LIB2ADDEHSHARED}
330
.for _src in ${LIB2ADDEHSTATIC:M*.cpp}
331
${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS}
332
	${CXX_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
333
${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS}
334
	${CXX_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
335
.endfor
336
.for _src in ${LIB2ADDEHSHARED:M*.c}
294
${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS}
337
${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS}
295
	${CC_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
338
	${CC_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
296
.endfor
339
.endfor
340
.for _src in ${LIB2ADDEHSHARED:M*.cpp}
341
${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS}
342
	${CXX_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
343
.endfor
297
344
298
345
299
#-----------------------------------------------------------------------
346
#-----------------------------------------------------------------------
(-)b/share/mk/src.opts.mk (-2 / +2 lines)
Lines 231-239 __DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC Link Here
231
# In-tree binutils/gcc are older versions without modern architecture support.
231
# In-tree binutils/gcc are older versions without modern architecture support.
232
.if ${__T} == "aarch64" || ${__T} == "riscv64"
232
.if ${__T} == "aarch64" || ${__T} == "riscv64"
233
BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB
233
BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB
234
__DEFAULT_YES_OPTIONS+=ELFCOPY_AS_OBJCOPY
234
__DEFAULT_YES_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND
235
.else
235
.else
236
__DEFAULT_NO_OPTIONS+=ELFCOPY_AS_OBJCOPY
236
__DEFAULT_NO_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND
237
.endif
237
.endif
238
.if ${__T} == "riscv64"
238
.if ${__T} == "riscv64"
239
BROKEN_OPTIONS+=PROFILE # "sorry, unimplemented: profiler support for RISC-V"
239
BROKEN_OPTIONS+=PROFILE # "sorry, unimplemented: profiler support for RISC-V"
(-)b/tools/build/options/WITHOUT_LLVM_LIBUNWIND (+2 lines)
Added Link Here
1
.\" $FreeBSD$
2
Set to use GCC's unwinder instead of LLVM's libunwind.
(-)b/tools/build/options/WITH_LLVM_LIBUNWIND (+2 lines)
Added Link Here
1
.\" $FreeBSD$
2
Set to use LLVM's libunwind instead of GCC's unwinder.

Return to bug 206039