From: Andrea Tarani Date: Thu, 24 Feb 2005 01:51:30 +0000 (+0000) Subject: m68k.c (m68k_save_reg): Also save A5 for non-leaf functions when -mid-shared-library... X-Git-Tag: releases/gcc-4.0.0~607 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b86ba8a3efa78849fb43c627aa61764b642e14d1;p=thirdparty%2Fgcc.git m68k.c (m68k_save_reg): Also save A5 for non-leaf functions when -mid-shared-library is being used. * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf functions when -mid-shared-library is being used. From-SVN: r95487 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a7fb0dfed53a..d2321110ade0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-02-24 Andrea Tarani + + * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf + functions when -mid-shared-library is being used. + 2005-02-23 Daniel Jacobowitz * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 1db78d93d21f..e3ac6fada857 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -371,9 +371,13 @@ m68k_initial_elimination_offset (int from, int to) static bool m68k_save_reg (unsigned int regno, bool interrupt_handler) { - if (flag_pic && current_function_uses_pic_offset_table - && regno == PIC_OFFSET_TABLE_REGNUM) - return true; + if (flag_pic && regno == PIC_OFFSET_TABLE_REGNUM) + { + if (current_function_uses_pic_offset_table) + return true; + if (!current_function_is_leaf && TARGET_ID_SHARED_LIBRARY) + return true; + } if (current_function_calls_eh_return) {