FreeBSD Bugzilla – Attachment 238549 Details for
Bug 268178
lang/tcl8[5-7]: fix build with clang/lld 15
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
lang/tcl8[5-7]: fix build with clang/lld 15
lang__tcl85_6_7-fix-muldefs-1.diff (text/plain), 5.31 KB, created by
Dimitry Andric
on 2022-12-05 18:29:16 UTC
(
hide
)
Description:
lang/tcl8[5-7]: fix build with clang/lld 15
Filename:
MIME Type:
Creator:
Dimitry Andric
Created:
2022-12-05 18:29:16 UTC
Size:
5.31 KB
patch
obsolete
>commit d1acfc00042951a1fb7338036ea3712897060cc8 >Author: Dimitry Andric <dim@FreeBSD.org> >Date: Mon Dec 5 19:15:31 2022 +0100 > > lang/tcl8[5-7]: fix build with clang/lld 15 > > During an exp-run for llvm 15 (see bug 265425), it turned out that > lang/tcl86 failed to build with clang (and lld) 15: > > ... > cc -O2 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -pipe -fstack-protector-strong -Wl,--export-dynamic -shared -o libtcl86.so.1 regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAssembly.o tclAsync > .o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompCmdsGR.o tclCompCmdsSZ.o tclCompExpr.o tclCompile.o tclConfig.o tclDate.o tclDictObj.o tclDisassemble.o tclEncod > ing.o tclEnsemble.o tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIORChan.o tclIORTrans.o tclIOGT.o tclIOSock.o tclIOUtil.o t > clLink.o tclListObj.o tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclOptimize.o tclPanic.o tclParse.o tclPathObj.o tclPipe.o tclPkg.o tclPkgConfig.o tclPosixStr.o tclPreserve.o tclProc.o tclRege > xp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclStrToD.o tclThread.o tclThreadAlloc.o tclThreadJoin.o tclThreadStorage.o tclStubInit.o tclTimer.o tclTrace.o tclUtf.o tclUtil.o tclVar.o tclZlib.o tclTomMath > Interface.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o tclUnixCompat.o tclUnixNotfy.o tclOO.o tclOOBasic.o tclOOCall.o tclOODefineC > mds.o tclOOInfo.o tclOOMethod.o tclOOStubInit.o tclLoadDl.o bn_s_mp_reverse.o bn_s_mp_mul_digs_fast.o bn_s_mp_sqr_fast.o bn_mp_add.o bn_mp_and.o bn_mp_add_d.o bn_mp_clamp.o bn_mp_clear.o bn_mp_clear_multi.o bn_mp_cmp > .o bn_mp_cmp_d.o bn_mp_cmp_mag.o bn_mp_cnt_lsb.o bn_mp_copy.o bn_mp_count_bits.o bn_mp_div.o bn_mp_div_d.o bn_mp_div_2.o bn_mp_div_2d.o bn_mp_div_3.o bn_mp_exch.o bn_mp_expt_u32.o bn_mp_grow.o bn_mp_init.o bn_mp_ini > t_copy.o bn_mp_init_multi.o bn_mp_init_set.o bn_mp_init_size.o bn_s_mp_karatsuba_mul.o bn_s_mp_karatsuba_sqr.o bn_s_mp_balance_mul.o bn_mp_lshd.o bn_mp_mod.o bn_mp_mod_2d.o bn_mp_mul.o bn_mp_mul_2.o bn_mp_mul_2d.o bn > _mp_mul_d.o bn_mp_neg.o bn_mp_or.o bn_mp_radix_size.o bn_mp_radix_smap.o bn_mp_read_radix.o bn_mp_rshd.o bn_mp_set.o bn_mp_shrink.o bn_mp_sqr.o bn_mp_sqrt.o bn_mp_sub.o bn_mp_sub_d.o bn_mp_signed_rsh.o bn_mp_to_ubi > n.o bn_s_mp_toom_mul.o bn_s_mp_toom_sqr.o bn_mp_to_radix.o bn_mp_ubin_size.o bn_mp_xor.o bn_mp_zero.o bn_s_mp_add.o bn_s_mp_mul_digs.o bn_s_mp_sqr.o bn_s_mp_sub.o tclDTrace.o -fstack-protector-strong -Wl,--export-d > ynamic -ldl -lz -lpthread -lm -Wl,-soname,libtcl86.so.1 "-Wl,-rpath,/usr/local/lib" > ld: error: duplicate symbol: __dtrace_tcl___obj__create > >>> defined in tclAssembly.o > >>> defined in tclBasic.o > > ld: error: duplicate symbol: __dtrace_tcl___obj__create > >>> defined in tclAssembly.o > >>> defined in tclCmdMZ.o > > ld: error: duplicate symbol: __dtrace_tcl___obj__free > >>> defined in tclBasic.o > >>> defined in tclCmdMZ.o > ... more of those... > > This is similar to the problem reported for lang/perl5.* in bug 265516, > i.e. the DTrace-related postprocessing of object files messes up the > symbols in such a way that there are multiple definitions. > > Similarly to the perl5.x workaround, add -Wl,-z,muldefs to LDFLAGS, to > silence the linker errors. > >diff --git a/lang/tcl85/Makefile b/lang/tcl85/Makefile >index 1e49b68301e4..239ac21168fe 100644 >--- a/lang/tcl85/Makefile >+++ b/lang/tcl85/Makefile >@@ -1,6 +1,6 @@ > PORTNAME= tcl > PORTVERSION= 8.5.19 >-PORTREVISION= 4 >+PORTREVISION= 5 > CATEGORIES= lang > MASTER_SITES= TCLTK/tcl8_5 \ > SF/tcl/Tcl/${PORTVERSION} >@@ -37,6 +37,7 @@ CONFIGURE_ARGS= --enable-shared \ > --enable-man-suffix=.${MAN_SUFFIX} \ > --includedir=${PREFIX}/include/tcl${TCL_VER} > CONFIGURE_ENV= PORTSDIR=${PORTSDIR} >+LDFLAGS+= -Wl,-z,muldefs > > TCL_VER= 8.5 > SHORT_TCL_VER= ${TCL_VER:S/8./8/} >diff --git a/lang/tcl86/Makefile b/lang/tcl86/Makefile >index 150445ac2ad5..9076fbd32fbd 100644 >--- a/lang/tcl86/Makefile >+++ b/lang/tcl86/Makefile >@@ -1,6 +1,6 @@ > PORTNAME= tcl > DISTVERSION= ${TCL_VERSION}${TCL_RC} >-PORTREVISION= 0 >+PORTREVISION= 1 > CATEGORIES= lang > MASTER_SITES= SF/tcl/Tcl/${TCL_VERSION} > PKGNAMESUFFIX= ${SHORT_TCL_VER} >@@ -23,6 +23,7 @@ CONFIGURE_ARGS= --enable-shared \ > --enable-man-suffix=.${MAN_SUFFIX} \ > --includedir=${PREFIX}/include/tcl${TCL_VER} > CONFIGURE_ENV= PORTSDIR=${PORTSDIR} >+LDFLAGS+= -Wl,-z,muldefs > > OPTIONS_DEFINE= TCLMAN TZDATA THREADS DEBUG > OPTIONS_DEFINE_amd64= DTRACE >diff --git a/lang/tcl87/Makefile b/lang/tcl87/Makefile >index 96edfbaf9d01..4e997899c04a 100644 >--- a/lang/tcl87/Makefile >+++ b/lang/tcl87/Makefile >@@ -1,6 +1,6 @@ > PORTNAME= tcl > DISTVERSION= ${TCL_VERSION}${TCL_RC} >-PORTREVISION= 1 >+PORTREVISION= 2 > CATEGORIES= lang > MASTER_SITES= SF/tcl/Tcl/${TCL_VERSION} \ > TCLTK/tcl8_7 >@@ -55,6 +55,7 @@ CONFIGURE_ARGS= --enable-shared \ > --includedir=${PREFIX}/include/tcl${TCL_VER} \ > --enable-symbols \ > --with-system-libtommath >+LDFLAGS+= -Wl,-z,muldefs > > TCL_VERSION= 8.7a5 > TCL_VER= 8.7
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 268178
: 238549