summaryrefslogtreecommitdiff
path: root/prelink/prelink-20031029
diff options
context:
space:
mode:
authorChris Larson <clarson@kergoth.com>2004-11-09 00:36:47 +0000
committerChris Larson <clarson@kergoth.com>2004-11-09 00:36:47 +0000
commitf96441b9faf769c9ecdd4d338b605ea3d0cc4010 (patch)
treeedb17ec2c4ea13c5acb1c7350957a249a820e28d /prelink/prelink-20031029
parentb6588aa6851fb220cedc387d21c51513ef8d67f4 (diff)
Disable bk EOLN_NATIVE conversions on all files in packages FILESPATHs, to prevent it screwing up patches.
BKrev: 4190111fA4MuVozAqwE7xOSL9fr-TA
Diffstat (limited to 'prelink/prelink-20031029')
-rw-r--r--prelink/prelink-20031029/Makefile.in.patch11
-rw-r--r--prelink/prelink-20031029/dso.c.patch16
-rw-r--r--prelink/prelink-20031029/layout.c.patch26
-rw-r--r--prelink/prelink-20031029/prelink.cron.daily43
-rw-r--r--prelink/prelink-20031029/prelink.default25
-rw-r--r--prelink/prelink-20031029/prelink.h.patch48
-rw-r--r--prelink/prelink-20031029/ts.Makefile.am.patch11
-rw-r--r--prelink/prelink-20031029/ts.Makefile.in.patch11
8 files changed, 191 insertions, 0 deletions
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 = \