mmix.h (89857) | mmix.h (91041) |
---|---|
1/* MMIX support for BFD. | 1/* MMIX support for BFD. |
2 Copyright (C) 2001 Free Software Foundation, Inc. | 2 Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
3 4This file is part of BFD, the Binary File Descriptor library. 5 6This program is free software; you can redistribute it and/or modify 7it under the terms of the GNU General Public License as published by 8the Free Software Foundation; either version 2 of the License, or 9(at your option) any later version. 10 --- 66 unchanged lines hidden (view full) --- 77 RELOC_NUMBER (R_MMIX_ADDR27, 31) 78 79 /* A general register or a number 0..255. */ 80 RELOC_NUMBER (R_MMIX_REG_OR_BYTE, 32) 81 82 /* A general register. */ 83 RELOC_NUMBER (R_MMIX_REG, 33) 84 | 3 4This file is part of BFD, the Binary File Descriptor library. 5 6This program is free software; you can redistribute it and/or modify 7it under the terms of the GNU General Public License as published by 8the Free Software Foundation; either version 2 of the License, or 9(at your option) any later version. 10 --- 66 unchanged lines hidden (view full) --- 77 RELOC_NUMBER (R_MMIX_ADDR27, 31) 78 79 /* A general register or a number 0..255. */ 80 RELOC_NUMBER (R_MMIX_REG_OR_BYTE, 32) 81 82 /* A general register. */ 83 RELOC_NUMBER (R_MMIX_REG, 33) 84 |
85 /* A global register and an offset, equivalent of the expression. */ | 85 /* A global register and an offset, the global register (allocated at 86 link time) contents plus the offset made equivalent to the relocation 87 expression at link time. The relocation must point at the Y field of 88 an instruction. */ |
86 RELOC_NUMBER (R_MMIX_BASE_PLUS_OFFSET, 34) 87 88 /* A LOCAL assertion. */ 89 RELOC_NUMBER (R_MMIX_LOCAL, 35) 90END_RELOC_NUMBERS (R_MMIX_max) 91 92 93/* Section Attributes. */ --- 8 unchanged lines hidden (view full) --- 102 regno*8. A symbol relative to this section will be transformed to an 103 absolute symbol with the value corresponding to the register number at 104 final link time. A symbol with a value outside the inclusive range 105 32*8 .. 254*8 is an error. It is highly recommended to only use an 106 upper bound of 253*8 or lower as specified in the (currently 107 unspecified) ABI. */ 108#define MMIX_REG_CONTENTS_SECTION_NAME ".MMIX.reg_contents" 109 | 89 RELOC_NUMBER (R_MMIX_BASE_PLUS_OFFSET, 34) 90 91 /* A LOCAL assertion. */ 92 RELOC_NUMBER (R_MMIX_LOCAL, 35) 93END_RELOC_NUMBERS (R_MMIX_max) 94 95 96/* Section Attributes. */ --- 8 unchanged lines hidden (view full) --- 105 regno*8. A symbol relative to this section will be transformed to an 106 absolute symbol with the value corresponding to the register number at 107 final link time. A symbol with a value outside the inclusive range 108 32*8 .. 254*8 is an error. It is highly recommended to only use an 109 upper bound of 253*8 or lower as specified in the (currently 110 unspecified) ABI. */ 111#define MMIX_REG_CONTENTS_SECTION_NAME ".MMIX.reg_contents" 112 |
113/* At link time, a section by this name is created, expected to be 114 included in MMIX_REG_CONTENTS_SECTION_NAME in the output. */ 115#define MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME \ 116 ".MMIX.reg_contents.linker_allocated" 117 |
|
110/* This is a faked section holding symbols with SHN_REGISTER. Don't 111 confuse it with MMIX_REG_CONTENTS_SECTION_NAME; this one has no 112 contents, just values. It is an error for a value in this section to 113 be outside the range 32..255 and it must never become an actual section 114 in an object file. */ 115#define MMIX_REG_SECTION_NAME "*REG*" 116 117/* Appended with a number N=0..65535, this is a representation of the --- 25 unchanged lines hidden (view full) --- 143#define MMO_SEC_RELOC 0x004 144#define MMO_SEC_READONLY 0x010 145#define MMO_SEC_CODE 0x020 146#define MMO_SEC_DATA 0x040 147#define MMO_SEC_NEVER_LOAD 0x400 148#define MMO_SEC_IS_COMMON 0x8000 149#define MMO_SEC_DEBUGGING 0x10000 150 | 118/* This is a faked section holding symbols with SHN_REGISTER. Don't 119 confuse it with MMIX_REG_CONTENTS_SECTION_NAME; this one has no 120 contents, just values. It is an error for a value in this section to 121 be outside the range 32..255 and it must never become an actual section 122 in an object file. */ 123#define MMIX_REG_SECTION_NAME "*REG*" 124 125/* Appended with a number N=0..65535, this is a representation of the --- 25 unchanged lines hidden (view full) --- 151#define MMO_SEC_RELOC 0x004 152#define MMO_SEC_READONLY 0x010 153#define MMO_SEC_CODE 0x020 154#define MMO_SEC_DATA 0x040 155#define MMO_SEC_NEVER_LOAD 0x400 156#define MMO_SEC_IS_COMMON 0x8000 157#define MMO_SEC_DEBUGGING 0x10000 158 |
159#ifdef BFD_ARCH_SIZE 160extern boolean _bfd_mmix_prepare_linker_allocated_gregs 161 PARAMS ((bfd *, struct bfd_link_info *)); 162extern boolean _bfd_mmix_finalize_linker_allocated_gregs 163 PARAMS ((bfd *, struct bfd_link_info *)); 164extern boolean _bfd_mmix_check_all_relocs 165 PARAMS ((bfd *, struct bfd_link_info *)); 166#endif 167 |
|
151#endif /* ELF_MMIX_H */ | 168#endif /* ELF_MMIX_H */ |