[libapp-stacktrace-perl] 01/02: Add patch by Niko Tyni to fix FTBFS with newer toolchain
Axel Beckert
abe at deuxchevaux.org
Sat Dec 10 02:46:21 UTC 2016
This is an automated email from the git hooks/post-receive script.
abe pushed a commit to branch master
in repository libapp-stacktrace-perl.
commit 46dabb1f94fdef78d946427317c4a9dc3f175651
Author: Axel Beckert <abe at deuxchevaux.org>
Date: Sat Dec 10 03:27:11 2016 +0100
Add patch by Niko Tyni to fix FTBFS with newer toolchain
Thanks Niko!
Addresses: #775744
---
debian/changelog | 4 +
.../0001-Pointers-should-be-long-not-int.patch | 372 +++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 377 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 3de9ba2..22dea18 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,10 @@ libapp-stacktrace-perl (0.09-2) UNRELEASED; urgency=medium
* debian/upstream/metadata: change GitHub/CPAN URL(s) to HTTPS.
* debian/upstream/metadata: use HTTPS for GitHub URLs.
+ [ Axel Beckert ]
+ * Add patch by Niko Tyni to fix FTBFS with newer toolchain. Thanks!
+ (Addresses: #775744)
+
-- Salvatore Bonaccorso <carnil at debian.org> Sat, 30 Jan 2016 20:02:54 +0100
libapp-stacktrace-perl (0.09-1) unstable; urgency=low
diff --git a/debian/patches/0001-Pointers-should-be-long-not-int.patch b/debian/patches/0001-Pointers-should-be-long-not-int.patch
new file mode 100644
index 0000000..6156c3f
--- /dev/null
+++ b/debian/patches/0001-Pointers-should-be-long-not-int.patch
@@ -0,0 +1,372 @@
+From 6712a7b680bf5e88cf30a5251b90872418c320f2 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni at debian.org>
+Date: Tue, 6 Dec 2016 13:56:46 +0200
+Subject: [PATCH] Pointers should be long not int
+
+Casting pointers to int types breaks on 64-bit platforms where Perl uses
+memory areas with pointers over 32 bits, which seems to be the case for
+PIE (position independent executable) builds.
+
+This only touches the code path relevant to Debian; 5.8, 5.10,
+and unthreaded code paths are intended to be unaffected.
+
+The changes to thread dumping parts are untested as they are not covered
+by the test suite.
+
+Bug-Debian: https://bugs.debian.org/775744
+---
+ lib/App/Stacktrace/perl_backtrace_raw.txt | 118 +++++++++++++++---------------
+ 1 file changed, 59 insertions(+), 59 deletions(-)
+
+diff --git a/lib/App/Stacktrace/perl_backtrace_raw.txt b/lib/App/Stacktrace/perl_backtrace_raw.txt
+index 9480e4d..41cf4e6 100644
+--- a/lib/App/Stacktrace/perl_backtrace_raw.txt
++++ b/lib/App/Stacktrace/perl_backtrace_raw.txt
+@@ -60,13 +60,13 @@ define perl_backtrace_an_interp
+ printf "interpreter=%#x\n", $interpreter
+ if $interpreter
+ x/128xw $interpreter
+- print $stackinfo = (int) *((int*) ($INTERPRETER_curstackinfo + (int) $interpreter))
++ print $stackinfo = (long) *((long*) ($INTERPRETER_curstackinfo + (long) $interpreter))
+ else
+- print $stackinfo = (int) *((int*) ($INTERPRETER_curstackinfo + (int) $interpreter))
++ print $stackinfo = (long) *((long*) ($INTERPRETER_curstackinfo + (long) $interpreter))
+ end
+ else
+ if $interpreter
+- set $stackinfo = (int) *((int*) ($INTERPRETER_curstackinfo + (int) $interpreter))
++ set $stackinfo = (long) *((long*) ($INTERPRETER_curstackinfo + (long) $interpreter))
+ else
+ set $stackinfo = 0
+ end
+@@ -76,13 +76,13 @@ define perl_backtrace_an_interp
+ printf "stackinfo=%#x\n", $stackinfo
+ if $stackinfo
+ x/128xw $stackinfo
+- print $cxstack = (int) *((int*) ($STACKINFO_cxstack + (int) $stackinfo))
++ print $cxstack = (long) *((long*) ($STACKINFO_cxstack + (long) $stackinfo))
+ else
+- print $cxstack = (int) *((int*) ($STACKINFO_cxstack + (int) $stackinfo))
++ print $cxstack = (long) *((long*) ($STACKINFO_cxstack + (long) $stackinfo))
+ end
+ else
+ if $stackinfo
+- set $cxstack = (int) *((int*) ($STACKINFO_cxstack + (int) $stackinfo))
++ set $cxstack = (long) *((long*) ($STACKINFO_cxstack + (long) $stackinfo))
+ else
+ set $cxstack = 0
+ end
+@@ -91,13 +91,13 @@ define perl_backtrace_an_interp
+ printf "stackinfo=%#x\n", $stackinfo
+ if $stackinfo
+ x/128xw $stackinfo
+- print $cxix = (int) *((int*) ($STACKINFO_cxix + (int) $stackinfo))
++ print $cxix = (int) *((int*) ($STACKINFO_cxix + (long) $stackinfo))
+ else
+- print $cxix = (int) *((int*) ($STACKINFO_cxix + (int) $stackinfo))
++ print $cxix = (int) *((int*) ($STACKINFO_cxix + (long) $stackinfo))
+ end
+ else
+ if $stackinfo
+- set $cxix = (int) *((int*) ($STACKINFO_cxix + (int) $stackinfo))
++ set $cxix = (int) *((int*) ($STACKINFO_cxix + (long) $stackinfo))
+ else
+ set $cxix = 0
+ end
+@@ -108,13 +108,13 @@ define perl_backtrace_an_interp
+ printf "cxstack=%#x\n", $cxstack
+ if $cxstack
+ x/128xw $cxstack
+- print $context = (int) (($CONTEXT_sizeof * $i) + (int) $cxstack)
++ print $context = (long) (($CONTEXT_sizeof * $i) + (long) $cxstack)
+ else
+- print $context = (int) (($CONTEXT_sizeof * $i) + (int) $cxstack)
++ print $context = (long) (($CONTEXT_sizeof * $i) + (long) $cxstack)
+ end
+ else
+ if $cxstack
+- set $context = (int) (($CONTEXT_sizeof * $i) + (int) $cxstack)
++ set $context = (long) (($CONTEXT_sizeof * $i) + (long) $cxstack)
+ else
+ set $context = 0
+ end
+@@ -123,13 +123,13 @@ define perl_backtrace_an_interp
+ printf "context=%#x\n", $context
+ if $context
+ x/128xw $context
+- print $type = (int) (((int) *((int*) ($CONTEXT_type + (int) $context))) & $CXTYPEMASK)
++ print $type = (int) (((int) *((int*) ($CONTEXT_type + (long) $context))) & $CXTYPEMASK)
+ else
+- print $type = (int) (((int) *((int*) ($CONTEXT_type + (int) $context))) & $CXTYPEMASK)
++ print $type = (int) (((int) *((int*) ($CONTEXT_type + (long) $context))) & $CXTYPEMASK)
+ end
+ else
+ if $context
+- set $type = (int) (((int) *((int*) ($CONTEXT_type + (int) $context))) & $CXTYPEMASK)
++ set $type = (int) (((int) *((int*) ($CONTEXT_type + (long) $context))) & $CXTYPEMASK)
+ else
+ set $type = 0
+ end
+@@ -140,13 +140,13 @@ define perl_backtrace_an_interp
+ printf "context=%#x\n", $context
+ if $context
+ x/128xw $context
+- print $cop = (int) *((int*) ($CONTEXT_cop + (int) $context))
++ print $cop = (long) *((long*) ($CONTEXT_cop + (long) $context))
+ else
+- print $cop = (int) *((int*) ($CONTEXT_cop + (int) $context))
++ print $cop = (long) *((long*) ($CONTEXT_cop + (long) $context))
+ end
+ else
+ if $context
+- set $cop = (int) *((int*) ($CONTEXT_cop + (int) $context))
++ set $cop = (long) *((long*) ($CONTEXT_cop + (long) $context))
+ else
+ set $cop = 0
+ end
+@@ -155,13 +155,13 @@ define perl_backtrace_an_interp
+ printf "cop=%#x\n", $cop
+ if $cop
+ x/128xw $cop
+- print $file = (char*) *(int*) ($COP_file + (int) $cop)
++ print $file = (char*) *(long*) ($COP_file + (long) $cop)
+ else
+- print $file = (char*) *(int*) ($COP_file + (int) $cop)
++ print $file = (char*) *(long*) ($COP_file + (long) $cop)
+ end
+ else
+ if $cop
+- set $file = (char*) *(int*) ($COP_file + (int) $cop)
++ set $file = (char*) *(long*) ($COP_file + (long) $cop)
+ else
+ set $file = 0
+ end
+@@ -173,13 +173,13 @@ define perl_backtrace_an_interp
+ printf "cop=%#x\n", $cop
+ if $cop
+ x/128xw $cop
+- print $line = (int) *((int*) ($COP_line + (int) $cop))
++ print $line = (int) *((int*) ($COP_line + (long) $cop))
+ else
+- print $line = (int) *((int*) ($COP_line + (int) $cop))
++ print $line = (int) *((int*) ($COP_line + (long) $cop))
+ end
+ else
+ if $cop
+- set $line = (int) *((int*) ($COP_line + (int) $cop))
++ set $line = (int) *((int*) ($COP_line + (long) $cop))
+ else
+ set $line = 0
+ end
+@@ -196,13 +196,13 @@ define perl_backtrace_an_interp
+ printf "stackinfo=%#x\n", $stackinfo
+ if $stackinfo
+ x/128xw $stackinfo
+- print $stackinfo = (int) *((int*) ($STACKINFO_prev + (int) $stackinfo))
++ print $stackinfo = (long) *((long*) ($STACKINFO_prev + (long) $stackinfo))
+ else
+- print $stackinfo = (int) *((int*) ($STACKINFO_prev + (int) $stackinfo))
++ print $stackinfo = (long) *((long*) ($STACKINFO_prev + (long) $stackinfo))
+ end
+ else
+ if $stackinfo
+- set $stackinfo = (int) *((int*) ($STACKINFO_prev + (int) $stackinfo))
++ set $stackinfo = (long) *((long*) ($STACKINFO_prev + (long) $stackinfo))
+ else
+ set $stackinfo = 0
+ end
+@@ -214,13 +214,13 @@ define perl_backtrace_a_thread
+ printf "thread=%#x\n", $thread
+ if $thread
+ x/128xw $thread
+- print $tid = (int) *((int*) ($THREAD_tid + (int) $thread))
++ print $tid = (int) *((int*) ($THREAD_tid + (long) $thread))
+ else
+- print $tid = (int) *((int*) ($THREAD_tid + (int) $thread))
++ print $tid = (int) *((int*) ($THREAD_tid + (long) $thread))
+ end
+ else
+ if $thread
+- set $tid = (int) *((int*) ($THREAD_tid + (int) $thread))
++ set $tid = (int) *((int*) ($THREAD_tid + (long) $thread))
+ else
+ set $tid = 0
+ end
+@@ -229,9 +229,9 @@ define perl_backtrace_a_thread
+ printf "thread=%#x\n", $thread
+ if $thread
+ x/128xw $thread
+- print $statei = (int) *((int*) ($THREAD_state + (int) $thread))
++ print $statei = (int) *((int*) ($THREAD_state + (long) $thread))
+ else
+- print $statei = (int) *((int*) ($THREAD_state + (int) $thread))
++ print $statei = (int) *((int*) ($THREAD_state + (long) $thread))
+ end
+ else
+ if $thread
+@@ -274,13 +274,13 @@ define perl_backtrace_a_thread
+ printf "thread=%#x\n", $thread
+ if $thread
+ x/128xw $thread
+- print $interpreter = (int) *((int*) ($THREAD_interpreter + (int) $thread))
++ print $interpreter = (int) *((int*) ($THREAD_interpreter + (long) $thread))
+ else
+- print $interpreter = (int) *((int*) ($THREAD_interpreter + (int) $thread))
++ print $interpreter = (int) *((int*) ($THREAD_interpreter + (long) $thread))
+ end
+ else
+ if $thread
+- set $interpreter = (int) *((int*) ($THREAD_interpreter + (int) $thread))
++ set $interpreter = (int) *((int*) ($THREAD_interpreter + (long) $thread))
+ else
+ set $interpreter = 0
+ end
+@@ -1399,13 +1399,13 @@ define perl_backtrace_5_12_threads
+ printf "interpreter=%#x\n", $interpreter
+ if $interpreter
+ x/128xw $interpreter
+- print $modglobal = (int) *((int*) ($INTERPRETER_modglobal + (int) $interpreter))
++ print $modglobal = (long) *((long*) ($INTERPRETER_modglobal + (long) $interpreter))
+ else
+- print $modglobal = (int) *((int*) ($INTERPRETER_modglobal + (int) $interpreter))
++ print $modglobal = (long) *((long*) ($INTERPRETER_modglobal + (long) $interpreter))
+ end
+ else
+ if $interpreter
+- set $modglobal = (int) *((int*) ($INTERPRETER_modglobal + (int) $interpreter))
++ set $modglobal = (long) *((long*) ($INTERPRETER_modglobal + (long) $interpreter))
+ else
+ set $modglobal = 0
+ end
+@@ -1417,7 +1417,7 @@ define perl_backtrace_5_12_threads
+ x/128xw $interpreter
+ printf "modglobal=%#x\n", $modglobal
+ x/128xw $modglobal
+- print $my_pool_svp = (int) Perl_hv_fetch((int) $interpreter, (int) $modglobal, $POOL_KEY, $POOL_KEY_LEN, 0)
++ print $my_pool_svp = (long) Perl_hv_fetch((long) $interpreter, (long) $modglobal, $POOL_KEY, $POOL_KEY_LEN, 0)
+ else
+ printf "interpreter=%#x\n", $interpreter
+ x/128xw $interpreter
+@@ -1439,7 +1439,7 @@ define perl_backtrace_5_12_threads
+ else
+ if $interpreter
+ if $modglobal
+- set $my_pool_svp = (int) Perl_hv_fetch((int) $interpreter, (int) $modglobal, $POOL_KEY, $POOL_KEY_LEN, 0)
++ set $my_pool_svp = (long) Perl_hv_fetch((long) $interpreter, (long) $modglobal, $POOL_KEY, $POOL_KEY_LEN, 0)
+ else
+ set $my_pool_svp = 0
+ end
+@@ -1452,13 +1452,13 @@ define perl_backtrace_5_12_threads
+ printf "my_pool_svp=%#x\n", $my_pool_svp
+ if $my_pool_svp
+ x/128xw $my_pool_svp
+- print $my_pool_sv = (int) *((int*) (int) $my_pool_svp)
++ print $my_pool_sv = (long) *((long*) (long) $my_pool_svp)
+ else
+- print $my_pool_sv = (int) *((int*) (int) $my_pool_svp)
++ print $my_pool_sv = (long) *((long*) (long) $my_pool_svp)
+ end
+ else
+ if $my_pool_svp
+- set $my_pool_sv = (int) *((int*) (int) $my_pool_svp)
++ set $my_pool_sv = (long) *((long*) (long) $my_pool_svp)
+ else
+ set $my_pool_sv = 0
+ end
+@@ -1467,13 +1467,13 @@ define perl_backtrace_5_12_threads
+ printf "my_pool_sv=%#x\n", $my_pool_sv
+ if $my_pool_sv
+ x/128xw $my_pool_sv
+- print $my_pool_svval = (int) *((int*) ($SV_any + (int) $my_pool_sv))
++ print $my_pool_svval = (long) *((long*) ($SV_any + (long) $my_pool_sv))
+ else
+- print $my_pool_svval = (int) *((int*) ($SV_any + (int) $my_pool_sv))
++ print $my_pool_svval = (long) *((long*) ($SV_any + (long) $my_pool_sv))
+ end
+ else
+ if $my_pool_sv
+- set $my_pool_svval = (int) *((int*) ($SV_any + (int) $my_pool_sv))
++ set $my_pool_svval = (long) *((long*) ($SV_any + (long) $my_pool_sv))
+ else
+ set $my_pool_svval = 0
+ end
+@@ -1482,13 +1482,13 @@ define perl_backtrace_5_12_threads
+ printf "my_pool_svval=%#x\n", $my_pool_svval
+ if $my_pool_svval
+ x/128xw $my_pool_svval
+- print $my_poolp = (int) *((int*) ($SV_uv + (int) $my_pool_svval))
++ print $my_poolp = (long) *((long*) ($SV_uv + (long) $my_pool_svval))
+ else
+- print $my_poolp = (int) *((int*) ($SV_uv + (int) $my_pool_svval))
++ print $my_poolp = (long) *((long*) ($SV_uv + (long) $my_pool_svval))
+ end
+ else
+ if $my_pool_svval
+- set $my_poolp = (int) *((int*) ($SV_uv + (int) $my_pool_svval))
++ set $my_poolp = (long) *((long*) ($SV_uv + (long) $my_pool_svval))
+ else
+ set $my_poolp = 0
+ end
+@@ -1497,13 +1497,13 @@ define perl_backtrace_5_12_threads
+ printf "my_poolp=%#x\n", $my_poolp
+ if $my_poolp
+ x/128xw $my_poolp
+- print $main_thread = $POOLP_main_thread + (int) $my_poolp
++ print $main_thread = $POOLP_main_thread + (long) $my_poolp
+ else
+- print $main_thread = $POOLP_main_thread + (int) $my_poolp
++ print $main_thread = $POOLP_main_thread + (long) $my_poolp
+ end
+ else
+ if $my_poolp
+- set $main_thread = $POOLP_main_thread + (int) $my_poolp
++ set $main_thread = $POOLP_main_thread + (long) $my_poolp
+ else
+ set $main_thread = 0
+ end
+@@ -1528,13 +1528,13 @@ define perl_backtrace_5_12_threads
+ printf "main_thread=%#x\n", $main_thread
+ if $main_thread
+ x/128xw $main_thread
+- print $thread = (int) *((int*) ($THREAD_next + (int) $main_thread))
++ print $thread = (long) *((long*) ($THREAD_next + (long) $main_thread))
+ else
+- print $thread = (int) *((int*) ($THREAD_next + (int) $main_thread))
++ print $thread = (long) *((long*) ($THREAD_next + (long) $main_thread))
+ end
+ else
+ if $main_thread
+- set $thread = (int) *((int*) ($THREAD_next + (int) $main_thread))
++ set $thread = (long) *((long*) ($THREAD_next + (long) $main_thread))
+ else
+ set $thread = 0
+ end
+@@ -1545,13 +1545,13 @@ define perl_backtrace_5_12_threads
+ printf "thread=%#x\n", $thread
+ if $thread
+ x/128xw $thread
+- print $thread = (int) *((int*) ($THREAD_next + (int) $thread))
++ print $thread = (long) *((long*) ($THREAD_next + (long) $thread))
+ else
+- print $thread = (int) *((int*) ($THREAD_next + (int) $thread))
++ print $thread = (long) *((long*) ($THREAD_next + (long) $thread))
+ end
+ else
+ if $thread
+- set $thread = (int) *((int*) ($THREAD_next + (int) $thread))
++ set $thread = (long) *((long*) ($THREAD_next + (long) $thread))
+ else
+ set $thread = 0
+ end
+@@ -1562,7 +1562,7 @@ define perl_backtrace_5_12_threads
+ end
+ end
+ define perl_backtrace_5_12_x
+- set $interpreter = (int) Perl_get_context()
++ set $interpreter = (long) Perl_get_context()
+ if $interpreter
+ perl_backtrace_5_12_threads
+ else
+--
+2.10.2
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..1d02bec
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-Pointers-should-be-long-not-int.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libapp-stacktrace-perl.git
More information about the Pkg-perl-cvs-commits
mailing list