[committed] hppa: Switch hppa-linux to caller copies ABI

Message ID 5A5EAE4F.6090200@bell.net
State New
Headers show
Series
  • [committed] hppa: Switch hppa-linux to caller copies ABI
Related show

Commit Message

John David Anglin Jan. 17, 2018, 2 a.m.
The callee copies ABI used for 32-bit hppa causes no end of optimization 
issues and problems with
OpenMP.  The hppa target is only in Debian unstable and gentoo.  In both 
cases, packages are
rebuilt often.  So, Helge and I decided that it was better to break the 
ABI and accept whatever
problems that result from the switch.

Committed to trunk.

Dave

-- 
John David Anglin  dave.anglin@bell.net
2018-01-16  John David Anglin  <danglin@gcc.gnu.org>

	* config.gcc (hppa*-*-linux*): Change callee copies ABI to caller
	copies.

Comments

Richard Biener Jan. 17, 2018, 8:26 a.m. | #1
On Wed, Jan 17, 2018 at 3:00 AM, John David Anglin <dave.anglin@bell.net> wrote:
> The callee copies ABI used for 32-bit hppa causes no end of optimization

> issues and problems with

> OpenMP.  The hppa target is only in Debian unstable and gentoo.  In both

> cases, packages are

> rebuilt often.  So, Helge and I decided that it was better to break the ABI

> and accept whatever

> problems that result from the switch.

>

> Committed to trunk.


That deserves a warning in gcc-8/changes.html

Richard.

> Dave

>

> --

> John David Anglin  dave.anglin@bell.net

>
John David Anglin Jan. 21, 2018, 8:04 p.m. | #2
On 2018-01-17 3:26 AM, Richard Biener wrote:
> That deserves a warning in gcc-8/changes.html

Done.
https://gcc.gnu.org/gcc-8/changes.html

Dave

-- 
John David Anglin  dave.anglin@bell.net

Patch

Index: config.gcc
===================================================================
--- config.gcc	(revision 256716)
+++ config.gcc	(working copy)
@@ -1339,7 +1339,7 @@ 
 	gas=yes gnu_ld=yes
 	;;
 hppa*-*-linux*)
-	target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
+	target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES"
 	tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
 		 pa/pa32-regs.h pa/pa32-linux.h"
 	tmake_file="${tmake_file} pa/t-linux"