Updated PCI IDs to latest snapshot.
[tangerine.git] / arch / .unmaintained / m68k-pp-native / boot / callback.h
blob56c682646b20ba072fdda0f7d0d90a32f0d3cb83
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef __CALLBACK_H__
7 #define __CALLBACK_H__
9 /* This is a workaround for a bug in the current version of gcc:
11 gcc assumes that no one will touch %a4 after it is set up in crt0.o.
12 This isn't true if a function is called as a callback by something
13 that wasn't compiled by gcc (like FrmCloseAllForms()). It may also
14 not be true if it is used as a callback by something in a different
15 shared library.
17 We really want a function attribute "callback" which will insert this
18 progloue and epilogoue automatically.
20 - Ian */
22 register void *reg_a4 asm("%a4");
24 #define CALLBACK_PROLOGUE \
25 void *save_a4 = reg_a4; asm("move.l %%a5,%%a4; sub.l #edata,%%a4" : :);
27 #define CALLBACK_EPILOGUE reg_a4 = save_a4;
29 #endif