rdwarf 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +28 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/ext/rdwarf/depend +5 -0
- data/ext/rdwarf/extconf.rb +29 -0
- data/ext/rdwarf/libdwarf/CHANGES +102 -0
- data/ext/rdwarf/libdwarf/CODINGSTYLE +71 -0
- data/ext/rdwarf/libdwarf/COPYING +28 -0
- data/ext/rdwarf/libdwarf/ChangeLog +619 -0
- data/ext/rdwarf/libdwarf/ChangeLog2006 +835 -0
- data/ext/rdwarf/libdwarf/ChangeLog2007 +217 -0
- data/ext/rdwarf/libdwarf/ChangeLog2008 +263 -0
- data/ext/rdwarf/libdwarf/ChangeLog2009 +348 -0
- data/ext/rdwarf/libdwarf/ChangeLog2010 +175 -0
- data/ext/rdwarf/libdwarf/ChangeLog2011 +297 -0
- data/ext/rdwarf/libdwarf/ChangeLog2012 +131 -0
- data/ext/rdwarf/libdwarf/ChangeLog2013 +238 -0
- data/ext/rdwarf/libdwarf/ChangeLog2014 +399 -0
- data/ext/rdwarf/libdwarf/LGPL.txt +504 -0
- data/ext/rdwarf/libdwarf/LIBDWARFCOPYRIGHT +40 -0
- data/ext/rdwarf/libdwarf/Makefile.in +220 -0
- data/ext/rdwarf/libdwarf/NEWS +535 -0
- data/ext/rdwarf/libdwarf/README +235 -0
- data/ext/rdwarf/libdwarf/checkexamples.c +1179 -0
- data/ext/rdwarf/libdwarf/cmplrs/dwarf_addr_finder.h +55 -0
- data/ext/rdwarf/libdwarf/common.c +62 -0
- data/ext/rdwarf/libdwarf/common.h +38 -0
- data/ext/rdwarf/libdwarf/config.h.in +146 -0
- data/ext/rdwarf/libdwarf/configure +5581 -0
- data/ext/rdwarf/libdwarf/configure.in +167 -0
- data/ext/rdwarf/libdwarf/dw-linetableheader.txt +39 -0
- data/ext/rdwarf/libdwarf/dwarf.h +1342 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.c +291 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.h +45 -0
- data/ext/rdwarf/libdwarf/dwarf_addr_finder.c +676 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.c +685 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.h +38 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.c +595 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.h +62 -0
- data/ext/rdwarf/libdwarf/dwarf_base_types.h +157 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.c +1802 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.c +1348 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_error.c +492 -0
- data/ext/rdwarf/libdwarf/dwarf_error.h +53 -0
- data/ext/rdwarf/libdwarf/dwarf_form.c +1302 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.c +2454 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.h +418 -0
- data/ext/rdwarf/libdwarf/dwarf_frame2.c +1533 -0
- data/ext/rdwarf/libdwarf/dwarf_frame3.c +282 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.h +33 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.c +520 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.h +97 -0
- data/ext/rdwarf/libdwarf/dwarf_global.c +612 -0
- data/ext/rdwarf/libdwarf/dwarf_global.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.c +228 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.h +31 -0
- data/ext/rdwarf/libdwarf/dwarf_incl.h +61 -0
- data/ext/rdwarf/libdwarf/dwarf_init_finish.c +1263 -0
- data/ext/rdwarf/libdwarf/dwarf_leb.c +159 -0
- data/ext/rdwarf/libdwarf/dwarf_line.c +1822 -0
- data/ext/rdwarf/libdwarf/dwarf_line.h +446 -0
- data/ext/rdwarf/libdwarf/dwarf_line2.c +98 -0
- data/ext/rdwarf/libdwarf/dwarf_line_table_reader_common.c +1583 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.c +1525 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.h +149 -0
- data/ext/rdwarf/libdwarf/dwarf_loc2.c +833 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.c +479 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.h +35 -0
- data/ext/rdwarf/libdwarf/dwarf_opaque.h +778 -0
- data/ext/rdwarf/libdwarf/dwarf_original_elf_init.c +219 -0
- data/ext/rdwarf/libdwarf/dwarf_print_lines.c +631 -0
- data/ext/rdwarf/libdwarf/dwarf_pubtypes.c +132 -0
- data/ext/rdwarf/libdwarf/dwarf_query.c +1594 -0
- data/ext/rdwarf/libdwarf/dwarf_ranges.c +194 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_arm.h +308 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_mips.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc.h +242 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc64.h +272 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_x86_64.h +127 -0
- data/ext/rdwarf/libdwarf/dwarf_sort_line.c +665 -0
- data/ext/rdwarf/libdwarf/dwarf_string.c +82 -0
- data/ext/rdwarf/libdwarf/dwarf_stubs.c +38 -0
- data/ext/rdwarf/libdwarf/dwarf_tied.c +423 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearch.h +125 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearchhash.c +675 -0
- data/ext/rdwarf/libdwarf/dwarf_types.c +121 -0
- data/ext/rdwarf/libdwarf/dwarf_types.h +32 -0
- data/ext/rdwarf/libdwarf/dwarf_util.c +913 -0
- data/ext/rdwarf/libdwarf/dwarf_util.h +324 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.c +125 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.c +579 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.h +68 -0
- data/ext/rdwarf/libdwarf/dwgetopt.c +181 -0
- data/ext/rdwarf/libdwarf/dwgetopt.h +51 -0
- data/ext/rdwarf/libdwarf/gennames.c +531 -0
- data/ext/rdwarf/libdwarf/install.sh +119 -0
- data/ext/rdwarf/libdwarf/libdwarf.h.in +3746 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.mm +9805 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.mm +2807 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarfdefs.h +81 -0
- data/ext/rdwarf/libdwarf/malloc_check.c +327 -0
- data/ext/rdwarf/libdwarf/malloc_check.h +52 -0
- data/ext/rdwarf/libdwarf/mips_extensions.mm +1266 -0
- data/ext/rdwarf/libdwarf/mips_extensions.pdf +0 -0
- data/ext/rdwarf/libdwarf/pro_alloc.c +179 -0
- data/ext/rdwarf/libdwarf/pro_alloc.h +33 -0
- data/ext/rdwarf/libdwarf/pro_arange.c +310 -0
- data/ext/rdwarf/libdwarf/pro_arange.h +51 -0
- data/ext/rdwarf/libdwarf/pro_die.c +431 -0
- data/ext/rdwarf/libdwarf/pro_die.h +59 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.c +108 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.h +39 -0
- data/ext/rdwarf/libdwarf/pro_error.c +96 -0
- data/ext/rdwarf/libdwarf/pro_error.h +43 -0
- data/ext/rdwarf/libdwarf/pro_expr.c +575 -0
- data/ext/rdwarf/libdwarf/pro_expr.h +36 -0
- data/ext/rdwarf/libdwarf/pro_finish.c +45 -0
- data/ext/rdwarf/libdwarf/pro_forms.c +1271 -0
- data/ext/rdwarf/libdwarf/pro_frame.c +572 -0
- data/ext/rdwarf/libdwarf/pro_frame.h +120 -0
- data/ext/rdwarf/libdwarf/pro_funcs.c +50 -0
- data/ext/rdwarf/libdwarf/pro_incl.h +91 -0
- data/ext/rdwarf/libdwarf/pro_init.c +327 -0
- data/ext/rdwarf/libdwarf/pro_line.c +373 -0
- data/ext/rdwarf/libdwarf/pro_line.h +112 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.c +457 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.h +31 -0
- data/ext/rdwarf/libdwarf/pro_opaque.h +513 -0
- data/ext/rdwarf/libdwarf/pro_pubnames.c +60 -0
- data/ext/rdwarf/libdwarf/pro_reloc.c +253 -0
- data/ext/rdwarf/libdwarf/pro_reloc.h +38 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.c +256 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.h +52 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.c +245 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.h +45 -0
- data/ext/rdwarf/libdwarf/pro_section.c +2233 -0
- data/ext/rdwarf/libdwarf/pro_section.h +100 -0
- data/ext/rdwarf/libdwarf/pro_types.c +274 -0
- data/ext/rdwarf/libdwarf/pro_types.h +34 -0
- data/ext/rdwarf/libdwarf/pro_util.h +38 -0
- data/ext/rdwarf/libdwarf/pro_vars.c +52 -0
- data/ext/rdwarf/libdwarf/pro_weaks.c +51 -0
- data/ext/rdwarf/rdwarf.c +765 -0
- data/ext/rdwarf/rdwarf.h +52 -0
- data/ext/rdwarf/rdwarf_names_gen.rb +109 -0
- data/lib/rdwarf.rb +181 -0
- data/lib/rdwarf/version.rb +3 -0
- data/rdwarf.gemspec +30 -0
- metadata +251 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (C) 2007-2012 David Anderson. All Rights Reserved.
|
3
|
+
Portions Copyright (C) 2012 SN Systems Ltd. All rights reserved.
|
4
|
+
|
5
|
+
This program is free software; you can redistribute it and/or modify it
|
6
|
+
under the terms of version 2.1 of the GNU Lesser General Public License
|
7
|
+
published by the Free Software Foundation.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it would be useful, but
|
10
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
12
|
+
|
13
|
+
Further, this software is distributed without any warranty that it is
|
14
|
+
free of the rightful claim of any third person regarding infringement
|
15
|
+
or the like. Any license provided herein, whether implied or
|
16
|
+
otherwise, applies only to this software file. Patent licenses, if
|
17
|
+
any, provided herein do not apply to combinations of this program with
|
18
|
+
other software, or any other product whatsoever.
|
19
|
+
|
20
|
+
You should have received a copy of the GNU Lesser General Public License along
|
21
|
+
with this program; if not, write the Free Software Foundation, Inc., 51
|
22
|
+
Franklin Street - Fifth Floor, Boston MA 02110-1301, USA.
|
23
|
+
*/
|
24
|
+
|
25
|
+
#ifndef DWARF_RELOC_MIPS_H
|
26
|
+
#define DWARF_RELOC_MIPS_H
|
27
|
+
|
28
|
+
/* Definitions for MIPS */
|
29
|
+
#define DWARF_RELOC_MIPS
|
30
|
+
|
31
|
+
/* Include the definitions only in the case of Windows */
|
32
|
+
#ifdef WIN32
|
33
|
+
/* Relocation types for MIPS */
|
34
|
+
#define R_MIPS_NONE 0
|
35
|
+
#define R_MIPS_16 1
|
36
|
+
#define R_MIPS_32 2
|
37
|
+
#define R_MIPS_ADD R_MIPS_32
|
38
|
+
#define R_MIPS_REL 3
|
39
|
+
#define R_MIPS_REL32 R_MIPS_REL
|
40
|
+
#define R_MIPS_26 4
|
41
|
+
#define R_MIPS_HI16 5
|
42
|
+
#define R_MIPS_LO16 6
|
43
|
+
#define R_MIPS_GPREL 7
|
44
|
+
#define R_MIPS_GPREL16 R_MIPS_GPREL
|
45
|
+
#define R_MIPS_LITERAL 8
|
46
|
+
#define R_MIPS_GOT 9
|
47
|
+
#define R_MIPS_GOT16 R_MIPS_GOT
|
48
|
+
#define R_MIPS_PC16 10
|
49
|
+
#define R_MIPS_CALL 11
|
50
|
+
#define R_MIPS_CALL16 R_MIPS_CALL
|
51
|
+
#define R_MIPS_GPREL32 12
|
52
|
+
#define R_MIPS_UNUSED1 13
|
53
|
+
#define R_MIPS_UNUSED2 14
|
54
|
+
#define R_MIPS_UNUSED3 15
|
55
|
+
#define R_MIPS_SHIFT5 16
|
56
|
+
#define R_MIPS_SHIFT6 17
|
57
|
+
#define R_MIPS_64 18
|
58
|
+
#define R_MIPS_GOT_DISP 19
|
59
|
+
#define R_MIPS_GOT_PAGE 20
|
60
|
+
#define R_MIPS_GOT_OFST 21
|
61
|
+
#define R_MIPS_GOT_HI16 22
|
62
|
+
#define R_MIPS_GOT_LO16 23
|
63
|
+
#define R_MIPS_SUB 24
|
64
|
+
#define R_MIPS_INSERT_A 25
|
65
|
+
#define R_MIPS_INSERT_B 26
|
66
|
+
#define R_MIPS_DELETE 27
|
67
|
+
#define R_MIPS_HIGHER 28
|
68
|
+
#define R_MIPS_HIGHEST 29
|
69
|
+
#define R_MIPS_CALL_HI16 30
|
70
|
+
#define R_MIPS_CALL_LO16 31
|
71
|
+
#define R_MIPS_SCN_DISP 32
|
72
|
+
#define R_MIPS_REL16 33
|
73
|
+
#define R_MIPS_ADD_IMMEDIATE 34
|
74
|
+
|
75
|
+
/* Keep this the last entry. */
|
76
|
+
#define R_MIPS_NUM 35
|
77
|
+
#endif /* WIN32 */
|
78
|
+
|
79
|
+
/* Relocation types for MIPS */
|
80
|
+
static const char *reloc_type_names_MIPS[] = {
|
81
|
+
"R_MIPS_NONE", /* 00 */
|
82
|
+
"R_MIPS_16", /* 01 */
|
83
|
+
"R_MIPS_32", /* 02 */
|
84
|
+
"R_MIPS_REL32", /* 03 */
|
85
|
+
"R_MIPS_26", /* 04 */
|
86
|
+
"R_MIPS_HI16", /* 05 */
|
87
|
+
"R_MIPS_LO16", /* 06 */
|
88
|
+
"R_MIPS_GPREL16", /* 07 */
|
89
|
+
"R_MIPS_LITERAL", /* 08 */
|
90
|
+
"R_MIPS_GOT16", /* 09 */
|
91
|
+
"R_MIPS_PC16", /* 10 */
|
92
|
+
"R_MIPS_CALL16", /* 11 */
|
93
|
+
"R_MIPS_GPREL32", /* 12 */
|
94
|
+
"R_MIPS_UNUSED1", /* 13 */
|
95
|
+
"R_MIPS_UNUSED2", /* 14 */
|
96
|
+
"R_MIPS_UNUSED3", /* 15 */
|
97
|
+
"R_MIPS_SHIFT5", /* 16 */
|
98
|
+
"R_MIPS_SHIFT6", /* 17 */
|
99
|
+
"R_MIPS_64", /* 18 */
|
100
|
+
"R_MIPS_GOT_DISP", /* 19 */
|
101
|
+
"R_MIPS_GOT_PAGE", /* 20 */
|
102
|
+
"R_MIPS_GOT_OFST", /* 21 */
|
103
|
+
"R_MIPS_GOT_HI16", /* 22 */
|
104
|
+
"R_MIPS_GOT_LO16", /* 23 */
|
105
|
+
"R_MIPS_SUB", /* 24 */
|
106
|
+
"R_MIPS_INSERT_A", /* 25 */
|
107
|
+
"R_MIPS_INSERT_B", /* 26 */
|
108
|
+
"R_MIPS_DELETE", /* 27 */
|
109
|
+
"R_MIPS_HIGHER", /* 28 */
|
110
|
+
"R_MIPS_HIGHEST", /* 29 */
|
111
|
+
"R_MIPS_CALL_HI16", /* 30 */
|
112
|
+
"R_MIPS_CALL_LO16", /* 31 */
|
113
|
+
"R_MIPS_SCN_DISP", /* 32 */
|
114
|
+
"R_MIPS_REL16", /* 33 */
|
115
|
+
"R_MIPS_ADD_IMMEDIATE", /* 34 */
|
116
|
+
};
|
117
|
+
#endif /* DWARF_RELOC_MIPS_H */
|
@@ -0,0 +1,242 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (C) 2007-2012 David Anderson. All Rights Reserved.
|
3
|
+
Portions Copyright (C) 2012 SN Systems Ltd. All rights reserved.
|
4
|
+
|
5
|
+
This program is free software; you can redistribute it and/or modify it
|
6
|
+
under the terms of version 2.1 of the GNU Lesser General Public License
|
7
|
+
published by the Free Software Foundation.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it would be useful, but
|
10
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
12
|
+
|
13
|
+
Further, this software is distributed without any warranty that it is
|
14
|
+
free of the rightful claim of any third person regarding infringement
|
15
|
+
or the like. Any license provided herein, whether implied or
|
16
|
+
otherwise, applies only to this software file. Patent licenses, if
|
17
|
+
any, provided herein do not apply to combinations of this program with
|
18
|
+
other software, or any other product whatsoever.
|
19
|
+
|
20
|
+
You should have received a copy of the GNU Lesser General Public License along
|
21
|
+
with this program; if not, write the Free Software Foundation, Inc., 51
|
22
|
+
Franklin Street - Fifth Floor, Boston MA 02110-1301, USA.
|
23
|
+
*/
|
24
|
+
/* The address of the Free Software Foundation is
|
25
|
+
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
26
|
+
Boston, MA 02110-1301, USA.
|
27
|
+
*/
|
28
|
+
|
29
|
+
#ifndef DWARF_RELOC_PPC_H
|
30
|
+
#define DWARF_RELOC_PPC_H
|
31
|
+
|
32
|
+
/* Definitions for PPC */
|
33
|
+
#define DWARF_RELOC_PPC
|
34
|
+
|
35
|
+
/* Include the definitions only in the case of Windows */
|
36
|
+
#ifdef WIN32
|
37
|
+
/* PowerPC relocations defined by the ABIs */
|
38
|
+
#define R_PPC_NONE 0
|
39
|
+
#define R_PPC_ADDR32 1 /* 32bit absolute address */
|
40
|
+
#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */
|
41
|
+
#define R_PPC_ADDR16 3 /* 16bit absolute address */
|
42
|
+
#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */
|
43
|
+
#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */
|
44
|
+
#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */
|
45
|
+
#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */
|
46
|
+
#define R_PPC_ADDR14_BRTAKEN 8
|
47
|
+
#define R_PPC_ADDR14_BRNTAKEN 9
|
48
|
+
#define R_PPC_REL24 10 /* PC relative 26 bit */
|
49
|
+
#define R_PPC_REL14 11 /* PC relative 16 bit */
|
50
|
+
#define R_PPC_REL14_BRTAKEN 12
|
51
|
+
#define R_PPC_REL14_BRNTAKEN 13
|
52
|
+
#define R_PPC_GOT16 14
|
53
|
+
#define R_PPC_GOT16_LO 15
|
54
|
+
#define R_PPC_GOT16_HI 16
|
55
|
+
#define R_PPC_GOT16_HA 17
|
56
|
+
#define R_PPC_PLTREL24 18
|
57
|
+
#define R_PPC_COPY 19
|
58
|
+
#define R_PPC_GLOB_DAT 20
|
59
|
+
#define R_PPC_JMP_SLOT 21
|
60
|
+
#define R_PPC_RELATIVE 22
|
61
|
+
#define R_PPC_LOCAL24PC 23
|
62
|
+
#define R_PPC_UADDR32 24
|
63
|
+
#define R_PPC_UADDR16 25
|
64
|
+
#define R_PPC_REL32 26
|
65
|
+
#define R_PPC_PLT32 27
|
66
|
+
#define R_PPC_PLTREL32 28
|
67
|
+
#define R_PPC_PLT16_LO 29
|
68
|
+
#define R_PPC_PLT16_HI 30
|
69
|
+
#define R_PPC_PLT16_HA 31
|
70
|
+
#define R_PPC_SDAREL16 32
|
71
|
+
#define R_PPC_SECTOFF 33
|
72
|
+
#define R_PPC_SECTOFF_LO 34
|
73
|
+
#define R_PPC_SECTOFF_HI 35
|
74
|
+
#define R_PPC_SECTOFF_HA 36
|
75
|
+
|
76
|
+
/* Unused types */
|
77
|
+
#define R_PPC_37 37
|
78
|
+
#define R_PPC_38 38
|
79
|
+
#define R_PPC_39 39
|
80
|
+
#define R_PPC_40 40
|
81
|
+
#define R_PPC_41 41
|
82
|
+
#define R_PPC_42 42
|
83
|
+
#define R_PPC_43 43
|
84
|
+
#define R_PPC_44 44
|
85
|
+
#define R_PPC_45 45
|
86
|
+
#define R_PPC_46 46
|
87
|
+
#define R_PPC_47 47
|
88
|
+
#define R_PPC_48 48
|
89
|
+
#define R_PPC_49 49
|
90
|
+
#define R_PPC_50 50
|
91
|
+
#define R_PPC_51 51
|
92
|
+
#define R_PPC_52 52
|
93
|
+
#define R_PPC_53 53
|
94
|
+
#define R_PPC_54 54
|
95
|
+
#define R_PPC_55 55
|
96
|
+
|
97
|
+
/* Unused types */
|
98
|
+
#define R_PPC_56 56
|
99
|
+
#define R_PPC_57 57
|
100
|
+
#define R_PPC_58 58
|
101
|
+
#define R_PPC_59 59
|
102
|
+
#define R_PPC_60 60
|
103
|
+
#define R_PPC_61 61
|
104
|
+
#define R_PPC_62 62
|
105
|
+
#define R_PPC_63 63
|
106
|
+
#define R_PPC_64 64
|
107
|
+
#define R_PPC_65 65
|
108
|
+
#define R_PPC_66 66
|
109
|
+
|
110
|
+
/* PowerPC relocations defined for the TLS access ABI. */
|
111
|
+
#define R_PPC_TLS 67 /* none (sym+add)@tls */
|
112
|
+
#define R_PPC_DTPMOD32 68 /* word32 (sym+add)@dtpmod */
|
113
|
+
#define R_PPC_TPREL16 69 /* half16* (sym+add)@tprel */
|
114
|
+
#define R_PPC_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */
|
115
|
+
#define R_PPC_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */
|
116
|
+
#define R_PPC_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */
|
117
|
+
#define R_PPC_TPREL32 73 /* word32 (sym+add)@tprel */
|
118
|
+
#define R_PPC_DTPREL16 74 /* half16* (sym+add)@dtprel */
|
119
|
+
#define R_PPC_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */
|
120
|
+
#define R_PPC_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */
|
121
|
+
#define R_PPC_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */
|
122
|
+
#define R_PPC_DTPREL32 78 /* word32 (sym+add)@dtprel */
|
123
|
+
#define R_PPC_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */
|
124
|
+
#define R_PPC_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */
|
125
|
+
#define R_PPC_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */
|
126
|
+
#define R_PPC_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */
|
127
|
+
#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */
|
128
|
+
#define R_PPC_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */
|
129
|
+
#define R_PPC_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */
|
130
|
+
#define R_PPC_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */
|
131
|
+
#define R_PPC_GOT_TPREL16 87 /* half16* (sym+add)@got@tprel */
|
132
|
+
#define R_PPC_GOT_TPREL16_LO 88 /* half16 (sym+add)@got@tprel@l */
|
133
|
+
#define R_PPC_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */
|
134
|
+
#define R_PPC_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */
|
135
|
+
#define R_PPC_GOT_DTPREL16 91 /* half16* (sym+add)@got@dtprel */
|
136
|
+
#define R_PPC_GOT_DTPREL16_LO 92 /* half16* (sym+add)@got@dtprel@l */
|
137
|
+
#define R_PPC_GOT_DTPREL16_HI 93 /* half16* (sym+add)@got@dtprel@h */
|
138
|
+
#define R_PPC_GOT_DTPREL16_HA 94 /* half16* (sym+add)@got@dtprel@ha */
|
139
|
+
|
140
|
+
/* Keep this the last entry. */
|
141
|
+
#define R_PPC_NUM 95
|
142
|
+
#endif /* WIN32 */
|
143
|
+
|
144
|
+
/* PowerPC relocations defined by the ABIs */
|
145
|
+
static const char *reloc_type_names_PPC[] = {
|
146
|
+
"R_PPC_NONE", /* 00 */
|
147
|
+
"R_PPC_ADDR32", /* 01 */
|
148
|
+
"R_PPC_ADDR24", /* 02 */
|
149
|
+
"R_PPC_ADDR16", /* 03 */
|
150
|
+
"R_PPC_ADDR16_LO", /* 04 */
|
151
|
+
"R_PPC_ADDR16_HI", /* 05 */
|
152
|
+
"R_PPC_ADDR16_HA", /* 06 */
|
153
|
+
"R_PPC_ADDR14", /* 07 */
|
154
|
+
"R_PPC_ADDR14_BRTAKEN", /* 08 */
|
155
|
+
"R_PPC_ADDR14_BRNTAKEN", /* 09 */
|
156
|
+
"R_PPC_REL24", /* 10 */
|
157
|
+
"R_PPC_REL14", /* 11 */
|
158
|
+
"R_PPC_REL14_BRTAKEN", /* 12 */
|
159
|
+
"R_PPC_REL14_BRNTAKEN", /* 13 */
|
160
|
+
"R_PPC_GOT16", /* 14 */
|
161
|
+
"R_PPC_GOT16_LO", /* 15 */
|
162
|
+
"R_PPC_GOT16_HI", /* 16 */
|
163
|
+
"R_PPC_GOT16_HA", /* 17 */
|
164
|
+
"R_PPC_PLTREL24", /* 18 */
|
165
|
+
"R_PPC_COPY", /* 19 */
|
166
|
+
"R_PPC_GLOB_DAT", /* 20 */
|
167
|
+
"R_PPC_JMP_SLOT", /* 21 */
|
168
|
+
"R_PPC_RELATIVE", /* 22 */
|
169
|
+
"R_PPC_LOCAL24PC", /* 23 */
|
170
|
+
"R_PPC_UADDR32", /* 24 */
|
171
|
+
"R_PPC_UADDR16", /* 25 */
|
172
|
+
"R_PPC_REL32", /* 26 */
|
173
|
+
"R_PPC_PLT32", /* 27 */
|
174
|
+
"R_PPC_PLTREL32", /* 28 */
|
175
|
+
"R_PPC_PLT16_LO", /* 29 */
|
176
|
+
"R_PPC_PLT16_HI", /* 30 */
|
177
|
+
"R_PPC_PLT16_HA", /* 31 */
|
178
|
+
"R_PPC_SDAREL16", /* 32 */
|
179
|
+
"R_PPC_SECTOFF", /* 33 */
|
180
|
+
"R_PPC_SECTOFF_LO", /* 34 */
|
181
|
+
"R_PPC_SECTOFF_HI", /* 35 */
|
182
|
+
"R_PPC_SECTOFF_HA", /* 36 */
|
183
|
+
"R_PPC_37", /* 37 */
|
184
|
+
"R_PPC_38", /* 38 */
|
185
|
+
"R_PPC_39", /* 39 */
|
186
|
+
"R_PPC_40", /* 40 */
|
187
|
+
"R_PPC_41", /* 41 */
|
188
|
+
"R_PPC_42", /* 42 */
|
189
|
+
"R_PPC_43", /* 43 */
|
190
|
+
"R_PPC_44", /* 44 */
|
191
|
+
"R_PPC_45", /* 45 */
|
192
|
+
"R_PPC_46", /* 46 */
|
193
|
+
"R_PPC_47", /* 47 */
|
194
|
+
"R_PPC_48", /* 48 */
|
195
|
+
"R_PPC_49", /* 49 */
|
196
|
+
"R_PPC_50", /* 50 */
|
197
|
+
"R_PPC_51", /* 51 */
|
198
|
+
"R_PPC_52", /* 52 */
|
199
|
+
"R_PPC_53", /* 53 */
|
200
|
+
"R_PPC_54", /* 54 */
|
201
|
+
"R_PPC_55", /* 55 */
|
202
|
+
"R_PPC_56", /* 56 */
|
203
|
+
"R_PPC_57", /* 57 */
|
204
|
+
"R_PPC_58", /* 58 */
|
205
|
+
"R_PPC_59", /* 59 */
|
206
|
+
"R_PPC_60", /* 60 */
|
207
|
+
"R_PPC_61", /* 61 */
|
208
|
+
"R_PPC_62", /* 62 */
|
209
|
+
"R_PPC_63", /* 63 */
|
210
|
+
"R_PPC_64", /* 64 */
|
211
|
+
"R_PPC_65", /* 65 */
|
212
|
+
"R_PPC_66", /* 66 */
|
213
|
+
"R_PPC_TLS", /* 67 */
|
214
|
+
"R_PPC_DTPMOD32", /* 68 */
|
215
|
+
"R_PPC_TPREL16", /* 69 */
|
216
|
+
"R_PPC_TPREL16_LO", /* 70 */
|
217
|
+
"R_PPC_TPREL16_HI", /* 71 */
|
218
|
+
"R_PPC_TPREL16_HA", /* 72 */
|
219
|
+
"R_PPC_TPREL32", /* 73 */
|
220
|
+
"R_PPC_DTPREL16", /* 74 */
|
221
|
+
"R_PPC_DTPREL16_LO", /* 75 */
|
222
|
+
"R_PPC_DTPREL16_HI", /* 76 */
|
223
|
+
"R_PPC_DTPREL16_HA", /* 77 */
|
224
|
+
"R_PPC_DTPREL64", /* 78 */
|
225
|
+
"R_PPC_GOT_TLSGD16", /* 79 */
|
226
|
+
"R_PPC_GOT_TLSGD16_LO", /* 80 */
|
227
|
+
"R_PPC_GOT_TLSGD16_HI", /* 81 */
|
228
|
+
"R_PPC_GOT_TLSGD16_HA", /* 82 */
|
229
|
+
"R_PPC_GOT_TLSLD16", /* 83 */
|
230
|
+
"R_PPC_GOT_TLSLD16_LO", /* 84 */
|
231
|
+
"R_PPC_GOT_TLSLD16_HI", /* 85 */
|
232
|
+
"R_PPC_GOT_TLSLD16_HA", /* 86 */
|
233
|
+
"R_PPC_GOT_TPREL16_DS", /* 87 */
|
234
|
+
"R_PPC_GOT_TPREL16_LO", /* 88 */
|
235
|
+
"R_PPC_GOT_TPREL16_HI", /* 89 */
|
236
|
+
"R_PPC_GOT_TPREL16_HA", /* 90 */
|
237
|
+
"R_PPC_GOT_DTPREL16", /* 91 */
|
238
|
+
"R_PPC_GOT_DTPREL16_LO", /* 92 */
|
239
|
+
"R_PPC_GOT_DTPREL16_HI", /* 93 */
|
240
|
+
"R_PPC_GOT_DTPREL16_HA", /* 94 */
|
241
|
+
};
|
242
|
+
#endif /* DWARF_RELOC_PPC_H */
|
@@ -0,0 +1,272 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (C) 2007-2012 David Anderson. All Rights Reserved.
|
3
|
+
Portions Copyright (C) 2012 SN Systems Ltd. All rights reserved.
|
4
|
+
|
5
|
+
This program is free software; you can redistribute it and/or modify it
|
6
|
+
under the terms of version 2.1 of the GNU Lesser General Public License
|
7
|
+
published by the Free Software Foundation.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it would be useful, but
|
10
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
12
|
+
|
13
|
+
Further, this software is distributed without any warranty that it is
|
14
|
+
free of the rightful claim of any third person regarding infringement
|
15
|
+
or the like. Any license provided herein, whether implied or
|
16
|
+
otherwise, applies only to this software file. Patent licenses, if
|
17
|
+
any, provided herein do not apply to combinations of this program with
|
18
|
+
other software, or any other product whatsoever.
|
19
|
+
|
20
|
+
You should have received a copy of the GNU Lesser General Public License along
|
21
|
+
with this program; if not, write the Free Software Foundation, Inc., 51
|
22
|
+
Franklin Street - Fifth Floor, Boston MA 02110-1301, USA.
|
23
|
+
*/
|
24
|
+
|
25
|
+
#ifndef DWARF_RELOC_PPC64_H
|
26
|
+
#define DWARF_RELOC_PPC64_H
|
27
|
+
|
28
|
+
/* Definitions for PPC64 */
|
29
|
+
#define DWARF_RELOC_PPC64
|
30
|
+
|
31
|
+
/* Include the definitions only in the case of Windows */
|
32
|
+
#ifdef WIN32
|
33
|
+
|
34
|
+
#include "dwarf_reloc_ppc.h"
|
35
|
+
|
36
|
+
/* PowerPC64 relocations defined by the ABIs */
|
37
|
+
#define R_PPC64_NONE R_PPC_NONE
|
38
|
+
#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address. */
|
39
|
+
#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned. */
|
40
|
+
#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address. */
|
41
|
+
#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of abs. address. */
|
42
|
+
#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of abs. address. */
|
43
|
+
#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA /* adjusted high 16bits. */
|
44
|
+
#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned. */
|
45
|
+
#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
|
46
|
+
#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
|
47
|
+
#define R_PPC64_REL24 R_PPC_REL24 /* PC relative 26 bit, word aligned. */
|
48
|
+
#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit. */
|
49
|
+
#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
|
50
|
+
#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
|
51
|
+
#define R_PPC64_GOT16 R_PPC_GOT16
|
52
|
+
#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
|
53
|
+
#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
|
54
|
+
#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
|
55
|
+
|
56
|
+
#define R_PPC64_COPY R_PPC_COPY
|
57
|
+
#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
|
58
|
+
#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
|
59
|
+
#define R_PPC64_RELATIVE R_PPC_RELATIVE
|
60
|
+
|
61
|
+
#define R_PPC64_UADDR32 R_PPC_UADDR32
|
62
|
+
#define R_PPC64_UADDR16 R_PPC_UADDR16
|
63
|
+
#define R_PPC64_REL32 R_PPC_REL32
|
64
|
+
#define R_PPC64_PLT32 R_PPC_PLT32
|
65
|
+
#define R_PPC64_PLTREL32 R_PPC_PLTREL32
|
66
|
+
#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
|
67
|
+
#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
|
68
|
+
#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
|
69
|
+
|
70
|
+
#define R_PPC64_SECTOFF R_PPC_SECTOFF
|
71
|
+
#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
|
72
|
+
#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
|
73
|
+
#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
|
74
|
+
#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2. */
|
75
|
+
#define R_PPC64_ADDR64 38 /* doubleword64 S + A. */
|
76
|
+
#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A). */
|
77
|
+
#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A). */
|
78
|
+
#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A). */
|
79
|
+
#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A). */
|
80
|
+
#define R_PPC64_UADDR64 43 /* doubleword64 S + A. */
|
81
|
+
#define R_PPC64_REL64 44 /* doubleword64 S + A - P. */
|
82
|
+
#define R_PPC64_PLT64 45 /* doubleword64 L + A. */
|
83
|
+
#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P. */
|
84
|
+
#define R_PPC64_TOC16 47 /* half16* S + A - .TOC. */
|
85
|
+
#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.). */
|
86
|
+
#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.). */
|
87
|
+
#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.). */
|
88
|
+
#define R_PPC64_TOC 51 /* doubleword64 .TOC. */
|
89
|
+
#define R_PPC64_PLTGOT16 52 /* half16* M + A. */
|
90
|
+
#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A). */
|
91
|
+
#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A). */
|
92
|
+
#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A). */
|
93
|
+
|
94
|
+
#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2. */
|
95
|
+
#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2. */
|
96
|
+
#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2. */
|
97
|
+
#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2. */
|
98
|
+
#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2. */
|
99
|
+
#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2. */
|
100
|
+
#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2. */
|
101
|
+
#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2. */
|
102
|
+
#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2. */
|
103
|
+
#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2. */
|
104
|
+
#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2. */
|
105
|
+
|
106
|
+
/* PowerPC64 relocations defined for the TLS access ABI. */
|
107
|
+
#define R_PPC64_TLS 67 /* none (sym+add)@tls */
|
108
|
+
#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod */
|
109
|
+
#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel */
|
110
|
+
#define R_PPC64_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */
|
111
|
+
#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */
|
112
|
+
#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */
|
113
|
+
#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel */
|
114
|
+
#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel */
|
115
|
+
#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */
|
116
|
+
#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */
|
117
|
+
#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */
|
118
|
+
#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel */
|
119
|
+
#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */
|
120
|
+
#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */
|
121
|
+
#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */
|
122
|
+
#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */
|
123
|
+
#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */
|
124
|
+
#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */
|
125
|
+
#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */
|
126
|
+
#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */
|
127
|
+
#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel */
|
128
|
+
#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l */
|
129
|
+
#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */
|
130
|
+
#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */
|
131
|
+
#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel */
|
132
|
+
#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l */
|
133
|
+
#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h */
|
134
|
+
#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha */
|
135
|
+
#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel */
|
136
|
+
#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l */
|
137
|
+
#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher */
|
138
|
+
#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera */
|
139
|
+
#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest */
|
140
|
+
#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta */
|
141
|
+
#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel */
|
142
|
+
#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l */
|
143
|
+
#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher */
|
144
|
+
#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */
|
145
|
+
#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */
|
146
|
+
#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */
|
147
|
+
|
148
|
+
/* Additional relocation types */
|
149
|
+
#define R_PPC64_TOC32 107
|
150
|
+
#define R_PPC64_DTPMOD32 108
|
151
|
+
#define R_PPC64_TPREL32 109
|
152
|
+
#define R_PPC64_DTPREL32 110
|
153
|
+
|
154
|
+
/* Keep this the last entry. */
|
155
|
+
#define R_PPC64_NUM 111
|
156
|
+
#endif /* WIN32 */
|
157
|
+
|
158
|
+
/* PowerPC64 relocations defined by the ABIs */
|
159
|
+
static const char *reloc_type_names_PPC64[] = {
|
160
|
+
"R_PPC64_NONE", /* 00 */
|
161
|
+
"R_PPC64_ADDR32", /* 01 */
|
162
|
+
"R_PPC64_ADDR24", /* 02 */
|
163
|
+
"R_PPC64_ADDR16", /* 03 */
|
164
|
+
"R_PPC64_ADDR16_LO", /* 04 */
|
165
|
+
"R_PPC64_ADDR16_HI", /* 05 */
|
166
|
+
"R_PPC64_ADDR16_HA", /* 06 */
|
167
|
+
"R_PPC64_ADDR14", /* 07 */
|
168
|
+
"R_PPC64_ADDR14_BRTAKEN", /* 08 */
|
169
|
+
"R_PPC64_ADDR14_BRNTAKEN", /* 09 */
|
170
|
+
"R_PPC64_REL24", /* 10 */
|
171
|
+
"R_PPC64_REL14", /* 11 */
|
172
|
+
"R_PPC64_REL14_BRTAKEN", /* 12 */
|
173
|
+
"R_PPC64_REL14_BRNTAKEN", /* 13 */
|
174
|
+
"R_PPC64_GOT16", /* 14 */
|
175
|
+
"R_PPC64_GOT16_LO", /* 15 */
|
176
|
+
"R_PPC64_GOT16_HI", /* 16 */
|
177
|
+
"R_PPC64_GOT16_HA", /* 17 */
|
178
|
+
"R_PPC64_PLTREL24", /* 18 */
|
179
|
+
"R_PPC64_COPY", /* 19 */
|
180
|
+
"R_PPC64_GLOB_DAT", /* 20 */
|
181
|
+
"R_PPC64_JMP_SLOT", /* 21 */
|
182
|
+
"R_PPC64_RELATIVE", /* 22 */
|
183
|
+
"R_PPC64_LOCAL24PC", /* 23 */
|
184
|
+
"R_PPC64_UADDR32", /* 24 */
|
185
|
+
"R_PPC64_UADDR16", /* 25 */
|
186
|
+
"R_PPC64_REL32", /* 26 */
|
187
|
+
"R_PPC64_PLT32", /* 27 */
|
188
|
+
"R_PPC64_PLTREL32", /* 28 */
|
189
|
+
"R_PPC64_PLT16_LO", /* 29 */
|
190
|
+
"R_PPC64_PLT16_HI", /* 30 */
|
191
|
+
"R_PPC64_PLT16_HA", /* 31 */
|
192
|
+
"R_PPC64_SDAREL16", /* 32 */
|
193
|
+
"R_PPC64_SECTOFF", /* 33 */
|
194
|
+
"R_PPC64_SECTOFF_LO", /* 34 */
|
195
|
+
"R_PPC64_SECTOFF_HI", /* 35 */
|
196
|
+
"R_PPC64_SECTOFF_HA", /* 36 */
|
197
|
+
"R_PPC64_REL30", /* 37 */
|
198
|
+
"R_PPC64_ADDR64", /* 38 */
|
199
|
+
"R_PPC64_ADDR16_HIGHER", /* 39 */
|
200
|
+
"R_PPC64_ADDR16_HIGHERA", /* 40 */
|
201
|
+
"R_PPC64_ADDR16_HIGHEST", /* 41 */
|
202
|
+
"R_PPC64_ADDR16_HIGHESTA", /* 42 */
|
203
|
+
"R_PPC64_UADDR64", /* 43 */
|
204
|
+
"R_PPC64_REL64", /* 44 */
|
205
|
+
"R_PPC64_PLT64", /* 45 */
|
206
|
+
"R_PPC64_PLTREL64", /* 46 */
|
207
|
+
"R_PPC64_TOC16", /* 47 */
|
208
|
+
"R_PPC64_TOC16_LO", /* 48 */
|
209
|
+
"R_PPC64_TOC16_HI", /* 49 */
|
210
|
+
"R_PPC64_TOC16_HA", /* 50 */
|
211
|
+
"R_PPC64_TOC", /* 51 */
|
212
|
+
"R_PPC64_PLTGOT16", /* 52 */
|
213
|
+
"R_PPC64_PLTGOT16_LO", /* 53 */
|
214
|
+
"R_PPC64_PLTGOT16_HI", /* 54 */
|
215
|
+
"R_PPC64_PLTGOT16_HA", /* 55 */
|
216
|
+
"R_PPC64_ADDR16_DS", /* 56 */
|
217
|
+
"R_PPC64_ADDR16_LO_DS", /* 57 */
|
218
|
+
"R_PPC64_GOT16_DS", /* 58 */
|
219
|
+
"R_PPC64_GOT16_LO_DS", /* 59 */
|
220
|
+
"R_PPC64_PLT16_LO_DS", /* 60 */
|
221
|
+
"R_PPC64_SECTOFF_DS", /* 61 */
|
222
|
+
"R_PPC64_SECTOFF_LO_DS", /* 62 */
|
223
|
+
"R_PPC64_TOC16_DS", /* 63 */
|
224
|
+
"R_PPC64_TOC16_LO_DS", /* 64 */
|
225
|
+
"R_PPC64_PLTGOT16_DS", /* 65 */
|
226
|
+
"R_PPC64_PLTGOT16_LO_DS", /* 66 */
|
227
|
+
"R_PPC64_TLS", /* 67 */
|
228
|
+
"R_PPC64_DTPMOD32", /* 68 */
|
229
|
+
"R_PPC64_TPREL16", /* 69 */
|
230
|
+
"R_PPC64_TPREL16_LO", /* 70 */
|
231
|
+
"R_PPC64_TPREL16_HI", /* 71 */
|
232
|
+
"R_PPC64_TPREL16_HA", /* 72 */
|
233
|
+
"R_PPC64_TPREL32", /* 73 */
|
234
|
+
"R_PPC64_DTPREL16", /* 74 */
|
235
|
+
"R_PPC64_DTPREL16_LO", /* 75 */
|
236
|
+
"R_PPC64_DTPREL16_HI", /* 76 */
|
237
|
+
"R_PPC64_DTPREL16_HA", /* 77 */
|
238
|
+
"R_PPC64_DTPREL64", /* 78 */
|
239
|
+
"R_PPC64_GOT_TLSGD16", /* 79 */
|
240
|
+
"R_PPC64_GOT_TLSGD16_LO", /* 80 */
|
241
|
+
"R_PPC64_GOT_TLSGD16_HI", /* 81 */
|
242
|
+
"R_PPC64_GOT_TLSGD16_HA", /* 82 */
|
243
|
+
"R_PPC64_GOT_TLSLD16", /* 83 */
|
244
|
+
"R_PPC64_GOT_TLSLD16_LO", /* 84 */
|
245
|
+
"R_PPC64_GOT_TLSLD16_HI", /* 85 */
|
246
|
+
"R_PPC64_GOT_TLSLD16_HA", /* 86 */
|
247
|
+
"R_PPC64_GOT_TPREL16_DS", /* 87 */
|
248
|
+
"R_PPC64_GOT_TPREL16_LO", /* 88 */
|
249
|
+
"R_PPC64_GOT_TPREL16_HI", /* 89 */
|
250
|
+
"R_PPC64_GOT_TPREL16_HA", /* 90 */
|
251
|
+
"R_PPC64_GOT_DTPREL16", /* 91 */
|
252
|
+
"R_PPC64_GOT_DTPREL16_LO", /* 92 */
|
253
|
+
"R_PPC64_GOT_DTPREL16_HI", /* 93 */
|
254
|
+
"R_PPC64_GOT_DTPREL16_HA", /* 94 */
|
255
|
+
"R_PPC64_TPREL16_DS", /* 95 */
|
256
|
+
"R_PPC64_TPREL16_LO_DS", /* 96 */
|
257
|
+
"R_PPC64_TPREL16_HIGHER", /* 97 */
|
258
|
+
"R_PPC64_TPREL16_HIGHERA", /* 98 */
|
259
|
+
"R_PPC64_TPREL16_HIGHEST", /* 99 */
|
260
|
+
"R_PPC64_TPREL16_HIGHESTA", /* 100 */
|
261
|
+
"R_PPC64_DTPREL16_DS", /* 101 */
|
262
|
+
"R_PPC64_DTPREL16_LO_DS", /* 102 */
|
263
|
+
"R_PPC64_DTPREL16_HIGHER", /* 103 */
|
264
|
+
"R_PPC64_DTPREL16_HIGHERA", /* 104 */
|
265
|
+
"R_PPC64_DTPREL16_HIGHEST", /* 105 */
|
266
|
+
"R_PPC64_DTPREL16_HIGHESTA", /* 106 */
|
267
|
+
"R_PPC64_TOC32", /* 107 */
|
268
|
+
"R_PPC64_DTPMOD32", /* 108 */
|
269
|
+
"R_PPC64_TPREL32", /* 109 */
|
270
|
+
"R_PPC64_DTPREL32", /* 110 */
|
271
|
+
};
|
272
|
+
#endif /* DWARF_RELOC_PPC64_H */
|