Check-in [3af2fe0ca8]
Bounty program for improvements to Tcl and certain Tcl packages.
Overview
Comment:Better handling of symbols in our shared object
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 3af2fe0ca874aaf8d30fa7407a845f8bf41df9f2c68e97e7910cd41b7a0e0998
User & Date: rkeene on 2019-06-19 17:58:24
Other Links: manifest | tags
Context
2019-06-19
18:13
Update autoconf scripts from repo check-in: 5bd22a4abd user: rkeene tags: trunk
17:58
Better handling of symbols in our shared object check-in: 3af2fe0ca8 user: rkeene tags: trunk
17:45
Make hardening optional, disabled by default when statically linking because it requires the linking program to fully participate check-in: 25024a31b0 user: rkeene tags: trunk
Changes

Modified Makefile.in from [cdaa02b7ca] to [f57a276544].

20
21
22
23
24
25
26


27
28
29
30
31
32
33
@[email protected]: @[email protected]@[email protected]
	mv @[email protected]@[email protected] @[email protected]

# The shared object target
[email protected][email protected]: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o [email protected][email protected] tls.o tlsBIO.o tlsIO.o tlsX509.o $(LIBS)



# The static target
[email protected][email protected]: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
	$(AR) rcu [email protected][email protected] tls.o tlsBIO.o tlsIO.o tlsX509.o
	-$(RANLIB) [email protected][email protected]

# Dependencies for all our targets






>
>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@[email protected]: @[email protected]@[email protected]
	mv @[email protected]@[email protected] @[email protected]

# The shared object target
[email protected][email protected]: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o [email protected][email protected] tls.o tlsBIO.o tlsIO.o tlsX509.o $(LIBS)
	[email protected]@ [email protected][email protected]
	[email protected]@ [email protected][email protected]

# The static target
[email protected][email protected]: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
	$(AR) rcu [email protected][email protected] tls.o tlsBIO.o tlsIO.o tlsX509.o
	-$(RANLIB) [email protected][email protected]

# Dependencies for all our targets

Modified aclocal/tcltls_openssl.m4 from [c4132f494e] to [3644ca7551].

115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
	if test -z "$TCLTLS_SSL_CPPFLAGS"; then
		TCLTLS_SSL_CPPFLAGS="`"${PKGCONFIG}" openssl --cflags-only-I $pkgConfigExtraArgs`" || AC_MSG_ERROR([Unable to get OpenSSL Configuration])
	fi
	PKG_CONFIG_PATH="${PKG_CONFIG_PATH_SAVE}"

	if test "$TCLEXT_BUILD" = "static"; then
		dnl If we are doing a static build, save the linker flags for other programs to consume
		rm -f tcltls.a.linkadd
		AS_ECHO(["$TCLTLS_SSL_LIBS"]) > tcltls.a.linkadd
	fi

	dnl If we have been asked to statically link to the SSL library, specifically tell the linker to do so
	if test "$TCLEXT_TLS_STATIC_SSL" = 'yes'; then
		dnl Don't bother doing this if we aren't actually doing the runtime linking
		if test "$TCLEXT_BUILD" != "static"; then
			dnl Split the libraries into SSL and non-SSL libraries






|
|







115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
	if test -z "$TCLTLS_SSL_CPPFLAGS"; then
		TCLTLS_SSL_CPPFLAGS="`"${PKGCONFIG}" openssl --cflags-only-I $pkgConfigExtraArgs`" || AC_MSG_ERROR([Unable to get OpenSSL Configuration])
	fi
	PKG_CONFIG_PATH="${PKG_CONFIG_PATH_SAVE}"

	if test "$TCLEXT_BUILD" = "static"; then
		dnl If we are doing a static build, save the linker flags for other programs to consume
		rm -f tcltls.${AREXT}.linkadd
		AS_ECHO(["$TCLTLS_SSL_LIBS"]) > tcltls.${AREXT}.linkadd
	fi

	dnl If we have been asked to statically link to the SSL library, specifically tell the linker to do so
	if test "$TCLEXT_TLS_STATIC_SSL" = 'yes'; then
		dnl Don't bother doing this if we aren't actually doing the runtime linking
		if test "$TCLEXT_BUILD" != "static"; then
			dnl Split the libraries into SSL and non-SSL libraries

Modified configure.ac from [27c882f156] to [6234df6904].

240
241
242
243
244
245
246
247







248
249
if test "$TCLEXT_BUILD" != 'static'; then
	if test "$TCLEXT_TLS_STATIC_SSL" = 'yes'; then
		DC_SYNC_RPATH([no])
	else
		DC_SYNC_RPATH([yes])
	fi
fi








dnl Produce output
AC_OUTPUT(Makefile pkgIndex.tcl)







>
>
>
>
>
>
>

|
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
if test "$TCLEXT_BUILD" != 'static'; then
	if test "$TCLEXT_TLS_STATIC_SSL" = 'yes'; then
		DC_SYNC_RPATH([no])
	else
		DC_SYNC_RPATH([yes])
	fi
fi

dnl Enable a stable ABI
DC_SETUP_STABLE_API([${srcdir}/tcltls.vers], tcltls.syms)
if test "$tcltls_debug" = 'true'; then
	WEAKENSYMS=':'
	REMOVESYMS=':'
fi

dnl Produce output
AC_OUTPUT(Makefile pkgIndex.tcl tcltls.syms)

Added tcltls.syms.in version [f4a8c433c1].



>
1

Added tcltls.vers version [f9f493f912].












>
>
>
>
>
>
1
2
3
4
5
6
{
	global:
		Tls_Init;
	local:
		*;
};