Don't export local symbols on Solaris
authorMatt Caswell <matt@openssl.org>
Wed, 16 Dec 2015 11:17:17 +0000 (11:17 +0000)
committerMatt Caswell <matt@openssl.org>
Fri, 5 Feb 2016 09:03:41 +0000 (09:03 +0000)
Following on from earlier commits to prevent local symbols from being
exported in the shared libraries on Linux, this makes the equivalent changes
for Solaris.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Makefile.shared

index 0ff1a76534fa0ddcab90c0262ea41d8ec86ff5bc..70980ade0849aaef5249d19e469b147d4ee027ab 100644 (file)
@@ -171,7 +171,7 @@ link_app.gnu:
        @ $(DO_GNU_APP); $(LINK_APP)
 
 link_a.linux-shared:
-       @if [ $(LIBNAME) != "crypto" -a $(LIBNAME) != "ssl" ]; then echo libname is $(LIBNAME); sleep 2; $(DO_GNU_SO); else \
+       @if [ $(LIBNAME) != "crypto" -a $(LIBNAME) != "ssl" ]; then $(DO_GNU_SO); else \
        $(PERL) util/mkdef.pl $(LIBNAME) linux >$(LIBNAME).map; \
        $(CALC_VERSIONS); \
        SHLIB=lib$(LIBNAME).so; \
@@ -384,7 +384,12 @@ link_a.solaris:
                ($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSZ='-Wl,-z,'; \
                SHLIB=lib$(LIBNAME).so; \
                SHLIB_SUFFIX=;\
-               ALLSYMSFLAGS="$${MINUSZ}allextract"; \
+               if [ $(LIBNAME) != "crypto" -a $(LIBNAME) != "ssl" ]; then \
+                       ALLSYMSFLAGS="$${MINUSZ}allextract"; \
+               else \
+                       $(PERL) util/mkdef.pl $(LIBNAME) linux >$(LIBNAME).map; \
+                       ALLSYMSFLAGS="$${MINUSZ}allextract,-M,$(LIBNAME).map"; \
+               fi; \
                NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
                SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
        fi; \