aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-12-28 20:05:41 -0700
committerJeff Law <law@gcc.gnu.org>1994-12-28 20:05:41 -0700
commit22d46b2ef8f009e6e4a8a3c464285ca5a40fbfdd (patch)
treef5fb8b0f93e787a628ca109bf6124befec92b44f /gcc
parenta67f7692fff13fd2d1ac6ed819692e01348aae4a (diff)
downloadgcc-22d46b2ef8f009e6e4a8a3c464285ca5a40fbfdd.zip
gcc-22d46b2ef8f009e6e4a8a3c464285ca5a40fbfdd.tar.gz
gcc-22d46b2ef8f009e6e4a8a3c464285ca5a40fbfdd.tar.bz2
Initial revision
From-SVN: r8700
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/lib2funcs.asm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gcc/config/pa/lib2funcs.asm b/gcc/config/pa/lib2funcs.asm
new file mode 100644
index 0000000..f13e2b7
--- /dev/null
+++ b/gcc/config/pa/lib2funcs.asm
@@ -0,0 +1,46 @@
+; Subroutines for calling unbound dynamic functions from within GDB for HPPA.
+; Copyright (C) 1994 Free Software Foundation, Inc.
+
+; This file is part of GNU CC.
+
+; GNU CC is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation; either version 2, or (at your option)
+; any later version.
+
+; GNU CC 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 General Public License for more details.
+
+; You should have received a copy of the GNU General Public License
+; along with GNU CC; see the file COPYING. If not, write to
+; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ .SPACE $PRIVATE$
+ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+ .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+ .SPACE $TEXT$
+ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .IMPORT $$dyncall,MILLICODE
+; gcc_compiled.:
+ .SPACE $TEXT$
+ .SUBSPA $CODE$
+
+; Simply call with the address of the desired import stub in %r22 and
+; arguments in the normal place (%r26-%r23 and stack slots).
+;
+ .align 4
+ .EXPORT __gcc_plt_call,ENTRY,PRIV_LEV=3,RTNVAL=GR
+__gcc_plt_call
+ .PROC
+ .CALLINFO FRAME=64,CALLS,SAVE_RP
+ .ENTRY
+ stw %r2,-8(0,%r30)
+ bl $$dyncall,%r31
+ copy %r31,%r2
+ ldw -8(0,%r30),%r2
+ bv,n 0(%r2)
+ .EXIT
+ .PROCEND