18269e767SBrooks Davis/*- 28269e767SBrooks Davis * Copyright (c) 2014 Andrew Turner 38269e767SBrooks Davis * 48269e767SBrooks Davis * Redistribution and use in source and binary forms, with or without 58269e767SBrooks Davis * modification, are permitted provided that the following conditions 68269e767SBrooks Davis * are met: 78269e767SBrooks Davis * 1. Redistributions of source code must retain the above copyright 88269e767SBrooks Davis * notice, this list of conditions and the following disclaimer. 98269e767SBrooks Davis * 2. Redistributions in binary form must reproduce the above copyright 108269e767SBrooks Davis * notice, this list of conditions and the following disclaimer in the 118269e767SBrooks Davis * documentation and/or other materials provided with the distribution. 128269e767SBrooks Davis * 138269e767SBrooks Davis * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 148269e767SBrooks Davis * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158269e767SBrooks Davis * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 168269e767SBrooks Davis * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 178269e767SBrooks Davis * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 188269e767SBrooks Davis * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 198269e767SBrooks Davis * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 208269e767SBrooks Davis * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 218269e767SBrooks Davis * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 228269e767SBrooks Davis * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 238269e767SBrooks Davis * SUCH DAMAGE. 248269e767SBrooks Davis * 258269e767SBrooks Davis */ 268269e767SBrooks Davis 278269e767SBrooks Davis#include <machine/asm.h> 288269e767SBrooks Davis#include <sys/elf_common.h> 298269e767SBrooks Davis 308269e767SBrooks DavisENTRY(cerror) 318269e767SBrooks Davis .hidden cerror 328269e767SBrooks Davis sub sp, sp, #16 338269e767SBrooks Davis stp x0, lr, [sp] 348269e767SBrooks Davis bl _C_LABEL(__error) 358269e767SBrooks Davis ldp x1, lr, [sp] 368269e767SBrooks Davis str w1, [x0] 378269e767SBrooks Davis movn x0, #0 388269e767SBrooks Davis movn x1, #0 398269e767SBrooks Davis add sp, sp, #16 408269e767SBrooks Davis ret 418269e767SBrooks DavisEND(cerror) 428269e767SBrooks Davis 438269e767SBrooks DavisGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) 44