From f77a1c4eb77bca403de9fe4961cd598aa3b11324 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 10 Nov 2010 22:43:46 +0100 Subject: gcc: pr35965: fix -fstack-protector-all on ARM Signed-off-by: Marc Kleine-Budde --- patches/gcc-4.3.2/generic/gcc-43-pr35965.diff | 47 +++++++++++++++++++++++++++ patches/gcc-4.3.2/generic/series | 5 +-- 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 patches/gcc-4.3.2/generic/gcc-43-pr35965.diff diff --git a/patches/gcc-4.3.2/generic/gcc-43-pr35965.diff b/patches/gcc-4.3.2/generic/gcc-43-pr35965.diff new file mode 100644 index 0000000..414525c --- /dev/null +++ b/patches/gcc-4.3.2/generic/gcc-43-pr35965.diff @@ -0,0 +1,47 @@ +From ad5429399a8332dff822d07476286e3662fb26b9 Mon Sep 17 00:00:00 2001 +From: Julian Brown +Date: Wed, 10 Nov 2010 22:35:50 +0100 +Subject: [PATCH] gcc-43-pr35965: This patch enables -fstack-protector-all on ARM. + +See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965 + +This patch enables -fstack-protector-all on ARM. + +2009-02-24 Julian Brown + + PR target/35965 + * config/arm/arm.c (require_pic_register): Only set + cfun->machine->pic_reg once per function. + + Patch commited by Doug Kwan +--- + gcc/config/arm/arm.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c +index 217cc7e..8b3b9c6 100644 +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -3372,7 +3372,8 @@ require_pic_register (void) + gcc_assert (can_create_pseudo_p ()); + if (arm_pic_register != INVALID_REGNUM) + { +- cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register); ++ if (!cfun->machine->pic_reg) ++ cfun->machine->pic_reg = gen_rtx_REG (Pmode, arm_pic_register); + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation +@@ -3384,7 +3385,8 @@ require_pic_register (void) + { + rtx seq; + +- cfun->machine->pic_reg = gen_reg_rtx (Pmode); ++ if (!cfun->machine->pic_reg) ++ cfun->machine->pic_reg = gen_reg_rtx (Pmode); + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation +-- +1.7.2.3 + diff --git a/patches/gcc-4.3.2/generic/series b/patches/gcc-4.3.2/generic/series index 8f86ef5..3f18384 100644 --- a/patches/gcc-4.3.2/generic/series +++ b/patches/gcc-4.3.2/generic/series @@ -7,6 +7,9 @@ arm-softfloat.diff # bugfixes gcc-43-pr32044.diff gcc-43-pr37220.diff +gcc-43-pr39429.diff +PR-bootstrap-41180.patch +gcc-43-pr35965.diff # from uclibc uclibc/100-uclibc-conf.patch @@ -32,5 +35,3 @@ gentoo/61_all_gcc4-ia64-noteGNUstack.patch gentoo/64_all_gcc43-pr34571.patch gentoo/66_all_gcc43-pr25343.patch gentoo/74_all_sh-pr24836.patch -gcc-43-pr39429.diff -PR-bootstrap-41180.patch -- cgit v1.2.3