bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FreeBSD: needs @LIBICONV@ to come after LDADD with --as-needed


From: Ralf Wildenhues
Subject: FreeBSD: needs @LIBICONV@ to come after LDADD with --as-needed
Date: Mon, 22 Oct 2007 22:27:38 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

Hello Bruno, all,

On FreeBSD 6.2, test-u16-conv-from-enc fails like this:

$ make test-u16-conv-from-enc
gcc -std=gnu99  -g -O2  -Wl,--as-needed -o test-u16-conv-from-enc 
test-u16-conv-from-enc.o /usr/local/lib/libiconv.so -Wl,-rpath 
-Wl,/usr/local/lib ../gllib/libgnu.a -lm
$ ./test-u16-conv-from-enc
/libexec/ld-elf.so.1: ./test-u16-conv-from-enc: Undefined symbol "libiconv_open"

$ objump -p ./test-u16-conv-from-enc | grep NEEDED
  NEEDED      libm.so.4
  NEEDED      libc.so.6

shows that libiconv is not linked against.  Only gnulib.a will reference
symbols from libiconv.so, and so with the other order, the binary will
not get a DT_NEEDED entry on libiconv.so due to -Wl,--as-needed.
Reversing @LIBICONV@ and $(LDADD) fixes that (and is done everywhere
else in the gnulib testsuite).

OK to apply?

Cheers,
Ralf

2007-10-22  Ralf Wildenhues  <address@hidden>

        * modules/uniconv/u16-conv-from-enc-tests:
        * modules/uniconv/u16-conv-to-enc-tests:
        * modules/uniconv/u16-strconv-from-enc-tests:
        * modules/uniconv/u16-strconv-to-enc-tests:
        * modules/uniconv/u32-conv-from-enc-tests:
        * modules/uniconv/u32-conv-to-enc-tests:
        * modules/uniconv/u32-strconv-from-enc-tests:
        * modules/uniconv/u32-strconv-to-enc-tests:
        * modules/uniconv/u8-conv-from-enc-tests:
        * modules/uniconv/u8-conv-to-enc-tests:
        * modules/uniconv/u8-strconv-from-enc-tests:
        * modules/uniconv/u8-strconv-to-enc-tests:

diff --git a/modules/uniconv/u16-conv-from-enc-tests 
b/modules/uniconv/u16-conv-from-enc-tests
index c9bfcc5..5539ccb 100644
--- a/modules/uniconv/u16-conv-from-enc-tests
+++ b/modules/uniconv/u16-conv-from-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u16-conv-from-enc
 check_PROGRAMS += test-u16-conv-from-enc
 test_u16_conv_from_enc_SOURCES = uniconv/test-u16-conv-from-enc.c
-test_u16_conv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u16_conv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u16-conv-to-enc-tests 
b/modules/uniconv/u16-conv-to-enc-tests
index 43afb03..399537a 100644
--- a/modules/uniconv/u16-conv-to-enc-tests
+++ b/modules/uniconv/u16-conv-to-enc-tests
@@ -9,5 +9,5 @@ Makefile.am:
 TESTS += test-u16-conv-to-enc
 check_PROGRAMS += test-u16-conv-to-enc
 test_u16_conv_to_enc_SOURCES = uniconv/test-u16-conv-to-enc.c
-test_u16_conv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u16_conv_to_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u16-strconv-from-enc-tests 
b/modules/uniconv/u16-strconv-from-enc-tests
index e353d9a..b9c162a 100644
--- a/modules/uniconv/u16-strconv-from-enc-tests
+++ b/modules/uniconv/u16-strconv-from-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u16-strconv-from-enc
 check_PROGRAMS += test-u16-strconv-from-enc
 test_u16_strconv_from_enc_SOURCES = uniconv/test-u16-strconv-from-enc.c
-test_u16_strconv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u16_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u16-strconv-to-enc-tests 
b/modules/uniconv/u16-strconv-to-enc-tests
index 64a2e20..0548b01 100644
--- a/modules/uniconv/u16-strconv-to-enc-tests
+++ b/modules/uniconv/u16-strconv-to-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u16-strconv-to-enc
 check_PROGRAMS += test-u16-strconv-to-enc
 test_u16_strconv_to_enc_SOURCES = uniconv/test-u16-strconv-to-enc.c
-test_u16_strconv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u16_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u32-conv-from-enc-tests 
b/modules/uniconv/u32-conv-from-enc-tests
index b9c31f8..e35a75a 100644
--- a/modules/uniconv/u32-conv-from-enc-tests
+++ b/modules/uniconv/u32-conv-from-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u32-conv-from-enc
 check_PROGRAMS += test-u32-conv-from-enc
 test_u32_conv_from_enc_SOURCES = uniconv/test-u32-conv-from-enc.c
-test_u32_conv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u32_conv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u32-conv-to-enc-tests 
b/modules/uniconv/u32-conv-to-enc-tests
index 0058c18..a46e9b5 100644
--- a/modules/uniconv/u32-conv-to-enc-tests
+++ b/modules/uniconv/u32-conv-to-enc-tests
@@ -9,5 +9,5 @@ Makefile.am:
 TESTS += test-u32-conv-to-enc
 check_PROGRAMS += test-u32-conv-to-enc
 test_u32_conv_to_enc_SOURCES = uniconv/test-u32-conv-to-enc.c
-test_u32_conv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u32_conv_to_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u32-strconv-from-enc-tests 
b/modules/uniconv/u32-strconv-from-enc-tests
index 984818c..2370b58 100644
--- a/modules/uniconv/u32-strconv-from-enc-tests
+++ b/modules/uniconv/u32-strconv-from-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u32-strconv-from-enc
 check_PROGRAMS += test-u32-strconv-from-enc
 test_u32_strconv_from_enc_SOURCES = uniconv/test-u32-strconv-from-enc.c
-test_u32_strconv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u32_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u32-strconv-to-enc-tests 
b/modules/uniconv/u32-strconv-to-enc-tests
index f743c08..19f5eca 100644
--- a/modules/uniconv/u32-strconv-to-enc-tests
+++ b/modules/uniconv/u32-strconv-to-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u32-strconv-to-enc
 check_PROGRAMS += test-u32-strconv-to-enc
 test_u32_strconv_to_enc_SOURCES = uniconv/test-u32-strconv-to-enc.c
-test_u32_strconv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u32_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u8-conv-from-enc-tests 
b/modules/uniconv/u8-conv-from-enc-tests
index cc24362..4dc02cb 100644
--- a/modules/uniconv/u8-conv-from-enc-tests
+++ b/modules/uniconv/u8-conv-from-enc-tests
@@ -11,5 +11,5 @@ Makefile.am:
 TESTS += test-u8-conv-from-enc
 check_PROGRAMS += test-u8-conv-from-enc
 test_u8_conv_from_enc_SOURCES = uniconv/test-u8-conv-from-enc.c
-test_u8_conv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u8_conv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u8-conv-to-enc-tests 
b/modules/uniconv/u8-conv-to-enc-tests
index cc5be08..00aa37f 100644
--- a/modules/uniconv/u8-conv-to-enc-tests
+++ b/modules/uniconv/u8-conv-to-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u8-conv-to-enc
 check_PROGRAMS += test-u8-conv-to-enc
 test_u8_conv_to_enc_SOURCES = uniconv/test-u8-conv-to-enc.c
-test_u8_conv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u8_conv_to_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u8-strconv-from-enc-tests 
b/modules/uniconv/u8-strconv-from-enc-tests
index da5f3b6..971786e 100644
--- a/modules/uniconv/u8-strconv-from-enc-tests
+++ b/modules/uniconv/u8-strconv-from-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u8-strconv-from-enc
 check_PROGRAMS += test-u8-strconv-from-enc
 test_u8_strconv_from_enc_SOURCES = uniconv/test-u8-strconv-from-enc.c
-test_u8_strconv_from_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u8_strconv_from_enc_LDADD = $(LDADD) @LIBICONV@
 
diff --git a/modules/uniconv/u8-strconv-to-enc-tests 
b/modules/uniconv/u8-strconv-to-enc-tests
index b5606d4..b572443 100644
--- a/modules/uniconv/u8-strconv-to-enc-tests
+++ b/modules/uniconv/u8-strconv-to-enc-tests
@@ -10,5 +10,5 @@ Makefile.am:
 TESTS += test-u8-strconv-to-enc
 check_PROGRAMS += test-u8-strconv-to-enc
 test_u8_strconv_to_enc_SOURCES = uniconv/test-u8-strconv-to-enc.c
-test_u8_strconv_to_enc_LDADD = @LIBICONV@ $(LDADD)
+test_u8_strconv_to_enc_LDADD = $(LDADD) @LIBICONV@
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]