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 |
#----------------------------------------------------------------------- |