18ddb4b9bSAndrew Turner/*- 28ddb4b9bSAndrew Turner * Copyright (c) 2014 The FreeBSD Foundation 38ddb4b9bSAndrew Turner * 48ddb4b9bSAndrew Turner * This software was developed by Andrew Turner under sponsorship from 58ddb4b9bSAndrew Turner * the FreeBSD Foundation. 68ddb4b9bSAndrew Turner * 78ddb4b9bSAndrew Turner * Redistribution and use in source and binary forms, with or without 88ddb4b9bSAndrew Turner * modification, are permitted provided that the following conditions 98ddb4b9bSAndrew Turner * are met: 108ddb4b9bSAndrew Turner * 1. Redistributions of source code must retain the above copyright 118ddb4b9bSAndrew Turner * notice, this list of conditions and the following disclaimer. 128ddb4b9bSAndrew Turner * 2. Redistributions in binary form must reproduce the above copyright 138ddb4b9bSAndrew Turner * notice, this list of conditions and the following disclaimer in the 148ddb4b9bSAndrew Turner * documentation and/or other materials provided with the distribution. 158ddb4b9bSAndrew Turner * 168ddb4b9bSAndrew Turner * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 178ddb4b9bSAndrew Turner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 188ddb4b9bSAndrew Turner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 198ddb4b9bSAndrew Turner * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 208ddb4b9bSAndrew Turner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 218ddb4b9bSAndrew Turner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 228ddb4b9bSAndrew Turner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 238ddb4b9bSAndrew Turner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 248ddb4b9bSAndrew Turner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 258ddb4b9bSAndrew Turner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 268ddb4b9bSAndrew Turner * SUCH DAMAGE. 278ddb4b9bSAndrew Turner */ 288ddb4b9bSAndrew Turner 298ddb4b9bSAndrew Turner#include "assym.inc" 30*c2e0d56fSAndrew Turner#include <sys/elf_common.h> 318ddb4b9bSAndrew Turner#include <sys/syscall.h> 328ddb4b9bSAndrew Turner#include <machine/asm.h> 338ddb4b9bSAndrew Turner 3437c1ef5aSAndrew Turner .section .rodata, "a", %progbits 3537c1ef5aSAndrew Turner .globl sigcode 3637c1ef5aSAndrew Turner .align 2 3737c1ef5aSAndrew Turnersigcode: 38db3a1eecSAndrew Turner blr x8 398ddb4b9bSAndrew Turner mov x0, sp 408ddb4b9bSAndrew Turner add x0, x0, #SF_UC 418ddb4b9bSAndrew Turner 428ddb4b9bSAndrew Turner1: 438ddb4b9bSAndrew Turner mov x8, #SYS_sigreturn 448ddb4b9bSAndrew Turner svc 0 458ddb4b9bSAndrew Turner 468ddb4b9bSAndrew Turner /* sigreturn failed, exit */ 478ddb4b9bSAndrew Turner mov x8, #SYS_exit 488ddb4b9bSAndrew Turner svc 0 498ddb4b9bSAndrew Turner 508ddb4b9bSAndrew Turner b 1b 518ddb4b9bSAndrew Turner /* This may be copied to the stack, keep it 16-byte aligned */ 528ddb4b9bSAndrew Turner .align 3 5337c1ef5aSAndrew Turner .size sigcode, . - sigcode 548ddb4b9bSAndrew Turneresigcode: 558ddb4b9bSAndrew Turner 568ddb4b9bSAndrew Turner .data 578ddb4b9bSAndrew Turner .align 3 588ddb4b9bSAndrew Turner .global szsigcode 598ddb4b9bSAndrew Turnerszsigcode: 608ddb4b9bSAndrew Turner .quad esigcode - sigcode 61*c2e0d56fSAndrew Turner 62*c2e0d56fSAndrew TurnerGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) 63