diff options
Diffstat (limited to 'patches/prelink-0.0.20071009/layout.c.dpatch')
-rw-r--r-- | patches/prelink-0.0.20071009/layout.c.dpatch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/patches/prelink-0.0.20071009/layout.c.dpatch b/patches/prelink-0.0.20071009/layout.c.dpatch new file mode 100644 index 000000000..a299fa146 --- /dev/null +++ b/patches/prelink-0.0.20071009/layout.c.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changed optimization level. + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch}" + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $patch_opts -p1 < $0;; + -unpatch) patch $patch_opts -p1 -R < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 +@DPATCH@ + +--- 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 + } |