Deleted Added
full compact
asm.h (209975) asm.h (218824)
1/*-
2 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
3 * Copyright (C) 1995, 1996 TooLs GmbH.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 15 unchanged lines hidden (view full) ---

24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * $NetBSD: asm.h,v 1.6.18.1 2000/07/25 08:37:14 kleink Exp $
1/*-
2 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
3 * Copyright (C) 1995, 1996 TooLs GmbH.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 15 unchanged lines hidden (view full) ---

24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * $NetBSD: asm.h,v 1.6.18.1 2000/07/25 08:37:14 kleink Exp $
32 * $FreeBSD: head/sys/powerpc/include/asm.h 209975 2010-07-13 05:32:19Z nwhitehorn $
32 * $FreeBSD: head/sys/powerpc/include/asm.h 218824 2011-02-18 21:44:53Z nwhitehorn $
33 */
34
35#ifndef _MACHINE_ASM_H_
36#define _MACHINE_ASM_H_
37
38#include <sys/cdefs.h>
39
33 */
34
35#ifndef _MACHINE_ASM_H_
36#define _MACHINE_ASM_H_
37
38#include <sys/cdefs.h>
39
40#ifdef PIC
40#if defined(PIC) && !defined(__powerpc64__)
41#define PIC_PROLOGUE XXX
42#define PIC_EPILOGUE XXX
43#define PIC_PLT(x) x@plt
44#ifdef __STDC__
45#define PIC_GOT(x) XXX
46#else /* not __STDC__ */
47#define PIC_GOT(x) XXX
48#endif /* __STDC__ */
49#else
50#define PIC_PROLOGUE
51#define PIC_EPILOGUE
52#define PIC_PLT(x) x
53#define PIC_GOT(x) x
54#endif
55
41#define PIC_PROLOGUE XXX
42#define PIC_EPILOGUE XXX
43#define PIC_PLT(x) x@plt
44#ifdef __STDC__
45#define PIC_GOT(x) XXX
46#else /* not __STDC__ */
47#define PIC_GOT(x) XXX
48#endif /* __STDC__ */
49#else
50#define PIC_PROLOGUE
51#define PIC_EPILOGUE
52#define PIC_PLT(x) x
53#define PIC_GOT(x) x
54#endif
55
56#ifdef __powerpc64__
57#undef PIC_PLT
58#define PIC_PLT(x) __CONCAT(.,x)
59#endif
60
61#define CNAME(csym) csym
62#define ASMNAME(asmsym) asmsym
63#ifdef __powerpc64__
64#define HIDENAME(asmsym) __CONCAT(_,asmsym)
65#else
66#define HIDENAME(asmsym) __CONCAT(.,asmsym)
67#endif
68
69#define _GLOBAL(x) \
70 .data; .align 2; .globl x; x:
71
72#ifdef __powerpc64__
73#define _ENTRY(x) \
74 .text; .align 2; .globl x; .section ".opd","aw"; \
75 .align 3; x: \
56#define CNAME(csym) csym
57#define ASMNAME(asmsym) asmsym
58#ifdef __powerpc64__
59#define HIDENAME(asmsym) __CONCAT(_,asmsym)
60#else
61#define HIDENAME(asmsym) __CONCAT(.,asmsym)
62#endif
63
64#define _GLOBAL(x) \
65 .data; .align 2; .globl x; x:
66
67#ifdef __powerpc64__
68#define _ENTRY(x) \
69 .text; .align 2; .globl x; .section ".opd","aw"; \
70 .align 3; x: \
76 .quad .x,.TOC.@tocbase,0; .previous; \
77 .align 4; .globl .x; .type .x,@function; .x:
71 .quad .L.x,.TOC.@tocbase,0; .size x,24; .previous; \
72 .align 4; .type x,@function; .L.x:
78#else
79#define _ENTRY(x) \
80 .text; .align 4; .globl x; .type x,@function; x:
81#endif
82
83#if defined(PROF) || (defined(_KERNEL) && defined(GPROF))
84# define _PROF_PROLOGUE mflr 0; stw 0,4(1); bl _mcount
85#else

--- 31 unchanged lines hidden ---
73#else
74#define _ENTRY(x) \
75 .text; .align 4; .globl x; .type x,@function; x:
76#endif
77
78#if defined(PROF) || (defined(_KERNEL) && defined(GPROF))
79# define _PROF_PROLOGUE mflr 0; stw 0,4(1); bl _mcount
80#else

--- 31 unchanged lines hidden ---