Skip to content

setjmp/longjmp: Do NOT save r58,r59 regs #24

@shahab-vahedi

Description

@shahab-vahedi

Registers r58 and r59 are saved during a setjmp and longjmp. This is not necessary, because ARCv2 ABI document declares them as scratch registers.

The fix concerns these files:

newlib/libc/include/machine/setjmp.h
newlib/libc/machine/arc/setjmp.S

Make sure there is no regression after this change. For starters, these are GCC tests that use setjmp and longjmp:

$ runtest execute.exp=pr56982.c dg-torture.exp=pr48542.c

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions