Skip to content

Commit 7b4336f

Browse files
committed
fommil#55 restrict symbol export on OS X and Linux
1 parent 4ca3ef6 commit 7b4336f

File tree

13 files changed

+14
-0
lines changed

13 files changed

+14
-0
lines changed

native_ref/osx-x86_64/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
<linkerMiddleOption>-static-libgcc</linkerMiddleOption>
7373
<linkerMiddleOption>-framework JavaVM</linkerMiddleOption>
7474
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
75+
<linkerMiddleOption>-Wl,-exported_symbol,_Java_*</linkerMiddleOption>
7576
</linkerMiddleOptions>
7677
</configuration>
7778
</plugin>

native_ref/win-i686/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
<linkerMiddleOption>-static-libgcc</linkerMiddleOption>
8484
<!-- otherwise an "@..." symbol is added to the function name! -->
8585
<linkerMiddleOption>-Wl,--kill-at</linkerMiddleOption>
86+
<!-- No symbol restrictions on Windows, see http://sourceforge.net/p/mingw/bugs/1134/ -->
8687
</linkerMiddleOptions>
8788
</configuration>
8889
</plugin>

native_ref/win-x86_64/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@
7676
<linkerMiddleOptions>
7777
<!-- check binary link with
7878
x86_64-w64-mingw32-objdump -p target/netlib-native_ref-win-x86_64.dll | grep DLL
79+
x86_64-w64-mingw32-nm -g target/netlib-native_ref-win-x86_64.dll
7980
-->
8081
<linkerMiddleOption>-shared</linkerMiddleOption>
8182
<linkerMiddleOption>/opt/mingw64/mingw/lib/libgfortran.a</linkerMiddleOption>
8283
<linkerMiddleOption>/opt/mingw64/mingw/lib/libquadmath.a</linkerMiddleOption>
8384
<linkerMiddleOption>-static-libgcc</linkerMiddleOption>
85+
<!-- No symbol restrictions on Windows, see http://sourceforge.net/p/mingw/bugs/1134/ -->
8486
</linkerMiddleOptions>
8587
</configuration>
8688
</plugin>

native_ref/xbuilds/linux-armhf/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ arm-rpi-linux-gnueabi-readelf -a target/netlib-native_ref-linux-armhf.so | grep
8585
-->
8686
<linkerMiddleOption>-shared</linkerMiddleOption>
8787
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
88+
<linkerMiddleOption>-Wl,--version-script=${netlib.src}/symbol.map</linkerMiddleOption>
8889
</linkerMiddleOptions>
8990
</configuration>
9091
</plugin>

native_ref/xbuilds/linux-i686/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
<linkerMiddleOptions>
8181
<linkerMiddleOption>-shared</linkerMiddleOption>
8282
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
83+
<linkerMiddleOption>-Wl,--version-script=${netlib.src}/symbol.map</linkerMiddleOption>
8384
</linkerMiddleOptions>
8485
</configuration>
8586
</plugin>

native_ref/xbuilds/linux-x86_64/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
<linkerMiddleOptions>
6868
<linkerMiddleOption>-shared</linkerMiddleOption>
6969
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
70+
<linkerMiddleOption>-Wl,--version-script=${netlib.src}/symbol.map</linkerMiddleOption>
7071
</linkerMiddleOptions>
7172
</configuration>
7273
</plugin>

native_system/osx-x86_64/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
<linkerMiddleOption>-framework JavaVM</linkerMiddleOption>
7777
<linkerMiddleOption>-framework veclib</linkerMiddleOption>
7878
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
79+
<linkerMiddleOption>-Wl,-exported_symbol,_Java_*</linkerMiddleOption>
7980
</linkerMiddleOptions>
8081
</configuration>
8182
</plugin>

native_system/win-i686/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
<linkerMiddleOption>-static-libgcc</linkerMiddleOption>
9797
<!-- otherwise an "@..." symbol is added to the function name! -->
9898
<linkerMiddleOption>-Wl,--kill-at</linkerMiddleOption>
99+
<!-- No symbol restrictions on Windows, see http://sourceforge.net/p/mingw/bugs/1134/ -->
99100
</linkerMiddleOptions>
100101
</configuration>
101102
</plugin>

native_system/win-x86_64/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
<linkerMiddleOption>/opt/mingw64/mingw/lib/libgfortran.a</linkerMiddleOption>
9595
<linkerMiddleOption>/opt/mingw64/mingw/lib/libquadmath.a</linkerMiddleOption>
9696
<linkerMiddleOption>-static-libgcc</linkerMiddleOption>
97+
<!-- No symbol restrictions on Windows, see http://sourceforge.net/p/mingw/bugs/1134/ -->
9798
</linkerMiddleOptions>
9899
</configuration>
99100
</plugin>

native_system/xbuilds/linux-armhf/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ arm-rpi-linux-gnueabi-readelf -a target/netlib-native_system-linux-armhf.so | gr
9898
<linkerMiddleOption>-lgfortran</linkerMiddleOption>
9999
<linkerMiddleOption>-lblas</linkerMiddleOption>
100100
<linkerMiddleOption>-llapack</linkerMiddleOption>
101+
<linkerMiddleOption>-Wl,--version-script=${netlib.src}/symbol.map</linkerMiddleOption>
101102
</linkerMiddleOptions>
102103
</configuration>
103104
</plugin>

0 commit comments

Comments
 (0)