Blame sysdeps/microblaze/dl-trampoline.S

Packit 6c4009
/* Copyright (C) 2005-2018 Free Software Foundation, Inc.
Packit 6c4009
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public License as
Packit 6c4009
   published by the Free Software Foundation; either version 2.1 of the
Packit 6c4009
   License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library.  If not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
#include <sysdep.h>
Packit 6c4009
#include <libc-symbols.h>
Packit 6c4009
Packit 6c4009
#ifndef PROF
Packit 6c4009
Packit 6c4009
    .text
Packit 6c4009
    .globl  _dl_runtime_resolve
Packit 6c4009
    .type   _dl_runtime_resolve, @function
Packit 6c4009
    .align  4
Packit 6c4009
_dl_runtime_resolve:
Packit 6c4009
    addik r1,r1,-40
Packit 6c4009
    swi   r5,r1,12
Packit 6c4009
    swi   r6,r1,16
Packit 6c4009
    swi   r7,r1,20
Packit 6c4009
    swi   r8,r1,24
Packit 6c4009
    swi   r9,r1,28
Packit 6c4009
    swi   r10,r1,32
Packit 6c4009
    swi   r15,r1,0
Packit 6c4009
    addk r5,r0,r4
Packit 6c4009
    brlid r15, _dl_fixup
Packit 6c4009
    addk r6,r0,r3; /* delay slot.  */
Packit 6c4009
    lwi   r10,r1,32
Packit 6c4009
    lwi   r9,r1,28
Packit 6c4009
    lwi   r8,r1,24
Packit 6c4009
    lwi   r7,r1,20
Packit 6c4009
    lwi   r6,r1,16
Packit 6c4009
    lwi   r5,r1,12
Packit 6c4009
    lwi   r15,r1,0
Packit 6c4009
    brad  r3
Packit 6c4009
    addik r1,r1,40; /* delay slot.  */
Packit 6c4009
    .size _dl_runtime_resolve, . - _dl_runtime_resolve
Packit 6c4009
Packit 6c4009
    .text
Packit 6c4009
    .globl  _dl_runtime_profile
Packit 6c4009
    .type   _dl_runtime_profile, @function
Packit 6c4009
    .align  4
Packit 6c4009
_dl_runtime_profile:
Packit 6c4009
    addik r1,r1,-40
Packit 6c4009
    swi   r5,r1,12
Packit 6c4009
    swi   r6,r1,16
Packit 6c4009
    swi   r7,r1,20
Packit 6c4009
    swi   r8,r1,24
Packit 6c4009
    swi   r9,r1,28
Packit 6c4009
    swi   r10,r1,32
Packit 6c4009
    swi   r15,r1,0
Packit 6c4009
    addk r5,r0,r4
Packit 6c4009
    brlid r15, _dl_profile_fixup
Packit 6c4009
    addk r6,r0,r3; /* delay slot.  */
Packit 6c4009
    lwi   r10,r1,32
Packit 6c4009
    lwi   r9,r1,28
Packit 6c4009
    lwi   r8,r1,24
Packit 6c4009
    lwi   r7,r1,20
Packit 6c4009
    lwi   r6,r1,16
Packit 6c4009
    lwi   r5,r1,12
Packit 6c4009
    lwi   r15,r1,0
Packit 6c4009
    brad  r3
Packit 6c4009
    addik r1,r1,40; /* delay slot.  */
Packit 6c4009
    .size _dl_runtime_profile, . - _dl_runtime_profile
Packit 6c4009
Packit 6c4009
#else
Packit 6c4009
Packit 6c4009
    .text
Packit 6c4009
    .globl  _dl_runtime_resolve
Packit 6c4009
    .type   _dl_runtime_resolve, @function
Packit 6c4009
    .align  4
Packit 6c4009
_dl_runtime_resolve:
Packit 6c4009
    addik r1,r1,-40
Packit 6c4009
    swi   r5,r1,12
Packit 6c4009
    swi   r6,r1,16
Packit 6c4009
    swi   r7,r1,20
Packit 6c4009
    swi   r8,r1,24
Packit 6c4009
    swi   r9,r1,28
Packit 6c4009
    swi   r10,r1,32
Packit 6c4009
    swi   r15,r1,0
Packit 6c4009
    addk r5,r0,r4
Packit 6c4009
    brlid r15, fixup
Packit 6c4009
    addk r6,r0,r3; /* delay slot.  */
Packit 6c4009
    lwi   r10,r1,32
Packit 6c4009
    lwi   r9,r1,28
Packit 6c4009
    lwi   r8,r1,24
Packit 6c4009
    lwi   r7,r1,20
Packit 6c4009
    lwi   r6,r1,16
Packit 6c4009
    lwi   r5,r1,12
Packit 6c4009
    lwi   r15,r1,0
Packit 6c4009
    brad  r3
Packit 6c4009
    addik r1,r1,40; /* delay slot.  */
Packit 6c4009
    .size _dl_runtime_resolve, . - _dl_runtime_resolve
Packit 6c4009
    .globl _dl_runtime_profile
Packit 6c4009
    .set _dl_runtime_profile, _dl_runtime_resolve
Packit 6c4009
Packit 6c4009
#endif