Skip to content
Snippets Groups Projects
Commit b829959c authored by Claudio Fontana's avatar Claudio Fontana Committed by Pekka Enberg
Browse files

libc: separate x64-specific code and provide aarch64 stubs

parent 3a779f1c
No related branches found
No related tags found
No related merge requests found
typedef unsigned long jmp_buf[8]; typedef unsigned long __jmp_buf[8];
/* Copyright 2014 Huawei Technologies Duesseldorf GmbH
*
* This work is open source software, licensed under the terms of the
* BSD license as described in the LICENSE file in the top-level directory.
*/
#include "syscall.h"
#include <signal.h>
static const unsigned long all_mask[] = { -1UL };
static const unsigned long app_mask[] = {
0xfffffffc7fffffffUL
};
void __block_all_sigs(void *set)
{
sigprocmask(SIG_BLOCK, (void*)&all_mask, set);
}
void __block_app_sigs(void *set)
{
sigprocmask(SIG_BLOCK, (void*)&app_mask, set);
}
void __restore_sigs(void *set)
{
sigprocmask(SIG_SETMASK, set, 0);
}
/* Copyright 2014 Huawei Technologies Duesseldorf GmbH
*
* This work is open source software, licensed under the terms of the
* BSD license as described in the LICENSE file in the top-level directory.
*/
#include <setjmp.h>
extern void __restore_sigs(void *set);
_Noreturn void siglongjmp(sigjmp_buf buf, int ret)
{
while (1) {
asm volatile ("wfi");
}
}
int __libc_current_sigrtmax()
{
return 0; /* XXX */
}
int __libc_current_sigrtmin()
{
return 0; /* XXX */
}
/* Copyright 2014 Huawei Technologies Duesseldorf GmbH
*
* This work is open source software, licensed under the terms of the
* BSD license as described in the LICENSE file in the top-level directory.
*/
.global _sigsetjmp
.global sigsetjmp
.type _sigsetjmp,@function
.type sigsetjmp,@function
_sigsetjmp:
sigsetjmp:
wfi
b sigsetjmp
File moved
File moved
File moved
File moved
File moved
...@@ -382,12 +382,11 @@ libc += prng/random.o ...@@ -382,12 +382,11 @@ libc += prng/random.o
libc += arch/$(arch)/setjmp/setjmp.o libc += arch/$(arch)/setjmp/setjmp.o
libc += arch/$(arch)/setjmp/longjmp.o libc += arch/$(arch)/setjmp/longjmp.o
libc += arch/$(arch)/setjmp/sigrtmax.o
libc += signal/sigrtmax.o libc += arch/$(arch)/setjmp/sigrtmin.o
libc += signal/sigrtmin.o libc += arch/$(arch)/setjmp/siglongjmp.o
libc += signal/siglongjmp.o libc += arch/$(arch)/setjmp/sigsetjmp.o
libc += signal/sigsetjmp.o libc += arch/$(arch)/setjmp/block.o
libc += signal/block.o
libc += stdio/__fclose_ca.o libc += stdio/__fclose_ca.o
libc += stdio/__fdopen.o libc += stdio/__fdopen.o
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment