diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-17 21:55:49 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-17 21:55:49 +0100 |
commit | 15c84adca94bfe4a89ece5c04f06a884cf508ebb (patch) | |
tree | 727d3fd768a1abe75521190b90833b3a68cce4c6 /package/gpsd | |
parent | 0de5d9ecedff55481b3c1eb9c3841de17716a485 (diff) |
fix packages to be compile with stack protector
- libtool do not pass -fstack-protector while linking,
but this is required to successfully link libraries or
executables with SSP
- pass LDFLAGS for non-libtool packages
Diffstat (limited to 'package/gpsd')
-rw-r--r-- | package/gpsd/Makefile | 11 | ||||
-rw-r--r-- | package/gpsd/patches/patch-Makefile_in | 11 | ||||
-rw-r--r-- | package/gpsd/patches/patch-ltmain_sh | 20 |
3 files changed, 38 insertions, 4 deletions
diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile index 794d6074b..24536e5c1 100644 --- a/package/gpsd/Makefile +++ b/package/gpsd/Makefile @@ -13,8 +13,8 @@ PKG_DEPENDS:= libpthread PKG_BUILDDEP:= ncurses PKG_SITES:= http://download.berlios.de/gpsd/ PKG_URL:= http://gpsd.berlios.de/ -PKG_NEED_CXX:= 1 PKG_CXX:= GPSD +PKG_NEED_CXX:= 1 PKG_SUBPKGS:= GPSD GPSD_CLIENTS PKGSD_GPSD_CLIENTS:= GPS client utilities @@ -32,10 +32,15 @@ CONFIGURE_ENV+= EGREP="grep -E" \ CONFIGURE_ARGS+= --disable-dbus TCFLAGS+= -fPIC +LIBRARIES:=-nodefaultlibs -luClibc++ +ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) +LIBRARIES+=-lssp -lssp_nonshared +endif + ifeq ($(ADK_COMPILE_GPSD_WITH_UCLIBCXX),y) -TCXXFLAGS+= -fno-builtin -fno-rtti -nostdinc++ \ +TCXXFLAGS+= -fno-rtti -nostdinc++ \ -I${STAGING_TARGET_DIR}/usr/include/uClibc++ -TLDFLAGS+= -luClibc++ -lc -lm -pthread -nodefaultlibs +TLDFLAGS+= $(LIBRARIES) else TLDFLAGS+= -shared -pthread endif diff --git a/package/gpsd/patches/patch-Makefile_in b/package/gpsd/patches/patch-Makefile_in index bd45358ee..b54aabbac 100644 --- a/package/gpsd/patches/patch-Makefile_in +++ b/package/gpsd/patches/patch-Makefile_in @@ -1,5 +1,5 @@ --- gpsd-2.95.orig/Makefile.in 2010-07-14 00:48:24.000000000 +0200 -+++ gpsd-2.95/Makefile.in 2010-07-30 13:04:19.000000000 +0200 ++++ gpsd-2.95/Makefile.in 2011-01-15 19:56:22.000000000 +0100 @@ -612,8 +612,8 @@ libgps_la_SOURCES = $(libgps_c_sources) libgpsd_la_SOURCES = $(libgpsd_c_sources) $(libgpsd_h_sources) \ driver_rtcm2.h packet_states.h @@ -11,3 +11,12 @@ nodist_libgpsd_la_SOURCES = packet_names.h ais_json.i libgps_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD) libgpsd_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD) $(BLUEZ_LIBS) libgps.la +@@ -996,7 +996,7 @@ clean-libLTLIBRARIES: + rm -f "$${dir}/so_locations"; \ + done + libgps.la: $(libgps_la_OBJECTS) $(libgps_la_DEPENDENCIES) +- $(libgps_la_LINK) -rpath $(libdir) $(libgps_la_OBJECTS) $(libgps_la_LIBADD) $(LIBS) ++ $(libgps_la_LINK) -rpath $(libdir) $(libgps_la_OBJECTS) $(libgps_la_LIBADD) $(LDFLAGS) $(LIBS) + libgpsd.la: $(libgpsd_la_OBJECTS) $(libgpsd_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libgpsd_la_OBJECTS) $(libgpsd_la_LIBADD) $(LIBS) + install-binPROGRAMS: $(bin_PROGRAMS) diff --git a/package/gpsd/patches/patch-ltmain_sh b/package/gpsd/patches/patch-ltmain_sh new file mode 100644 index 000000000..85a07afac --- /dev/null +++ b/package/gpsd/patches/patch-ltmain_sh @@ -0,0 +1,20 @@ +--- gpsd-2.95.orig/ltmain.sh 2010-06-18 22:54:26.000000000 +0200 ++++ gpsd-2.95/ltmain.sh 2011-01-15 20:23:12.000000000 +0100 +@@ -4765,7 +4765,7 @@ func_mode_link () + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ +- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) ++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" +@@ -4963,7 +4963,7 @@ func_mode_link () + done + + if test "$linkmode" = lib; then +- libs="$predeps $libs $compiler_lib_search_path $postdeps" ++ libs="$libs $compiler_lib_search_path" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are |