]> ruderich.org/simon Gitweb - blhc/blhc.git/commitdiff
Support versioned libraries (e.g. test.so.1.0.0).
authorSimon Ruderich <simon@ruderich.org>
Tue, 13 Mar 2012 21:10:13 +0000 (22:10 +0100)
committerSimon Ruderich <simon@ruderich.org>
Tue, 13 Mar 2012 21:10:13 +0000 (22:10 +0100)
bin/blhc
t/logs/bad-library
t/logs/good-library
t/tests.t

index f43b5935485d219e1b2c85f052eafbb7f7bc6c94..030dd2128be0dfee9b34e066914949eb5d380700 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -271,7 +271,7 @@ foreach my $line (@input) {
 
     # Linker commands.
     if ($line =~ /\s-l[A-Za-z0-9.-]+(\s|\\|$)/
-            or $line =~ m{\s-o ([A-Za-z0-9_/.-]+/)?[A-Za-z0-9_-]+(\.so|\.la)?(\s|\\|\$)}
+            or $line =~ m{\s-o ([A-Za-z0-9_/.-]+/)?[A-Za-z0-9_-]+(\.so([0-9.])*|\.la)?(\s|\\|\$)}
             or $line =~ /^libtool: link: /
             or $line =~ m{\s*/bin/bash .+?libtool\s+(.+?\s+)?--mode=(re)?link}) {
         $compiler = 0;
index 32765c30bdc5d9393f733e1fea4f1b519588bf96..042c58da3748729ab16d097bf5b217fb714a0a73 100644 (file)
@@ -1,3 +1,5 @@
 gcc -D_FORTIFY_SOURCE=2 -g -O2 --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security test.c -fPIC -DPIC -o libtest.o
 gcc -shared -fPIC -DPIC libtest.o -lpthread -O2 -Wl,relro -Wl,--as-needed -o libtest.so
 gcc -shared -fPIC -DPIC libtest.o -lpthread -O2 -Wl,--as-needed -o libtest.so
+
+gcc -shared -fPIC test.o -Wl,-z -Wl,relro -o .libs/libtest.so.1.0.0
index c160a8a800ebcd6deeb74ea2e1de975e55e323c5..c077840de1d2dd713944bd14fbfc025cf332b821 100644 (file)
@@ -2,3 +2,5 @@
 # libraries.
 gcc -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security test.c -fPIC -DPIC -o libtest.o
 gcc -shared -fPIC -DPIC libtest.o -lpthread -O2 -Wl,relro -Wl,now -Wl,--as-needed -o libtest.so
+
+gcc -shared -fPIC test.o -Wl,-z -Wl,relro -Wl,now -o .libs/libtest.so.1.0.0
index efbb120a9d55876c5dfd0e3332c45e1c721aec71..1d40f82750576a1bd7b98003b3d516553df2b2ab 100644 (file)
--- a/t/tests.t
+++ b/t/tests.t
@@ -276,6 +276,7 @@ is_blhc 'bad-library', '--all', 4,
         "CFLAGS missing (-fstack-protector): gcc -D_FORTIFY_SOURCE=2 -g -O2 --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security test.c -fPIC -DPIC -o libtest.o
 LDFLAGS missing (-Wl,-z,now): gcc -shared -fPIC -DPIC libtest.o -lpthread -O2 -Wl,relro -Wl,--as-needed -o libtest.so
 LDFLAGS missing (-Wl,-z,relro -Wl,-z,now): gcc -shared -fPIC -DPIC libtest.o -lpthread -O2 -Wl,--as-needed -o libtest.so
+LDFLAGS missing (-Wl,-z,now): gcc -shared -fPIC test.o -Wl,-z -Wl,relro -o .libs/libtest.so.1.0.0
 ";