From 0eb9fb99da686ac87bbd58554ad88f9567552ae9 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 31 May 2016 01:25:58 -0400 Subject: [PATCH] lib: build elf shared libraries using -fPIC -shared Make sure we use "-fPIC -shared" consistently on linker and compiler command lines when building or linking the shared objects for the ELF shared library. Signed-off-by: Theodore Ts'o --- lib/Makefile.elf-lib | 4 ++-- lib/blkid/Makefile.in | 2 +- lib/e2p/Makefile.in | 2 +- lib/et/Makefile.in | 2 +- lib/ext2fs/Makefile.in | 2 +- lib/ss/Makefile.in | 2 +- lib/uuid/Makefile.in | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Makefile.elf-lib b/lib/Makefile.elf-lib index 272175f4..4e88c052 100644 --- a/lib/Makefile.elf-lib +++ b/lib/Makefile.elf-lib @@ -24,8 +24,8 @@ image: $(ELF_LIB) $(ELF_LIB): $(OBJS) $(E) " GEN_ELF_SOLIB $(ELF_LIB)" - $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) \ - -L$(top_builddir)/../lib $(LDFLAGS_SHLIB) \ + $(Q) (cd elfshared; $(CC) -o $(ELF_LIB) \ + -L$(top_builddir)/../lib $(LDFLAGS_SHLIB) -fPIC -shared \ -Wl,-soname,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS)) $(Q) $(MV) elfshared/$(ELF_LIB) . $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) diff --git a/lib/blkid/Makefile.in b/lib/blkid/Makefile.in index 789d2a13..7f384527 100644 --- a/lib/blkid/Makefile.in +++ b/lib/blkid/Makefile.in @@ -57,7 +57,7 @@ DEPLIBS_BLKID= $(DEPSTATIC_LIBBLKID) $(DEPSTATIC_LIBUUID) $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< all:: $(SMANPAGES) blkid.pc diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in index 193508b5..e86a8ac4 100644 --- a/lib/e2p/Makefile.in +++ b/lib/e2p/Makefile.in @@ -58,7 +58,7 @@ BSDLIB_INSTALL_DIR = $(root_libdir) $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< e2p.pc: $(srcdir)/e2p.pc.in $(top_builddir)/config.status diff --git a/lib/et/Makefile.in b/lib/et/Makefile.in index 7547f076..cb75ab8c 100644 --- a/lib/et/Makefile.in +++ b/lib/et/Makefile.in @@ -46,7 +46,7 @@ BSDLIB_INSTALL_DIR = $(root_libdir) $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< @MAKEFILE_LIBRARY@ diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in index 04752880..ec1a3139 100644 --- a/lib/ext2fs/Makefile.in +++ b/lib/ext2fs/Makefile.in @@ -251,7 +251,7 @@ all:: ext2fs.pc $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< COMPILE_ET=../et/compile_et --build-tree diff --git a/lib/ss/Makefile.in b/lib/ss/Makefile.in index 36528d8e..255b58b5 100644 --- a/lib/ss/Makefile.in +++ b/lib/ss/Makefile.in @@ -37,7 +37,7 @@ MK_CMDS=_SS_DIR_OVERRIDE=. ./mk_cmds $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -DSHARED_ELF_LIB -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -DSHARED_ELF_LIB -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< # for the library diff --git a/lib/uuid/Makefile.in b/lib/uuid/Makefile.in index c62c739c..a2981449 100644 --- a/lib/uuid/Makefile.in +++ b/lib/uuid/Makefile.in @@ -64,7 +64,7 @@ BSDLIB_INSTALL_DIR = $(root_libdir) $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS_STLIB) -g -pg -o profiled/$*.o -c $< -@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -o elfshared/$*.o -c $< +@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) -fPIC -shared -o elfshared/$*.o -c $< @BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS_SHLIB) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< all:: tst_uuid uuid_time $(SMANPAGES) uuid.pc -- 2.11.0