* stabs.texinfo (Stabs in ELF): Clarify how Bbss.bss work with respect
[deliverable/binutils-gdb.git] / bfd / hppa_stubs.h
CommitLineData
c986f2a6
KR
1/* HPPA linker stub instructions */
2
3bca0336
KR
3#define STUB_MAX_SIZE (sizeof(int) * 20) /* maximum size of a single stub routine */
4#define STUB_BUFFER_INCR (STUB_MAX_SIZE * 20) /* when realloc'ing, use this size */
5#define STUB_RELOC_INCR 20 /* when realloc'ing, use this size */
c986f2a6
KR
6
7#define ADDI_8_SP 0xb7de0010 /* addi 8,sp,sp */
8#define STW_RP_M8SP 0x6bc23ff1 /* stw rp,-8(sp) */
9#define STWS_ARG0_M8SP 0x0fda1291 /* stws arg0,-8(sp) */
10#define STWS_ARG1_M8SP 0x0fd91291 /* stws arg1,-8(sp) */
11#define STWS_ARG2_M8SP 0x0fd81291 /* stws arg2,-8(sp) */
12#define STWS_ARG3_M8SP 0x0fd71291 /* stws arg3,-8(sp) */
e2a422b8
KR
13#define STWS_ARG0_M4SP 0x0fda1299 /* stws arg0,-4(sp) */
14#define STWS_ARG2_M4SP 0x0fd81299 /* stws arg2,-4(sp) */
c986f2a6
KR
15#define FSTWS_FARG0_M8SP 0x27d11204 /* fstws farg0,-8(sp) */
16#define FSTWS_FARG1_M8SP 0x27d11205 /* fstws farg1,-8(sp) */
17#define FSTWS_FARG2_M8SP 0x27d11206 /* fstws farg2,-8(sp) */
18#define FSTWS_FARG3_M8SP 0x27d11207 /* fstws farg3,-8(sp) */
e2a422b8
KR
19#define FSTDS_FARG1_M8SP 0x2fd11205 /* fstds farg1,-8(sp) */
20#define FSTDS_FARG3_M8SP 0x2fd11207 /* fstds farg3,-8(sp) */
c986f2a6
KR
21#define STWS_RET0_M8SP 0x0fda1291 /* stws arg0,-8(sp) */
22#define FSTWS_FRET0_M8SP 0x27d11204 /* fstws fret0,-8(sp) */
23#define LDWS_M8SP_ARG0 0x0fd1109a /* ldws -8(sp),arg0 */
24#define LDWS_M8SP_ARG1 0x0fd11099 /* ldws -8(sp),arg1 */
25#define LDWS_M8SP_ARG2 0x0fd11098 /* ldws -8(sp),arg2 */
26#define LDWS_M8SP_ARG3 0x0fd11097 /* ldws -8(sp),arg3 */
e2a422b8
KR
27#define LDWS_M4SP_ARG0 0x0fd9109a /* ldws -4(sp),arg0 */
28#define LDWS_M4SP_ARG1 0x0fd91099 /* ldws -4(sp),arg1 */
29#define LDWS_M4SP_ARG2 0x0fd91098 /* ldws -4(sp),arg2 */
30#define LDWS_M4SP_ARG3 0x0fd91097 /* ldws -4(sp),arg3 */
c986f2a6
KR
31#define FLDWS_M8SP_FARG0 0x27d11004 /* fldws -8(sp),farg0 */
32#define FLDWS_M8SP_FARG1 0x27d11005 /* fldws -8(sp),farg1 */
33#define FLDWS_M8SP_FARG2 0x27d11006 /* fldws -8(sp),farg2 */
34#define FLDWS_M8SP_FARG3 0x27d11007 /* fldws -8(sp),farg3 */
e2a422b8
KR
35#define FLDDS_M8SP_FARG0 0x2fd11004 /* fldds -8(sp),farg0 */
36#define FLDDS_M8SP_FARG1 0x2fd11005 /* fldds -8(sp),farg1 */
37#define FLDDS_M8SP_FARG2 0x2fd11006 /* fldds -8(sp),farg2 */
38#define FLDDS_M8SP_FARG3 0x2fd11007 /* fldds -8(sp),farg3 */
39#define LDWS_M4SP_RET0 0x0fd9109c /* ldws -4(sp),ret0 */
c986f2a6
KR
40#define LDWS_M8SP_RET0 0x0fd1109c /* ldws -8(sp),ret0 */
41#define FLDWS_M8SP_FRET0 0x27d11004 /* fldws -8(sp),fret0 */
42#define STWS_MA_ARG0_8SP 0x0fda12b0 /* stws,ma arg0,8(sp) */
43#define STWS_MA_ARG1_8SP 0x0fd912b0 /* stws,ma arg1,8(sp) */
44#define STWS_MA_ARG2_8SP 0x0fd812b0 /* stws,ma arg2,8(sp) */
45#define STWS_MA_ARG3_8SP 0x0fd712b0 /* stws,ma arg3,8(sp) */
46#define FSTWS_MA_FARG0_8SP 0x27d01224 /* fstws,ma farg0,8(sp) */
47#define FSTWS_MA_FARG1_8SP 0x27d01225 /* fstws,ma farg1,8(sp) */
48#define FSTWS_MA_FARG2_8SP 0x27d01226 /* fstws,ma farg2,8(sp) */
49#define FSTWS_MA_FARG3_8SP 0x27d01227 /* fstws,ma farg3,8(sp) */
50#define LDWS_MB_M8SP_ARG0 0x0fd130ba /* ldws,mb -8(sp),arg0 */
51#define LDWS_MB_M8SP_ARG1 0x0fd130b9 /* ldws,mb -8(sp),arg1 */
52#define LDWS_MB_M8SP_ARG2 0x0fd130b8 /* ldws,mb -8(sp),arg2 */
53#define LDWS_MB_M8SP_ARG3 0x0fd130b7 /* ldws,mb -8(sp),arg3 */
54#define FLDWS_MB_M8SP_FARG0 0x27d13024 /* fldws,mb -8(sp),farg0 */
55#define FLDWS_MB_M8SP_FARG1 0x27d13025 /* fldws,mb -8(sp),farg1 */
56#define FLDWS_MB_M8SP_FARG2 0x27d13026 /* fldws,mb -8(sp),farg2 */
57#define FLDWS_MB_M8SP_FARG3 0x27d13027 /* fldws,mb -8(sp),farg3 */
58#define BL_XXX_RP 0xe8400000 /* bl 0,rp */
59#define NOP 0x08000240 /* nop */
3bca0336 60#define STW_RP_M24SP 0x6bc23fd1 /* stw rp,-24(sr0,sp) */
e2a422b8
KR
61#define STW_31_M24SP 0x6bdf3fd1 /* stw r31,-24(sr0,sp) */
62#define LDW_M24SP_RP 0x4bc23fd1 /* ldw -24(sr0,sp),rp */
3bca0336 63#define LDW_M24SP_31 0x4bdf3fd1 /* ldw -24(sr0,sp),r31 */
e2a422b8
KR
64#define BE_XXX_0_0 0xe0000000 /* be 0(sr0,0) */
65#define BE_N_XXX_0_0 0xe0000002 /* be,n 0(sr0,0) */
66#define BLE_XXX_0_0 0xe4000000 /* ble 0(sr0,0) */
67#define BLE_N_XXX_0_0 0xe4000002 /* ble,n 0(sr0,0) */
68#define BLE_N_XXX_0_31 0xe7e00002 /* ble,n 0(sr0,r31) */
69#define BLE_XXX_0_31 0xe7e00000 /* ble 0(sr0,r31) */
70#define BE_N_XXX_0_31 0xe3e00002 /* be,n 0(sr0,r31) */
3bca0336 71#define BE_XXX_0_31 0xe3e00000 /* be 0(sr0,r31) */
e2a422b8
KR
72#define BE_N_XXX_0_RP 0xe0400002 /* be,n 0(sr0,rp) */
73#define BE_XXX_0_RP 0xe0400000 /* be 0(sr0,rp) */
74#define BLE_XXX_0_RP 0xe4400000 /* ble 0(sr0,rp) */
75#define COPY_31_2 0x081f0242 /* copy r31,r2 */
3bca0336
KR
76#define COPY_31_1 0x081f0241 /* copy r31,r1 */
77#define COPY_1_31 0x0801025f /* copy r1,r31 */
e2a422b8
KR
78#define LDIL_XXX_31 0x23e00000 /* ldil 0,r31 */
79#define LDIL_XXX_RP 0x20400000 /* ldil 0,rp */
80#define LDO_0_26_26 0x375a0000 /* ldo 0(r26),r26 */
3bca0336 81#define LDSID_31_1 0x03e010a1 /* ldsid (r31),r1 */
e2a422b8 82#define LDSID_31_RP 0x03e010a2 /* ldsid (r31),rp */
3bca0336 83#define LDSID_31_31 0x03e010bf /* ldsid (r31),r31 */
e2a422b8 84#define MTSP_RP_SR0 0x00021820 /* mtsp rp,sr0 */
3bca0336
KR
85#define MTSP_1_SR0 0x00011820 /* mtsp r1,sr0 */
86#define MTSP_31_SR0 0x001f1820 /* mtsp r31,sr0 */
e2a422b8
KR
87#define LDO_0_26_26 0x375a0000 /* ldo 0(r26),r26 */
88#define ADDI_M8_SP 0xb7de07f1 /* addi -8,sp,sp */
c986f2a6 89#define LDW_M8SP_RP 0x4bc23ff1 /* ldw -8(sp),rp */
3bca0336 90#define BV_N_0_RP 0xe840c002 /* bv,n 0(rp) */
e2a422b8 91#define BV_N_0_26 0xeb40c002 /* bv,n 0(r26) */
3bca0336 92#define BV_N_0_31 0xebe0c002 /* bv,n 0(r31) */
This page took 0.046903 seconds and 4 git commands to generate.