2008-11-27 15:55:05

by Tony Vroon

[permalink] [raw]
Subject: [PATCH] Allow CRDA to be compiled with -Wl,--as-needed

As libraries are passed in LDFLAGS, it is vital that they be specified after the object
files. Otherwise, --as-needed will discard the libraries as unused and linking will fail.

Signed-off-by: Tony Vroon <[email protected]>

--- crda-0.9.4/Makefile.orig 2008-11-27 14:44:02.000000000 +0000
+++ crda-0.9.4/Makefile 2008-11-27 14:45:59.000000000 +0000
@@ -35,15 +35,15 @@

crda: keys-ssl.c keys-gcrypt.c reglib.o crda.o
$(NQ) ' LD ' $@
- $(Q)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o
+ $(Q)$(CC) $(CFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o $(LDFLAGS)

regdbdump: keys-ssl.c keys-gcrypt.c reglib.o regdbdump.o
$(NQ) ' LD ' $@
- $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o regdbdump.o
+ $(Q)$(CC) $(CFLAGS) -o $@ reglib.o regdbdump.o $(LDFLAGS)

intersect: keys-ssl.c keys-gcrypt.c reglib.o intersect.o
$(NQ) ' LD ' $@
- $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o intersect.o
+ $(Q)$(CC) $(CFLAGS) -o $@ reglib.o intersect.o $(LDFLAGS)

verify: $(REG_BIN) regdbdump
$(NQ) ' CHK $(REG_BIN)'


2008-12-01 21:10:16

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH] Allow CRDA to be compiled with -Wl,--as-needed

On Sun, Nov 30, 2008 at 08:17:58AM -0800, Tony Vroon wrote:
> As libraries are passed in LDFLAGS, it is vital that they be specified after the object
> files. Otherwise, --as-needed will discard the libraries as unused and linking will fail.
>
> Signed-off-by: Tony Vroon <[email protected]>
>
> --- crda-0.9.4/Makefile.orig 2008-11-27 14:44:02.000000000 +0000
> +++ crda-0.9.4/Makefile 2008-11-27 14:45:59.000000000 +0000
> @@ -35,15 +35,15 @@
>
> crda: keys-ssl.c keys-gcrypt.c reglib.o crda.o
> $(NQ) ' LD ' $@
> - $(Q)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o
> + $(Q)$(CC) $(CFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o $(LDFLAGS)
>
> regdbdump: keys-ssl.c keys-gcrypt.c reglib.o regdbdump.o
> $(NQ) ' LD ' $@
> - $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o regdbdump.o
> + $(Q)$(CC) $(CFLAGS) -o $@ reglib.o regdbdump.o $(LDFLAGS)
>
> intersect: keys-ssl.c keys-gcrypt.c reglib.o intersect.o
> $(NQ) ' LD ' $@
> - $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o intersect.o
> + $(Q)$(CC) $(CFLAGS) -o $@ reglib.o intersect.o $(LDFLAGS)
>
> verify: $(REG_BIN) regdbdump
> $(NQ) ' CHK $(REG_BIN)'

Thanks Diego's patch came in first, I'll apply that, please pull in few
minutes to get all the new updates.

Luis