[23.10 FEAT] [GNU2219] GCC Preserve register arguments support

Bug #2025575 reported by bugproxy
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
High
Skipper Bug Screeners
gcc-13 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Feature Description:

Owing to performance concerns and in order to be able to access function arguments it is required:
  1. to store the argument register content to the stack
  2. generate proper CFI to allow the unwinder to locate it

bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-202893 severity-high targetmilestone-inin2310
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2023-07-02 18:29 EDT-------
The following 3 patches are required for this feature:

New reg note REG_CFA_NORESTORE
ef5f7b89bbc352255595069eb870d6f30f1f9134

IBM zSystems: Make stack_tie to work with hard frame pointer
36ffb2e0293d1bbef30e3553a431679de00549b9

IBM zSystems: Save argument registers to the stack -mpreserve-args
8091199cdf4d0aa9c28e4526548ddc25d02898ca

(FYI: The last patch contains two testcases for the GCC testsuite)

Frank Heimes (fheimes)
affects: linux (Ubuntu) → gcc-12 (Ubuntu)
Changed in ubuntu-z-systems:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
Changed in gcc-12 (Ubuntu):
assignee: Skipper Bug Screeners (skipper-screen-team) → nobody
Changed in ubuntu-z-systems:
importance: Undecided → High
Changed in gcc-12 (Ubuntu):
importance: Undecided → Medium
Frank Heimes (fheimes)
tags: added: rls-mm-incoming
Frank Heimes (fheimes)
information type: Private → Public
Benjamin Drung (bdrung)
tags: added: foundations-todo
removed: rls-mm-incoming
Revision history for this message
Matthias Klose (doko) wrote :

reassigning to gcc-13, which will be the default GCC for 23.10. We will only pick up that one for gcc-12, if it is applied upstream in the gcc-12 branch.

affects: gcc-12 (Ubuntu) → gcc-13 (Ubuntu)
Frank Heimes (fheimes)
Changed in gcc-13 (Ubuntu):
status: New → Confirmed
Changed in ubuntu-z-systems:
status: New → Confirmed
Revision history for this message
Frank Heimes (fheimes) wrote :

Just a quick addon:
The toolchain update (to gcc-13 as default) in mantic is already planned for July the 13th, according to the "Mantic Minotaur Release Schedule": https://discourse.ubuntu.com/t/mantic-minotaur-release-schedule (so pretty soon)

Revision history for this message
Matthias Klose (doko) wrote :

GCC 13 is now the default

Changed in gcc-13 (Ubuntu):
status: Confirmed → Fix Released
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Confirmed → Fix Released
Benjamin Drung (bdrung)
tags: removed: foundations-todo
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.