Radek Brich 5efe2f
--- amanda-2.5.2p1/client-src/Makefile.am.pie	2007-05-04 13:39:05.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/client-src/Makefile.am	2007-06-22 13:50:23.000000000 +0200
Radek Brich 5efe2f
@@ -13,6 +13,25 @@ LIB_EXTENSION = la
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 libexec_PROGRAMS =	noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+noop_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+noop_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+calcsize_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+calcsize_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+killpgrp_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+killpgrp_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+rundump_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+rundump_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+runtar_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+runtar_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+selfcheck_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+selfcheck_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+sendbackup_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+sendbackup_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+sendsize_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+sendsize_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+versionsuffix_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+versionsuffix_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 sbin_SCRIPTS =		@CLIENT_SCRIPTS_OPT@
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 libexec_SCRIPTS =	patch-system
Radek Brich 5efe2f
--- amanda-2.5.2p1/restore-src/Makefile.am.pie	2007-05-04 13:39:06.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/restore-src/Makefile.am	2007-06-22 13:42:42.000000000 +0200
Radek Brich 5efe2f
@@ -43,6 +43,13 @@ librestore_la_LIBADD	=	../common-src/lib
Radek Brich 5efe2f
                    ../tape-src/libamtape.$(LIB_EXTENSION) \
Radek Brich 5efe2f
                   ../server-src/libamserver.$(LIB_EXTENSION)
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+amidxtaped_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amidxtaped_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amrestore_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amrestore_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amfetchdump_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amfetchdump_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 noinst_HEADERS = restore.h
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 install-exec-hook:
Radek Brich 5efe2f
--- amanda-2.5.2p1/amandad-src/Makefile.am.pie	2007-05-04 13:39:06.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/amandad-src/Makefile.am	2007-06-22 14:01:31.000000000 +0200
Radek Brich 5efe2f
@@ -12,6 +12,9 @@ LIB_EXTENSION = la
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 libexec_PROGRAMS =	amandad
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+amandad_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amandad_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 if WANT_RUNTIME_PSEUDO_RELOC
Radek Brich 5efe2f
 AM_LDFLAGS = -Wl,-enable-runtime-pseudo-reloc
Radek Brich 5efe2f
 endif
Radek Brich 5efe2f
--- amanda-2.5.2p1/tape-src/Makefile.am.pie	2007-05-04 13:39:08.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/tape-src/Makefile.am	2007-06-22 13:42:42.000000000 +0200
Radek Brich 5efe2f
@@ -12,6 +12,13 @@ LIB_EXTENSION = la
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 sbin_PROGRAMS=          ammt amdd amtapetype
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+amdd_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amdd_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+ammt_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+ammt_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amtapetype_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amtapetype_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 libamtape_la_SOURCES = 	output-file.c \
Radek Brich 5efe2f
 			output-null.c \
Radek Brich 5efe2f
 			output-rait.c \
Radek Brich 5efe2f
--- amanda-2.5.2p1/changer-src/Makefile.am.pie	2007-05-04 13:39:04.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/changer-src/Makefile.am	2007-06-22 13:42:42.000000000 +0200
Radek Brich 5efe2f
@@ -13,10 +13,14 @@ LIB_EXTENSION = la
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 if WANT_CHIO_SCSI
Radek Brich 5efe2f
 CHIO_SCSI = chg-scsi-chio
Radek Brich 5efe2f
+chg_scsi_chio_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+chg_scsi_chio_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
 endif
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 if WANT_CHG_SCSI
Radek Brich 5efe2f
 CHG_SCSI = chg-scsi
Radek Brich 5efe2f
+chg_scsi_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+chg_scsi_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
 endif
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 libexec_PROGRAMS =	$(CHG_SCSI)
Radek Brich 5efe2f
--- /dev/null	2007-06-20 09:13:44.480310269 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/config/compile	2007-06-22 13:42:42.000000000 +0200
Radek Brich 5efe2f
@@ -0,0 +1 @@
Radek Brich 5efe2f
+# Dummy compile for configure
Radek Brich 5efe2f
--- amanda-2.5.2p1/configure.in.pie	2007-06-07 01:22:24.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/configure.in	2007-06-22 13:42:42.000000000 +0200
Radek Brich 5efe2f
@@ -2920,6 +2920,52 @@ ICE_CHECK_DECL(strcasecmp,string.h strin
Radek Brich 5efe2f
 AC_CHECK_FUNCS(fnmatch)
Radek Brich 5efe2f
 
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+AC_MSG_CHECKING([for Position Independent Executable support])
Radek Brich 5efe2f
+save_CFLAGS="$CFLAGS"
Radek Brich 5efe2f
+save_LDFLAGS="$LDFLAGS"
Radek Brich 5efe2f
+CFLAGS="$CFLAGS -fpie"
Radek Brich 5efe2f
+LDFLAGS="$LDFLAGS -pie"
Radek Brich 5efe2f
+AC_TRY_RUN(
Radek Brich 5efe2f
+	[
Radek Brich 5efe2f
+int foo () __attribute__((visibility ("hidden")));
Radek Brich 5efe2f
+int foo () { return 0; }
Radek Brich 5efe2f
+int main () { return foo (); }
Radek Brich 5efe2f
+	],
Radek Brich 5efe2f
+	[
Radek Brich 5efe2f
+		ac_cv_pie_support=yes
Radek Brich 5efe2f
+	],
Radek Brich 5efe2f
+	[
Radek Brich 5efe2f
+		ac_cv_pie_support=no
Radek Brich 5efe2f
+	],
Radek Brich 5efe2f
+	[
Radek Brich 5efe2f
+		ac_cv_pie_support=no
Radek Brich 5efe2f
+	]
Radek Brich 5efe2f
+)
Radek Brich 5efe2f
+CFLAGS="$save_CFLAGS"
Radek Brich 5efe2f
+LDFLAGS="$save_LDFLAGS"
Radek Brich 5efe2f
+AC_MSG_RESULT($ac_cv_pie_support)
Radek Brich 5efe2f
+if test $ac_cv_pie_support = no; then
Radek Brich 5efe2f
+  AC_DEFINE(hidden,,
Radek Brich 5efe2f
+	    [Define as `__attribute__((visibility ("hidden")))' if the C compiler supports it,
Radek Brich 5efe2f
+	     or to nothing if it is not supported.])
Radek Brich 5efe2f
+  PIE_LDFLAGS=
Radek Brich 5efe2f
+  PIE_SED_CMD=
Radek Brich 5efe2f
+  COMPILE_PIE=
Radek Brich 5efe2f
+  EXIT0_IF_NO_PIE='exit 0'
Radek Brich 5efe2f
+else
Radek Brich 5efe2f
+  AC_DEFINE_UNQUOTED(hidden, __attribute__((visibility ("hidden"))))
Radek Brich 5efe2f
+  PIE_LDFLAGS="-pie -L.pie/ -Lopenbsd-compat/.pie/"
Radek Brich 5efe2f
+changequote(<<, >>)dnl
Radek Brich 5efe2f
+  PIE_SED_CMD='s_[ 	]\([^ 	]\)_ .pie/\1_g'
Radek Brich 5efe2f
+changequote([, ])dnl
Radek Brich 5efe2f
+  COMPILE_PIE=' && mkdir -p .pie && $(COMPILE) -c -fpie -o .pie/$@ \`test -f '"'"'$<'"'"' || echo '"'"'$(srcdir)/'"'"'\`$<'
Radek Brich 5efe2f
+  EXIT0_IF_NO_PIE=:
Radek Brich 5efe2f
+fi
Radek Brich 5efe2f
+AC_SUBST(PIE_LDFLAGS)
Radek Brich 5efe2f
+AC_SUBST(PIE_SED_CMD)
Radek Brich 5efe2f
+AC_SUBST(COMPILE_PIE)
Radek Brich 5efe2f
+AC_SUBST(EXIT0_IF_NO_PIE)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 dnl disk device prefixes
Radek Brich 5efe2f
 AC_MSG_CHECKING(disk device prefixes)
Radek Brich 5efe2f
 dnl Use df to find the mount point for the root filesystem.  Use
Radek Brich 5efe2f
--- amanda-2.5.2p1/server-src/Makefile.am.pie	2007-05-04 13:39:04.000000000 +0200
Radek Brich 5efe2f
+++ amanda-2.5.2p1/server-src/Makefile.am	2007-06-22 13:52:15.000000000 +0200
Radek Brich 5efe2f
@@ -17,11 +17,48 @@ sbin_PROGRAMS =		amadmin		amcheck		amflu
Radek Brich 5efe2f
 			amgetconf	amlabel		amtape		\
Radek Brich 5efe2f
 			amreport
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+amadmin_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amadmin_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amcheck_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amcheck_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amflush_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amflush_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amgetconf_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amgetconf_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amlabel_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amlabel_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amreport_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amreport_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amtape_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amtape_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 libexec_PROGRAMS =	amindexd	amlogroll	amtrmidx	\
Radek Brich 5efe2f
 			amtrmlog	driver		dumper		\
Radek Brich 5efe2f
 			planner		taper		amcleanupdisk	\
Radek Brich 5efe2f
 			chunker
Radek Brich 5efe2f
 
Radek Brich 5efe2f
+
Radek Brich 5efe2f
+amindexd_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amindexd_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amlogroll_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amlogroll_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amtrmidx_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amtrmidx_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amtrmlog_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amtrmlog_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+driver_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+driver_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+dumper_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+dumper_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+planner_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+planner_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+taper_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+taper_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+chunker_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+chunker_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+amcleanupdisk_CFLAGS = -fPIE $(AM_CFLAGS)
Radek Brich 5efe2f
+amcleanupdisk_LDFLAGS = -pie $(AM_LDFLAGS)
Radek Brich 5efe2f
+
Radek Brich 5efe2f
 sbin_SCRIPTS =		amcheckdb	amcleanup	amdump		\
Radek Brich 5efe2f
 			amoverview	amrmtape	amtoc		\
Radek Brich 5efe2f
 			amverify	amverifyrun	amstatus	\