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 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 |
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 |
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: \ |
71 .quad .L.x,.TOC.@tocbase,0; .size x,24; .previous; \ 72 .align 4; .type x,@function; .L.x: |
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 --- |