fenlason a1b04b
diff -u -r amanda-2.4.4p1.old/configure.in amanda-2.4.4p1/configure.in
fenlason a1b04b
--- amanda-2.4.4p1.old/configure.in	2003-06-27 10:19:53.000000000 -0400
fenlason a1b04b
+++ amanda-2.4.4p1.pie/configure.in	2003-07-08 23:54:13.000000000 -0400
fenlason a1b04b
@@ -2469,6 +2469,52 @@
fenlason a1b04b
 AC_REPLACE_FUNCS(strcasecmp)
fenlason a1b04b
 ICE_CHECK_DECL(strcasecmp,string.h strings.h)
fenlason a1b04b
 
fenlason a1b04b
+AC_MSG_CHECKING([for Position Independent Executable support])
fenlason a1b04b
+save_CFLAGS="$CFLAGS"
fenlason a1b04b
+save_LDFLAGS="$LDFLAGS"
fenlason a1b04b
+CFLAGS="$CFLAGS -fpie"
fenlason a1b04b
+LDFLAGS="$LDFLAGS -pie"
fenlason a1b04b
+AC_TRY_RUN(
fenlason a1b04b
+	[
fenlason a1b04b
+int foo () __attribute__((visibility ("hidden")));
fenlason a1b04b
+int foo () { return 0; }
fenlason a1b04b
+int main () { return foo (); }
fenlason a1b04b
+	],
fenlason a1b04b
+	[
fenlason a1b04b
+		ac_cv_pie_support=yes
fenlason a1b04b
+	],
fenlason a1b04b
+	[
fenlason a1b04b
+		ac_cv_pie_support=no
fenlason a1b04b
+	],
fenlason a1b04b
+	[
fenlason a1b04b
+		ac_cv_pie_support=no
fenlason a1b04b
+	]
fenlason a1b04b
+)
fenlason a1b04b
+CFLAGS="$save_CFLAGS"
fenlason a1b04b
+LDFLAGS="$save_LDFLAGS"
fenlason a1b04b
+AC_MSG_RESULT($ac_cv_pie_support)
fenlason a1b04b
+if test $ac_cv_pie_support = no; then
fenlason a1b04b
+  AC_DEFINE(hidden,,
fenlason a1b04b
+	    [Define as `__attribute__((visibility ("hidden")))' if the C compiler supports it,
fenlason a1b04b
+	     or to nothing if it is not supported.])
fenlason a1b04b
+  PIE_LDFLAGS=
fenlason a1b04b
+  PIE_SED_CMD=
fenlason a1b04b
+  COMPILE_PIE=
fenlason a1b04b
+  EXIT0_IF_NO_PIE='exit 0'
fenlason a1b04b
+else
fenlason a1b04b
+  AC_DEFINE_UNQUOTED(hidden, __attribute__((visibility ("hidden"))))
fenlason a1b04b
+  PIE_LDFLAGS="-pie -L.pie/ -Lopenbsd-compat/.pie/"
fenlason a1b04b
+changequote(<<, >>)dnl
fenlason a1b04b
+  PIE_SED_CMD='s_[ 	]\([^ 	]\)_ .pie/\1_g'
fenlason a1b04b
+changequote([, ])dnl
fenlason a1b04b
+  COMPILE_PIE=' && mkdir -p .pie && $(COMPILE) -c -fpie -o .pie/$@ \`test -f '"'"'$<'"'"' || echo '"'"'$(srcdir)/'"'"'\`$<'
fenlason a1b04b
+  EXIT0_IF_NO_PIE=:
fenlason a1b04b
+fi
fenlason a1b04b
+AC_SUBST(PIE_LDFLAGS)
fenlason a1b04b
+AC_SUBST(PIE_SED_CMD)
fenlason a1b04b
+AC_SUBST(COMPILE_PIE)
fenlason a1b04b
+AC_SUBST(EXIT0_IF_NO_PIE)
fenlason a1b04b
+
fenlason a1b04b
 dnl disk device prefixes
fenlason a1b04b
 AC_MSG_CHECKING(disk device prefixes)
fenlason a1b04b
 dnl Use df to find the mount point for the root filesystem.  Use
fenlason a1b04b
--- amanda-2.4.4p1.orig/config/compile	1969-12-31 19:00:00.000000000 -0500
fenlason a1b04b
+++ amanda-2.4.4p1.pie/config/compile	2003-07-16 16:57:18.000000000 -0400
fenlason a1b04b
@@ -0,0 +1 @@
fenlason a1b04b
+# Dummy compile for configure
fenlason a1b04b
--- amanda-2.5.0/server-src/Makefile.am.pie	2006-02-14 06:51:24.000000000 -0500
fenlason a1b04b
+++ amanda-2.5.0/server-src/Makefile.am	2006-04-07 15:27:09.000000000 -0400
fenlason a1b04b
@@ -12,11 +12,48 @@
fenlason a1b04b
 			amgetconf	amlabel		amtape		\
fenlason a1b04b
 			amreport
fenlason a1b04b
 
fenlason a1b04b
+amadmin_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amadmin_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amcheck_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amcheck_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amflush_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amflush_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amgetconf_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amgetconf_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amlabel_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amlabel_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amreport_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amreport_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amtape_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amtape_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+
fenlason a1b04b
 libexec_PROGRAMS =	amindexd	amlogroll	amtrmidx	\
fenlason a1b04b
 			amtrmlog	driver		dumper		\
fenlason a1b04b
 			planner		taper		amcleanupdisk	\
fenlason a1b04b
 			chunker
fenlason a1b04b
 
fenlason a1b04b
+
fenlason a1b04b
+taper_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+taper_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+driver_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+driver_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+chunker_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+chunker_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amtrmlog_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amtrmlog_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amtrmidx_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amtrmidx_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amlogroll_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amlogroll_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amcleanupdisk_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amcleanupdisk_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amindexd_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amindexd_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+dumper_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+dumper_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+planner_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+planner_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+
fenlason a1b04b
 sbin_SCRIPTS =		amcheckdb	amcleanup	amdump		\
fenlason a1b04b
 			amoverview	amrmtape	amtoc		\
fenlason a1b04b
 			amverify	amverifyrun	amstatus	\
fenlason a1b04b
--- amanda-2.5.0/changer-src/Makefile.am.pie	2006-04-07 15:28:32.000000000 -0400
fenlason a1b04b
+++ amanda-2.5.0/changer-src/Makefile.am	2006-04-07 15:30:09.000000000 -0400
fenlason a1b04b
@@ -9,10 +9,14 @@
fenlason a1b04b
 
fenlason a1b04b
 if WANT_CHIO_SCSI
fenlason a1b04b
 CHIO_SCSI = chg-scsi-chio
fenlason a1b04b
+chg_scsi_chio_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+chg_scsi_chio_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
 endif
fenlason a1b04b
 
fenlason a1b04b
 if WANT_CHG_SCSI
fenlason a1b04b
 CHG_SCSI = chg-scsi
fenlason a1b04b
+chg_scsi_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+chg_scsi_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
 endif
fenlason a1b04b
 
fenlason a1b04b
 libexec_PROGRAMS =	$(CHG_SCSI)
fenlason a1b04b
--- amanda-2.5.0/client-src/Makefile.am.pie	2006-02-14 06:51:20.000000000 -0500
fenlason a1b04b
+++ amanda-2.5.0/client-src/Makefile.am	2006-04-07 15:33:17.000000000 -0400
fenlason a1b04b
@@ -8,6 +8,27 @@
fenlason a1b04b
 
fenlason a1b04b
 libexec_PROGRAMS =	amandad noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix
fenlason a1b04b
 
fenlason a1b04b
+calcsize_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+calcsize_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+killpgrp_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+killpgrp_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+rundump_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+rundump_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+runtar_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+runtar_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amandad_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amandad_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+noop_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+noop_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+selfcheck_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+selfcheck_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+sendbackup_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+sendbackup_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+sendsize_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+sendsize_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+versionsuffix_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+versionsuffix_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+
fenlason a1b04b
 sbin_SCRIPTS =		@CLIENT_SCRIPTS_OPT@
fenlason a1b04b
 
fenlason a1b04b
 libexec_SCRIPTS =	patch-system
fenlason a1b04b
--- amanda-2.5.0/restore-src/Makefile.am.pie	2006-02-14 06:51:23.000000000 -0500
fenlason a1b04b
+++ amanda-2.5.0/restore-src/Makefile.am	2006-04-07 15:35:48.000000000 -0400
fenlason a1b04b
@@ -32,6 +32,13 @@
fenlason a1b04b
                    ../tape-src/libamtape.$(LIB_EXTENSION) \
fenlason a1b04b
                   ../server-src/libamserver.$(LIB_EXTENSION)
fenlason a1b04b
 
fenlason a1b04b
+amidxtaped_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amidxtaped_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amrestore_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amrestore_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amfetchdump_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amfetchdump_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+
fenlason a1b04b
 noinst_HEADERS = restore.h
fenlason a1b04b
 
fenlason a1b04b
 install-exec-hook:
fenlason a1b04b
--- amanda-2.5.0/tape-src/Makefile.am.pie	2006-02-14 06:51:24.000000000 -0500
fenlason a1b04b
+++ amanda-2.5.0/tape-src/Makefile.am	2006-04-07 15:34:46.000000000 -0400
fenlason a1b04b
@@ -8,6 +8,13 @@
fenlason a1b04b
 
fenlason a1b04b
 sbin_PROGRAMS=          ammt amdd amtapetype
fenlason a1b04b
 
fenlason a1b04b
+amdd_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amdd_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+ammt_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+ammt_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+amtapetype_CFLAGS = -fPIE $(AM_CFLAGS)
fenlason a1b04b
+amtapetype_LDFLAGS = -pie $(AM_LDFLAGS)
fenlason a1b04b
+
fenlason a1b04b
 libamtape_la_SOURCES = 	output-file.c \
fenlason a1b04b
 			output-null.c \
fenlason a1b04b
 			output-rait.c \