From f96441b9faf769c9ecdd4d338b605ea3d0cc4010 Mon Sep 17 00:00:00 2001
From: Chris Larson <clarson@kergoth.com>
Date: Tue, 9 Nov 2004 00:36:47 +0000
Subject: Disable bk EOLN_NATIVE conversions on all files in packages
 FILESPATHs, to prevent it screwing up patches.

BKrev: 4190111fA4MuVozAqwE7xOSL9fr-TA
---
 prelink/prelink-20031029/Makefile.in.patch    | 11 ++++++
 prelink/prelink-20031029/dso.c.patch          | 16 +++++++++
 prelink/prelink-20031029/layout.c.patch       | 26 +++++++++++++++
 prelink/prelink-20031029/prelink.cron.daily   | 43 ++++++++++++++++++++++++
 prelink/prelink-20031029/prelink.default      | 25 ++++++++++++++
 prelink/prelink-20031029/prelink.h.patch      | 48 +++++++++++++++++++++++++++
 prelink/prelink-20031029/ts.Makefile.am.patch | 11 ++++++
 prelink/prelink-20031029/ts.Makefile.in.patch | 11 ++++++
 prelink/prelink-20040304/prelink.cron.daily   | 43 ++++++++++++++++++++++++
 prelink/prelink-20040304/prelink.default      | 25 ++++++++++++++
 10 files changed, 259 insertions(+)

(limited to 'prelink')

diff --git a/prelink/prelink-20031029/Makefile.in.patch b/prelink/prelink-20031029/Makefile.in.patch
index e69de29bb2..930ea5f9c4 100644
--- a/prelink/prelink-20031029/Makefile.in.patch
+++ b/prelink/prelink-20031029/Makefile.in.patch
@@ -0,0 +1,11 @@
+--- prelink-0.0.20030902.orig/src/Makefile.in	2003-07-01 14:38:41.000000000 +0000
++++ prelink-0.0.20030902/src/Makefile.in	2003-09-16 23:26:16.000000000 +0000
+@@ -108,7 +108,7 @@
+ 		  $(prelink_SYSDEPS)
+ 
+ prelink_LDADD = @LIBGELF@
+-prelink_LDFLAGS = -all-static
++#prelink_LDFLAGS = -all-static
+ 
+ extra_DIST = makecrc.c
+ subdir = src
diff --git a/prelink/prelink-20031029/dso.c.patch b/prelink/prelink-20031029/dso.c.patch
index e69de29bb2..1be2f52961 100644
--- a/prelink/prelink-20031029/dso.c.patch
+++ b/prelink/prelink-20031029/dso.c.patch
@@ -0,0 +1,16 @@
+--- prelink-0.0.20030902.orig/src/dso.c	2003-08-11 11:55:11.000000000 +0000
++++ prelink-0.0.20030902/src/dso.c	2003-09-16 23:26:16.000000000 +0000
+@@ -334,7 +334,13 @@
+       }
+     else
+       sections[--k] = i;
++/* this fails for the statically linked upx executable
+   assert (j == k);
++*/
++  if (j != k) {
++      printf("assert(j == k) at dso.c:311 has failed for file %s\n", name);
++      goto error_out;
++  }
+ 
+   section_cmp_dso = dso;
+   qsort (sections + k, dso->ehdr.e_shnum - k, sizeof (*sections), section_cmp);
diff --git a/prelink/prelink-20031029/layout.c.patch b/prelink/prelink-20031029/layout.c.patch
index e69de29bb2..3961d84d0b 100644
--- a/prelink/prelink-20031029/layout.c.patch
+++ b/prelink/prelink-20031029/layout.c.patch
@@ -0,0 +1,26 @@
+--- prelink-0.0.20030902.orig/src/layout.c	2003-06-13 15:12:26.000000000 +0000
++++ prelink-0.0.20030902/src/layout.c	2003-09-16 23:26:16.000000000 +0000
+@@ -614,7 +614,23 @@
+ 		< ((deps[j - 1]->end + max_page_size - 1)
+ 		   & ~(max_page_size - 1))
+ 		&& (deps[j]->type == ET_DYN || deps[j - 1]->type == ET_DYN))
++{ /* XXX some binaries cause a segfault but I do not know why -- Md*/
++    fprintf(stderr,
++	"Unknown fatal error at src/layout.c:538\n"
++	"l.binlibs[i]->filename: %s\n"
++	"deps[j]->base: %lx\n"
++	"(deps[j - 1]->end + max_page_size - 1) & ~(max_page_size - 1): %ld\n"
++	"[deps[j - 1]->end: %lx  max_page_size: %lu]\n"
++	"deps[j]->type: %x  deps[j - 1]->type: %x\n"
++	,
++	l.binlibs[i]->filename,
++	deps[j]->base,
++	((deps[j - 1]->end + max_page_size - 1) & ~(max_page_size - 1)),
++	deps[j - 1]->end, max_page_size,
++	deps[j]->type, deps[j - 1]->type
++	);
+ 	      abort ();
++}
+ 	}
+ #endif
+     }
diff --git a/prelink/prelink-20031029/prelink.cron.daily b/prelink/prelink-20031029/prelink.cron.daily
index e69de29bb2..91983ee18b 100644
--- a/prelink/prelink-20031029/prelink.cron.daily
+++ b/prelink/prelink-20031029/prelink.cron.daily
@@ -0,0 +1,43 @@
+--- prelink-0.0.20040115.orig/debian/prelink.cron.daily
++++ prelink-0.0.20040115/debian/prelink.cron.daily
+@@ -0,0 +1,40 @@
++#!/bin/sh
++
++. /etc/default/prelink
++
++renice +19 -p $$ >/dev/null 2>&1
++
++if [ "$PRELINKING" != yes ]; then
++  if [ -f /etc/prelink.cache ]; then
++    echo /usr/sbin/prelink -uav > /var/log/prelink.log
++    /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1
++    rm -f /etc/prelink.cache
++    # Restart init if needed
++    [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
++  fi
++  exit 0
++fi
++
++if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \
++   || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then
++  # If cache does not exist or is from older prelink versions or
++  # if we were asked to explicitely, force full prelinking
++  rm -f /etc/prelink.cache /var/lib/misc/prelink.force
++  PRELINK_OPTS="$PRELINK_OPTS -f"
++  date > /var/lib/misc/prelink.full
++elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \
++       -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \
++	  = /var/lib/misc/prelink.full ]; then
++  # If prelink without -q has been run in the last
++  # PRELINK_FULL_TIME_INTERVAL days, just use quick mode
++  PRELINK_OPTS="$PRELINK_OPTS -q"
++else
++  date > /var/lib/misc/prelink.full
++fi
++
++echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log
++/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1
++# Restart init if needed
++[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
++
++exit 0
diff --git a/prelink/prelink-20031029/prelink.default b/prelink/prelink-20031029/prelink.default
index e69de29bb2..d89649e49b 100644
--- a/prelink/prelink-20031029/prelink.default
+++ b/prelink/prelink-20031029/prelink.default
@@ -0,0 +1,25 @@
+--- prelink-0.0.20040115.orig/debian/prelink.default
++++ prelink-0.0.20040115/debian/prelink.default
+@@ -0,0 +1,22 @@
++# Set this to no to disable prelinking altogether
++# or to yes to enable it.
++# (if you change this from yes to no prelink -ua
++# will be run next night to undo prelinking)
++PRELINKING=unknown
++
++# Options to pass to prelink
++# -m	Try to conserve virtual memory by allowing overlapping
++#	assigned virtual memory slots for libraries which
++#	never appear together in one binary
++# -R	Randomize virtual memory slot assignments for libraries.
++#	This makes it slightly harder for various buffer overflow
++#	attacks, since library addresses will be different on each
++#	host using -R.
++PRELINK_OPTS=-mR
++
++# How often should full prelink be run (in days)
++# Normally, prelink will be run in quick mode, every
++# $PRELINK_FULL_TIME_INTERVAL days it will be run
++# in normal mode.  Comment this line out if prelink 
++# should be run in normal mode always.
++PRELINK_FULL_TIME_INTERVAL=14
diff --git a/prelink/prelink-20031029/prelink.h.patch b/prelink/prelink-20031029/prelink.h.patch
index e69de29bb2..3ca2930d3a 100644
--- a/prelink/prelink-20031029/prelink.h.patch
+++ b/prelink/prelink-20031029/prelink.h.patch
@@ -0,0 +1,48 @@
+--- prelink-0.0.20030902.orig/src/prelink.h	2003-08-11 11:54:01.000000000 +0000
++++ prelink-0.0.20030902/src/prelink.h	2003-09-16 23:26:16.000000000 +0000
+@@ -26,6 +26,45 @@
+ #include <stdio.h>
+ #include <sys/stat.h>
+ 
++/* http://gcc.gnu.org/ml/gcc/2003-01/msg00922.html */
++#ifndef R_390_TLS_DTPMOD
++#define R_390_TLS_DTPMOD 54
++#define R_390_TLS_DTPOFF 55
++#define R_390_TLS_TPOFF  56
++#endif
++
++/* from http://www.cygwin.com/ml/libc-alpha/2003-02/msg00241.html */
++#ifndef R_PPC_TLS
++#define R_PPC_TLS		67
++#define R_PPC_DTPMOD32		68
++#define R_PPC_TPREL16		69
++#define R_PPC_TPREL16_LO	70
++#define R_PPC_TPREL16_HI	71
++#define R_PPC_TPREL16_HA	72
++#define R_PPC_TPREL32		73
++#define R_PPC_DTPREL16		74
++#define R_PPC_DTPREL16_LO	75
++#define R_PPC_DTPREL16_HI	76
++#define R_PPC_DTPREL16_HA	77
++#define R_PPC_DTPREL32		78
++#define R_PPC_GOT_TLSGD16	79
++#define R_PPC_GOT_TLSGD16_LO	80
++#define R_PPC_GOT_TLSGD16_HI	81
++#define R_PPC_GOT_TLSGD16_HA	82
++#define R_PPC_GOT_TLSLD16	83
++#define R_PPC_GOT_TLSLD16_LO	84
++#define R_PPC_GOT_TLSLD16_HI	85
++#define R_PPC_GOT_TLSLD16_HA	86
++#define R_PPC_GOT_TPREL16	87
++#define R_PPC_GOT_TPREL16_LO	88
++#define R_PPC_GOT_TPREL16_HI	89
++#define R_PPC_GOT_TPREL16_HA	90
++#define R_PPC_GOT_DTPREL16	91
++#define R_PPC_GOT_DTPREL16_LO	92
++#define R_PPC_GOT_DTPREL16_HI	93
++#define R_PPC_GOT_DTPREL16_HA	94
++#endif
++
+ #ifndef DT_GNU_LIBLIST
+ #define DT_GNU_LIBLIST		0x6ffffef9
+ #define DT_GNU_LIBLISTSZ	0x6ffffdf7
diff --git a/prelink/prelink-20031029/ts.Makefile.am.patch b/prelink/prelink-20031029/ts.Makefile.am.patch
index e69de29bb2..6b8c3c5c38 100644
--- a/prelink/prelink-20031029/ts.Makefile.am.patch
+++ b/prelink/prelink-20031029/ts.Makefile.am.patch
@@ -0,0 +1,11 @@
+--- prelink-0.0.20031029.orig/testsuite/Makefile.am	2003-09-02 21:44:23.000000000 +0000
++++ prelink-0.0.20031029/testsuite/Makefile.am	2003-10-31 20:28:02.000000000 +0000
+@@ -11,7 +11,7 @@
+ 	shuffle1.sh shuffle2.sh shuffle3.sh shuffle4.sh shuffle5.sh \
+ 	shuffle6.sh shuffle7.sh \
+ 	layout1.sh layout2.sh tls1.sh tls2.sh tls3.sh tls4.sh \
+-	cxx1.sh quick1.sh cycle1.sh cycle2.sh \
++	cxx1.sh cycle1.sh cycle2.sh \
+ 	undosyslibs.sh
+ TESTS_ENVIRONMENT = \
+ 	PRELINK="../src/prelink -c ./prelink.conf -C ./prelink.cache --ld-library-path=. --dynamic-linker=`echo ./ld*.so.*[0-9]`" \
diff --git a/prelink/prelink-20031029/ts.Makefile.in.patch b/prelink/prelink-20031029/ts.Makefile.in.patch
index e69de29bb2..4253badb65 100644
--- a/prelink/prelink-20031029/ts.Makefile.in.patch
+++ b/prelink/prelink-20031029/ts.Makefile.in.patch
@@ -0,0 +1,11 @@
+--- prelink-0.0.20031029.orig/testsuite/Makefile.in	2003-10-28 20:01:56.000000000 +0000
++++ prelink-0.0.20031029/testsuite/Makefile.in	2003-10-31 20:28:10.000000000 +0000
+@@ -106,7 +106,7 @@
+ 	shuffle1.sh shuffle2.sh shuffle3.sh shuffle4.sh shuffle5.sh \
+ 	shuffle6.sh shuffle7.sh \
+ 	layout1.sh layout2.sh tls1.sh tls2.sh tls3.sh tls4.sh \
+-	cxx1.sh quick1.sh cycle1.sh cycle2.sh \
++	cxx1.sh cycle1.sh cycle2.sh \
+ 	undosyslibs.sh
+ 
+ TESTS_ENVIRONMENT = \
diff --git a/prelink/prelink-20040304/prelink.cron.daily b/prelink/prelink-20040304/prelink.cron.daily
index e69de29bb2..91983ee18b 100644
--- a/prelink/prelink-20040304/prelink.cron.daily
+++ b/prelink/prelink-20040304/prelink.cron.daily
@@ -0,0 +1,43 @@
+--- prelink-0.0.20040115.orig/debian/prelink.cron.daily
++++ prelink-0.0.20040115/debian/prelink.cron.daily
+@@ -0,0 +1,40 @@
++#!/bin/sh
++
++. /etc/default/prelink
++
++renice +19 -p $$ >/dev/null 2>&1
++
++if [ "$PRELINKING" != yes ]; then
++  if [ -f /etc/prelink.cache ]; then
++    echo /usr/sbin/prelink -uav > /var/log/prelink.log
++    /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1
++    rm -f /etc/prelink.cache
++    # Restart init if needed
++    [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
++  fi
++  exit 0
++fi
++
++if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \
++   || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then
++  # If cache does not exist or is from older prelink versions or
++  # if we were asked to explicitely, force full prelinking
++  rm -f /etc/prelink.cache /var/lib/misc/prelink.force
++  PRELINK_OPTS="$PRELINK_OPTS -f"
++  date > /var/lib/misc/prelink.full
++elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \
++       -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \
++	  = /var/lib/misc/prelink.full ]; then
++  # If prelink without -q has been run in the last
++  # PRELINK_FULL_TIME_INTERVAL days, just use quick mode
++  PRELINK_OPTS="$PRELINK_OPTS -q"
++else
++  date > /var/lib/misc/prelink.full
++fi
++
++echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log
++/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1
++# Restart init if needed
++[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
++
++exit 0
diff --git a/prelink/prelink-20040304/prelink.default b/prelink/prelink-20040304/prelink.default
index e69de29bb2..d89649e49b 100644
--- a/prelink/prelink-20040304/prelink.default
+++ b/prelink/prelink-20040304/prelink.default
@@ -0,0 +1,25 @@
+--- prelink-0.0.20040115.orig/debian/prelink.default
++++ prelink-0.0.20040115/debian/prelink.default
+@@ -0,0 +1,22 @@
++# Set this to no to disable prelinking altogether
++# or to yes to enable it.
++# (if you change this from yes to no prelink -ua
++# will be run next night to undo prelinking)
++PRELINKING=unknown
++
++# Options to pass to prelink
++# -m	Try to conserve virtual memory by allowing overlapping
++#	assigned virtual memory slots for libraries which
++#	never appear together in one binary
++# -R	Randomize virtual memory slot assignments for libraries.
++#	This makes it slightly harder for various buffer overflow
++#	attacks, since library addresses will be different on each
++#	host using -R.
++PRELINK_OPTS=-mR
++
++# How often should full prelink be run (in days)
++# Normally, prelink will be run in quick mode, every
++# $PRELINK_FULL_TIME_INTERVAL days it will be run
++# in normal mode.  Comment this line out if prelink 
++# should be run in normal mode always.
++PRELINK_FULL_TIME_INTERVAL=14
-- 
cgit v1.2.3