1 From 837e0a3bfe4b414a48c77aaf930b5e04b4e2c5e5 Mon Sep 17 00:00:00 2001
2 From: Romain Naour <romain.naour@openwide.fr>
3 Date: Tue, 16 Dec 2014 22:06:26 +0100
4 Subject: [PATCH 1/1] xfsprogs: replaces -static with -static-libtool-libs
6 xfsprogs relies on the original behaviour of -static which was
7 modified by [1]. But since commit [2] the build of xfsprogs tools is
8 broken because they try to link statically with the static libuuid
9 library (util-linux), which is not built for shared only builds.
11 The use of -static-libtool-libs allows to fallback to the dynamic
12 linking for libuuid only:
14 LD_TRACE_LOADED_OBJECTS=1 xfs_copy
15 linux-gate.so.1 => (0xf7793000)
16 libuuid.so.1 => /lib/libuuid.so.1 (0x465e1000)
17 libpthread.so.0 => /lib/libpthread.so.0 (0x46db1000)
18 librt.so.1 => /lib/librt.so.1 (0x46f21000)
19 libc.so.6 => /lib/libc.so.6 (0x46bf1000)
20 /lib/ld-linux.so.2 (0x46bce000)
22 [1] http://git.buildroot.net/buildroot/commit/?id=97703978ac870ce2b14ad144f8e082de82aa2c64
23 [2] http://git.buildroot.net/buildroot/commit/?id=f1d3e09895b245da9d54bbaef36e5de95269034e
25 Signed-off-by: Romain Naour <romain.naour@openwide.fr>
29 growfs/Makefile | 2 +-
31 logprint/Makefile | 2 +-
33 repair/Makefile | 2 +-
34 7 files changed, 7 insertions(+), 7 deletions(-)
36 diff --git a/copy/Makefile b/copy/Makefile
37 index 54f6dfb..beabbd4 100644
40 @@ -11,7 +11,7 @@ HFILES = xfs_copy.h
42 LLDLIBS = $(LIBXFS) $(LIBUUID) $(LIBPTHREAD) $(LIBRT)
43 LTDEPENDENCIES = $(LIBXFS)
45 +LLDFLAGS = -static-libtool-libs
47 default: depend $(LTCOMMAND)
49 diff --git a/db/Makefile b/db/Makefile
50 index 5c7d054..b4c49c6 100644
53 @@ -18,7 +18,7 @@ LSRCFILES = xfs_admin.sh xfs_check.sh xfs_ncheck.sh xfs_metadump.sh
55 LLDLIBS = $(LIBXFS) $(LIBXLOG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
56 LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG)
58 +LLDFLAGS += -static-libtool-libs
60 ifeq ($(ENABLE_READLINE),yes)
61 LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
62 diff --git a/growfs/Makefile b/growfs/Makefile
63 index 88cbf4f..19616de 100644
66 @@ -19,7 +19,7 @@ LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
69 LTDEPENDENCIES = $(LIBXFS) $(LIBXCMD)
71 +LLDFLAGS = -static-libtool-libs
72 LSRCFILES = xfs_info.sh
74 default: depend $(LTCOMMAND)
75 diff --git a/io/Makefile b/io/Makefile
76 index 50edf91..89b465b 100644
79 @@ -14,7 +14,7 @@ CFILES = init.c \
81 LLDLIBS = $(LIBXCMD) $(LIBHANDLE)
82 LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE)
84 +LLDFLAGS = -static-libtool-libs
86 ifeq ($(HAVE_FADVISE),yes)
88 diff --git a/logprint/Makefile b/logprint/Makefile
89 index 2d656a4..7bcf27f 100644
90 --- a/logprint/Makefile
91 +++ b/logprint/Makefile
92 @@ -14,7 +14,7 @@ CFILES = logprint.c \
94 LLDLIBS = $(LIBXFS) $(LIBXLOG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
95 LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG)
97 +LLDFLAGS = -static-libtool-libs
99 default: depend $(LTCOMMAND)
101 diff --git a/mkfs/Makefile b/mkfs/Makefile
102 index 75da633..fd1f615 100644
105 @@ -21,7 +21,7 @@ endif
107 LLDLIBS += $(LIBXFS) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
108 LTDEPENDENCIES += $(LIBXFS)
110 +LLDFLAGS = -static-libtool-libs
112 LSRCFILES = $(FSTYP).c
114 diff --git a/repair/Makefile b/repair/Makefile
115 index b0e03f8..e9db30f 100644
116 --- a/repair/Makefile
117 +++ b/repair/Makefile
118 @@ -22,7 +22,7 @@ CFILES = agheader.c attr_repair.c avl.c avl64.c bmap.c btree.c \
120 LLDLIBS = $(LIBXFS) $(LIBXLOG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
121 LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG)
123 +LLDFLAGS = -static-libtool-libs
125 default: depend $(LTCOMMAND)