~ubuntu-branches/ubuntu/precise/eglibc/precise-201308281639

« back to all changes in this revision

Viewing changes to ports/sysdeps/tile/bits/link.h

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2012-02-08 01:58:09 UTC
  • mfrom: (1.5.3) (288.1.12 precise)
  • Revision ID: package-import@ubuntu.com-20120208015809-ulscst7uteq3e22z
Tags: 2.15~pre6-0ubuntu10
Merge from Debian (r5151, 2.13-26).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (C) 2011 Free Software Foundation, Inc.
 
2
   This file is part of the GNU C Library.
 
3
   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
 
4
 
 
5
   The GNU C Library is free software; you can redistribute it and/or
 
6
   modify it under the terms of the GNU Lesser General Public
 
7
   License as published by the Free Software Foundation; either
 
8
   version 2.1 of the License, or (at your option) any later version.
 
9
 
 
10
   The GNU C Library is distributed in the hope that it will be useful,
 
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
13
   Lesser General Public License for more details.
 
14
 
 
15
   You should have received a copy of the GNU Lesser General Public
 
16
   License along with the GNU C Library; if not, write to the Free
 
17
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 
18
   02111-1307 USA.  */
 
19
 
 
20
#ifndef _LINK_H
 
21
# error "Never include <bits/link.h> directly; use <link.h> instead."
 
22
#endif
 
23
 
 
24
#define __need_int_reg_t
 
25
#include <arch/abi.h>
 
26
 
 
27
 
 
28
/* Registers for entry into PLT.  */
 
29
typedef struct La_tile_regs
 
30
{
 
31
  __uint_reg_t lr_reg[10];
 
32
} La_tile_regs;
 
33
 
 
34
/* Return values for calls from PLT.  */
 
35
typedef struct La_tile_retval
 
36
{
 
37
  /* Up to ten registers can be used for a return value (e.g. small struct). */
 
38
  __uint_reg_t lrv_reg[10];
 
39
} La_tile_retval;
 
40
 
 
41
 
 
42
__BEGIN_DECLS
 
43
 
 
44
extern ElfW(Addr) la_tile_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
 
45
                                        uintptr_t *__refcook,
 
46
                                        uintptr_t *__defcook,
 
47
                                        La_tile_regs *__regs,
 
48
                                        unsigned int *__flags,
 
49
                                        const char *__symname,
 
50
                                        long int *__framesizep);
 
51
extern unsigned int la_tile_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
 
52
                                         uintptr_t *__refcook,
 
53
                                         uintptr_t *__defcook,
 
54
                                         const La_tile_regs *__inregs,
 
55
                                         La_tile_retval *__outregs,
 
56
                                         const char *__symname);
 
57
 
 
58
__END_DECLS