Fix build failure with -pie in user LDFLAGS

When hardening flags are set by Debian's auto build system,
the project fails to build due to usage of -pie, which tells the linker
to build a PIE binary, and since the user LDFLAGS are deliberately put
later in the command line to override things, this overrides -shared.
work around by putting it directly in the last position of the linker
command line.

closes #124
Commit message authored by commiter.
This commit is contained in:
Carlos Maddela 2016-06-08 10:33:06 +10:00 committed by rofl0r
parent 993dfc059d
commit 635ded3393

View File

@ -25,7 +25,7 @@ GENH = src/version.h
CFLAGS += -Wall -O0 -g -std=c99 -D_GNU_SOURCE -pipe CFLAGS += -Wall -O0 -g -std=c99 -D_GNU_SOURCE -pipe
NO_AS_NEEDED = -Wl,--no-as-needed NO_AS_NEEDED = -Wl,--no-as-needed
LIBDL = -ldl LIBDL = -ldl
LDFLAGS = -shared -fPIC $(NO_AS_NEEDED) $(LIBDL) -lpthread LDFLAGS = -fPIC $(NO_AS_NEEDED) $(LIBDL) -lpthread
INC = INC =
PIC = -fPIC PIC = -fPIC
AR = $(CROSS_COMPILE)ar AR = $(CROSS_COMPILE)ar
@ -82,7 +82,7 @@ src/version.o: src/version.h
$(LDSO_PATHNAME): $(LOBJS) $(LDSO_PATHNAME): $(LOBJS)
$(CC) $(LDFLAGS) $(LD_SET_SONAME)$(LDSO_PATHNAME) $(USER_LDFLAGS) \ $(CC) $(LDFLAGS) $(LD_SET_SONAME)$(LDSO_PATHNAME) $(USER_LDFLAGS) \
-o $@ $(LOBJS) -shared -o $@ $(LOBJS)
$(ALL_TOOLS): $(OBJS) $(ALL_TOOLS): $(OBJS)
$(CC) src/main.o src/common.o $(USER_LDFLAGS) -o $(PXCHAINS) $(CC) src/main.o src/common.o $(USER_LDFLAGS) -o $(PXCHAINS)