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

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)
AC_OUTPUT(Makefile pkgIndex.tcl tcltls.syms)

Added tcltls.syms.in version [f4a8c433c1].

1
+
@[email protected]_Init

Added tcltls.vers version [f9f493f912].






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