summaryrefslogtreecommitdiff
path: root/cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c
diff options
context:
space:
mode:
Diffstat (limited to 'cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c')
-rw-r--r--cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c b/cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c
new file mode 100644
index 00000000000..c1af0b1a5f6
--- /dev/null
+++ b/cross/ppc-morphos-gcc-9/patches/patch-gcc_config_rs6000_rs6000.c
@@ -0,0 +1,19 @@
+$NetBSD: patch-gcc_config_rs6000_rs6000.c,v 1.1 2020/04/14 22:02:21 js Exp $
+
+Patch by Harry Sintonen.
+
+--- gcc/config/rs6000/rs6000.c.orig 2020-02-09 13:46:53.000000000 +0000
++++ gcc/config/rs6000/rs6000.c
+@@ -26840,6 +26840,12 @@ rs6000_components_for_bb (basic_block bb
+ || bitmap_bit_p (kill, LR_REGNO))
+ bitmap_set_bit (components, 0);
+
++#ifdef TARGET_BASEREL
++ /* Always mark LR saving to occur before basic_block if "saveds" function */
++ if (TARGET_BASEREL && info->baserel_save_p)
++ bitmap_set_bit (components, 0);
++#endif
++
+ /* The TOC save. */
+ if (bitmap_bit_p (in, TOC_REGNUM)
+ || bitmap_bit_p (gen, TOC_REGNUM)