[LLVMbugs] [Bug 23660] New: .cpreturn unsupported
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue May 26 10:00:28 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=23660
Bug ID: 23660
Summary: .cpreturn unsupported
Product: libraries
Version: trunk
Hardware: PC
OS: FreeBSD
Status: NEW
Severity: normal
Priority: P
Component: Backend: MIPS
Assignee: unassignedbugs at nondot.org
Reporter: sbruno at freebsd.org
CC: emaste at freebsd.org, joerg at NetBSD.org,
llvmbugs at cs.uiuc.edu, sbruno at freebsd.org,
toma.tabacu at imgtec.com
Depends on: 20967
Blocks: 23370
Classification: Unclassified
The .cpreturn instruction is not supported by IAS and is used in the FreeBSD
build of libc:
sys/mips/include/asm.h:#define RESTORE_GP64 .cpreturn
lib/libc/mips/sys/cerror.S:
.globl _C_LABEL(__error)
NESTED_NOPROFILE(__cerror, CALLFRAME_SIZ, ra)
.mask 0x80000000, (CALLFRAME_RA - CALLFRAME_SIZ)
SETUP_GP
PTR_SUBU sp, sp, CALLFRAME_SIZ
SETUP_GP64(CALLFRAME_GP, __cerror)
SAVE_GP(CALLFRAME_GP)
PTR_S ra, CALLFRAME_RA(sp)
REG_S v0, CALLFRAME_S0(sp) # save errno value
PTR_LA t9, _C_LABEL(__error) # locate address of errno
jalr t9
REG_L t0, CALLFRAME_S0(sp)
PTR_L ra, CALLFRAME_RA(sp)
INT_S t0, 0(v0) # update errno value
RESTORE_GP64
PTR_ADDU sp, sp, CALLFRAME_SIZ
li v0, -1
li v1, -1
j ra
END(__cerror)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150526/50439277/attachment.html>
More information about the llvm-bugs
mailing list