diff options
Diffstat (limited to 'sysdeps/arm')
-rw-r--r-- | sysdeps/arm/nacl/Makefile | 23 | ||||
-rw-r--r-- | sysdeps/arm/nacl/dl-machine.h | 17 |
2 files changed, 32 insertions, 8 deletions
diff --git a/sysdeps/arm/nacl/Makefile b/sysdeps/arm/nacl/Makefile index 5e56895..c922659 100644 --- a/sysdeps/arm/nacl/Makefile +++ b/sysdeps/arm/nacl/Makefile @@ -1,3 +1,26 @@ +# Makefile fragment for ARM/NaCl configurations. + +# Copyright (C) 2015 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. + +# sysdeps/nacl/Makefile needs this set to the architecture suffix used in +# the NaCl SDK. +nacl-sdk-arch = arm + # We don't really support TLSDESC, even though the compiler thinks it does. have-arm-tls-desc = no diff --git a/sysdeps/arm/nacl/dl-machine.h b/sysdeps/arm/nacl/dl-machine.h index b48517b..81f3755 100644 --- a/sysdeps/arm/nacl/dl-machine.h +++ b/sysdeps/arm/nacl/dl-machine.h @@ -39,14 +39,15 @@ .text\n\ .globl _start\n\ .type _start, %function\n\ +.p2align 4\n\ _start:\n\ - @ r0 has the pointer to the info block (see nacl_startup.h)\n\ - mov r1, sp @ Save stack base for __libc_stack_end.\n\ - push {r0-r3} @ Push those, maintaining alignment to 16.\n\ - mov r0, sp @ Pointer to {info, sp} is argument.\n\ - sfi_bl _dl_start\n\ - pop {r1-r4} @ Restore stack, getting info block into r1.\n\ - mov lr, #0 @ Return address for noreturn call.\n\ - b _dl_start_user"); + @ r0 has the pointer to the info block (see nacl_startup.h)\n\ + mov r1, sp @ Save stack base for __libc_stack_end.\n\ + push {r0-r3} @ Push those, maintaining alignment to 16.\n\ + mov r0, sp @ Pointer to {info, sp} is argument.\n\ + sfi_bl _dl_start\n\ + pop {r1-r4} @ Restore stack, getting info block into r1.\n\ + mov lr, #0 @ Return address for noreturn call.\n\ + b _dl_start_user"); #endif |