OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [patches/] [binutils] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
--- original-binutils/bfd/archures.c
2
+++ binutils/bfd/archures.c
3
@@ -597,6 +597,7 @@ extern const bfd_arch_info_type bfd_pj_a
4
 extern const bfd_arch_info_type bfd_plugin_arch;
5
 extern const bfd_arch_info_type bfd_powerpc_archs[];
6
 #define bfd_powerpc_arch bfd_powerpc_archs[0]
7
+extern const bfd_arch_info_type bfd_riscv_arch;
8
 extern const bfd_arch_info_type bfd_rs6000_arch;
9
 extern const bfd_arch_info_type bfd_rl78_arch;
10
 extern const bfd_arch_info_type bfd_rx_arch;
11
@@ -683,6 +684,7 @@ static const bfd_arch_info_type * const
12
     &bfd_or1k_arch,
13
     &bfd_pdp11_arch,
14
     &bfd_powerpc_arch,
15
+    &bfd_riscv_arch,
16
     &bfd_rs6000_arch,
17
     &bfd_rl78_arch,
18
     &bfd_rx_arch,
19
--- original-binutils/bfd/bfd-in2.h
20
+++ binutils/bfd/bfd-in2.h
21
@@ -2043,6 +2043,9 @@ enum bfd_architecture
22
 #define bfd_mach_ppc_e6500     5007
23
 #define bfd_mach_ppc_titan     83
24
 #define bfd_mach_ppc_vle       84
25
+  bfd_arch_riscv,     /* RISC-V */
26
+#define bfd_mach_riscv32       132
27
+#define bfd_mach_riscv64       164
28
   bfd_arch_rs6000,    /* IBM RS/6000 */
29
 #define bfd_mach_rs6k          6000
30
 #define bfd_mach_rs6k_rs1      6001
31
@@ -5531,6 +5534,46 @@ relative offset from _GLOBAL_OFFSET_TABL
32
 value in a word.  The relocation is relative offset from  */
33
   BFD_RELOC_MICROBLAZE_32_GOTOFF,
34
 
35
+/* RISC-V relocations.  */
36
+  BFD_RELOC_RISCV_HI20,
37
+  BFD_RELOC_RISCV_PCREL_HI20,
38
+  BFD_RELOC_RISCV_PCREL_LO12_I,
39
+  BFD_RELOC_RISCV_PCREL_LO12_S,
40
+  BFD_RELOC_RISCV_LO12_I,
41
+  BFD_RELOC_RISCV_LO12_S,
42
+  BFD_RELOC_RISCV_GPREL12_I,
43
+  BFD_RELOC_RISCV_GPREL12_S,
44
+  BFD_RELOC_RISCV_TPREL_HI20,
45
+  BFD_RELOC_RISCV_TPREL_LO12_I,
46
+  BFD_RELOC_RISCV_TPREL_LO12_S,
47
+  BFD_RELOC_RISCV_TPREL_ADD,
48
+  BFD_RELOC_RISCV_CALL,
49
+  BFD_RELOC_RISCV_CALL_PLT,
50
+  BFD_RELOC_RISCV_ADD8,
51
+  BFD_RELOC_RISCV_ADD16,
52
+  BFD_RELOC_RISCV_ADD32,
53
+  BFD_RELOC_RISCV_ADD64,
54
+  BFD_RELOC_RISCV_SUB8,
55
+  BFD_RELOC_RISCV_SUB16,
56
+  BFD_RELOC_RISCV_SUB32,
57
+  BFD_RELOC_RISCV_SUB64,
58
+  BFD_RELOC_RISCV_GOT_HI20,
59
+  BFD_RELOC_RISCV_TLS_GOT_HI20,
60
+  BFD_RELOC_RISCV_TLS_GD_HI20,
61
+  BFD_RELOC_RISCV_JMP,
62
+  BFD_RELOC_RISCV_TLS_DTPMOD32,
63
+  BFD_RELOC_RISCV_TLS_DTPREL32,
64
+  BFD_RELOC_RISCV_TLS_DTPMOD64,
65
+  BFD_RELOC_RISCV_TLS_DTPREL64,
66
+  BFD_RELOC_RISCV_TLS_TPREL32,
67
+  BFD_RELOC_RISCV_TLS_TPREL64,
68
+  BFD_RELOC_RISCV_ALIGN,
69
+  BFD_RELOC_RISCV_RVC_BRANCH,
70
+  BFD_RELOC_RISCV_RVC_JUMP,
71
+  BFD_RELOC_RISCV_RVC_LUI,
72
+  BFD_RELOC_RISCV_GPREL_I,
73
+  BFD_RELOC_RISCV_GPREL_S,
74
+
75
 /* This is used to tell the dynamic linker to copy the value out of
76
 the dynamic object into the runtime process image.  */
77
   BFD_RELOC_MICROBLAZE_COPY,
78
--- original-binutils/bfd/config.bfd
79
+++ binutils/bfd/config.bfd
80
@@ -119,6 +119,7 @@ or1k*|or1knd*)       targ_archs=bfd_or1k_arch
81
 pdp11*)                 targ_archs=bfd_pdp11_arch ;;
82
 pj*)            targ_archs="bfd_pj_arch bfd_i386_arch";;
83
 powerpc*)       targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
84
+riscv*)                 targ_archs=bfd_riscv_arch ;;
85
 rs6000)                 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
86
 s390*)          targ_archs=bfd_s390_arch ;;
87
 sh*)            targ_archs=bfd_sh_arch ;;
88
@@ -1319,6 +1320,19 @@ case "${targ}" in
89
     targ_defvec=rl78_elf32_vec
90
     ;;
91
 
92
+  riscv32-*-*)
93
+    targ_defvec=riscv_elf32_vec
94
+    targ_selvecs="riscv_elf32_vec"
95
+    ;;
96
+
97
+#ifdef BFD64
98
+  riscv64-*-*)
99
+    targ_defvec=riscv_elf64_vec
100
+    targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
101
+    want64=true
102
+    ;;
103
+#endif
104
+
105
   rx-*-elf)
106
     targ_defvec=rx_elf32_le_vec
107
     targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec"
108
--- original-binutils/bfd/configure
109
+++ binutils/bfd/configure
110
@@ -15506,6 +15506,8 @@ do
111
     powerpc_pei_vec)            tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
112
     powerpc_pei_le_vec)                 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
113
     powerpc_xcoff_vec)          tb="$tb coff-rs6000.lo xcofflink.lo" ;;
114
+    riscv_elf32_vec)            tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;;
115
+    riscv_elf64_vec)            tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf32.lo $elf"; target_size=64 ;;
116
     rl78_elf32_vec)             tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
117
     rs6000_xcoff64_vec)                 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
118
     rs6000_xcoff64_aix_vec)     tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
119
--- original-binutils/bfd/configure.ac
120
+++ binutils/bfd/configure.ac
121
@@ -907,6 +907,8 @@ do
122
     powerpc_pei_vec)            tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
123
     powerpc_pei_le_vec)                 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
124
     powerpc_xcoff_vec)          tb="$tb coff-rs6000.lo xcofflink.lo" ;;
125
+    riscv_elf32_vec)            tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;;
126
+    riscv_elf64_vec)            tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf32.lo $elf"; target_size=64 ;;
127
     rl78_elf32_vec)             tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
128
     rs6000_xcoff64_vec)                 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
129
     rs6000_xcoff64_aix_vec)     tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
130
--- original-binutils/bfd/elf-bfd.h
131
+++ binutils/bfd/elf-bfd.h
132
@@ -433,6 +433,7 @@ enum elf_target_id
133
   XGATE_ELF_DATA,
134
   TILEGX_ELF_DATA,
135
   TILEPRO_ELF_DATA,
136
+  RISCV_ELF_DATA,
137
   GENERIC_ELF_DATA
138
 };
139
 
140
--- original-binutils/bfd/Makefile.am
141
+++ binutils/bfd/Makefile.am
142
@@ -931,6 +931,18 @@ elf64-ia64.c : elfnn-ia64.c
143
        sed -e s/NN/64/g < $(srcdir)/elfnn-ia64.c > elf64-ia64.new
144
        mv -f elf64-ia64.new elf64-ia64.c
145
 
146
+elf32-riscv.c : elfnn-riscv.c
147
+       rm -f elf32-riscv.c
148
+       echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf32-riscv.new
149
+       sed -e s/NN/32/g < $(srcdir)/elfnn-riscv.c >> elf32-riscv.new
150
+       mv -f elf32-riscv.new elf32-riscv.c
151
+
152
+elf64-riscv.c : elfnn-riscv.c
153
+       rm -f elf64-riscv.c
154
+       echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf64-riscv.new
155
+       sed -e s/NN/64/g < $(srcdir)/elfnn-riscv.c >> elf64-riscv.new
156
+       mv -f elf64-riscv.new elf64-riscv.c
157
+
158
 peigen.c : peXXigen.c
159
        rm -f peigen.c
160
        sed -e s/XX/pe/g < $(srcdir)/peXXigen.c > peigen.new
161
--- original-binutils/bfd/Makefile.in
162
+++ binutils/bfd/Makefile.in
163
@@ -2009,6 +2009,18 @@ elf64-ia64.c : elfnn-ia64.c
164
        sed -e s/NN/64/g < $(srcdir)/elfnn-ia64.c > elf64-ia64.new
165
        mv -f elf64-ia64.new elf64-ia64.c
166
 
167
+elf32-riscv.c : elfnn-riscv.c
168
+       rm -f elf32-riscv.c
169
+       echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf32-riscv.new
170
+       sed -e s/NN/32/g < $(srcdir)/elfnn-riscv.c >> elf32-riscv.new
171
+       mv -f elf32-riscv.new elf32-riscv.c
172
+
173
+elf64-riscv.c : elfnn-riscv.c
174
+       rm -f elf64-riscv.c
175
+       echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf64-riscv.new
176
+       sed -e s/NN/64/g < $(srcdir)/elfnn-riscv.c >> elf64-riscv.new
177
+       mv -f elf64-riscv.new elf64-riscv.c
178
+
179
 peigen.c : peXXigen.c
180
        rm -f peigen.c
181
        sed -e s/XX/pe/g < $(srcdir)/peXXigen.c > peigen.new
182
--- original-binutils/bfd/targets.c
183
+++ binutils/bfd/targets.c
184
@@ -784,6 +784,8 @@ extern const bfd_target powerpc_pe_le_ve
185
 extern const bfd_target powerpc_pei_vec;
186
 extern const bfd_target powerpc_pei_le_vec;
187
 extern const bfd_target powerpc_xcoff_vec;
188
+extern const bfd_target riscv_elf32_vec;
189
+extern const bfd_target riscv_elf64_vec;
190
 extern const bfd_target rl78_elf32_vec;
191
 extern const bfd_target rs6000_xcoff64_vec;
192
 extern const bfd_target rs6000_xcoff64_aix_vec;
193
--- original-binutils/binutils/readelf.c
194
+++ binutils/binutils/readelf.c
195
@@ -125,6 +125,7 @@
196
 #include "elf/metag.h"
197
 #include "elf/microblaze.h"
198
 #include "elf/mips.h"
199
+#include "elf/riscv.h"
200
 #include "elf/mmix.h"
201
 #include "elf/mn10200.h"
202
 #include "elf/mn10300.h"
203
@@ -720,6 +721,7 @@ guess_is_rela (unsigned int e_machine)
204
     case EM_OR1K:
205
     case EM_PPC64:
206
     case EM_PPC:
207
+    case EM_RISCV:
208
     case EM_RL78:
209
     case EM_RX:
210
     case EM_S390:
211
@@ -1252,6 +1254,10 @@ dump_relocations (FILE * file,
212
          rtype = elf_mips_reloc_type (type);
213
          break;
214
 
215
+       case EM_RISCV:
216
+         rtype = elf_riscv_reloc_type (type);
217
+         break;
218
+
219
        case EM_ALPHA:
220
          rtype = elf_alpha_reloc_type (type);
221
          break;
222
@@ -2164,6 +2170,7 @@ get_machine_name (unsigned e_machine)
223
     case EM_CR16:
224
     case EM_MICROBLAZE:
225
     case EM_MICROBLAZE_OLD:    return "Xilinx MicroBlaze";
226
+    case EM_RISCV:             return "RISC-V";
227
     case EM_RL78:              return "Renesas RL78";
228
     case EM_RX:                        return "Renesas RX";
229
     case EM_METAG:             return "Imagination Technologies Meta processor architecture";
230
@@ -2951,6 +2958,13 @@ get_machine_flags (unsigned e_flags, uns
231
          decode_NDS32_machine_flags (e_flags, buf, sizeof buf);
232
          break;
233
 
234
+       case EM_RISCV:
235
+         if (e_flags & EF_RISCV_RVC)
236
+           strcat (buf, ", RVC");
237
+         if (e_flags & EF_RISCV_SOFT_FLOAT)
238
+           strcat (buf, ", soft-float ABI");
239
+         break;
240
+
241
        case EM_SH:
242
          switch ((e_flags & EF_SH_MACH_MASK))
243
            {
244
@@ -10789,6 +10803,8 @@ is_32bit_abs_reloc (unsigned int reloc_t
245
       return reloc_type == 1; /* R_PPC64_ADDR32.  */
246
     case EM_PPC:
247
       return reloc_type == 1; /* R_PPC_ADDR32.  */
248
+    case EM_RISCV:
249
+      return reloc_type == 1; /* R_RISCV_32.  */
250
     case EM_RL78:
251
       return reloc_type == 1; /* R_RL78_DIR32.  */
252
     case EM_RX:
253
@@ -10924,6 +10940,8 @@ is_64bit_abs_reloc (unsigned int reloc_t
254
       return reloc_type == 80; /* R_PARISC_DIR64.  */
255
     case EM_PPC64:
256
       return reloc_type == 38; /* R_PPC64_ADDR64.  */
257
+    case EM_RISCV:
258
+      return reloc_type == 2; /* R_RISCV_64.  */
259
     case EM_SPARC32PLUS:
260
     case EM_SPARCV9:
261
     case EM_SPARC:
262
@@ -11072,6 +11090,7 @@ is_none_reloc (unsigned int reloc_type)
263
     case EM_ADAPTEVA_EPIPHANY:
264
     case EM_PPC:     /* R_PPC_NONE.  */
265
     case EM_PPC64:   /* R_PPC64_NONE.  */
266
+    case EM_RISCV:   /* R_RISCV_NONE.  */
267
     case EM_ARM:     /* R_ARM_NONE.  */
268
     case EM_IA_64:   /* R_IA64_NONE.  */
269
     case EM_SH:      /* R_SH_NONE.  */
270
--- original-binutils/config.sub
271
+++ binutils/config.sub
272
@@ -335,6 +335,9 @@ case $basic_machine in
273
        ms1)
274
                basic_machine=mt-unknown
275
                ;;
276
+       riscv)
277
+               basic_machine=riscv-ucb
278
+               ;;
279
 
280
        strongarm | thumb | xscale)
281
                basic_machine=arm-unknown
282
--- original-binutils/gas/configure.ac
283
+++ binutils/gas/configure.ac
284
@@ -453,7 +453,7 @@ changequote([,])dnl
285
        AC_MSG_RESULT($enable_audio_ext)
286
        ;;
287
 
288
-      i386 | s390 | sparc)
289
+      i386 | riscv | s390 | sparc)
290
        if test $this_target = $target ; then
291
          AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
292
        fi
293
--- original-binutils/gas/configure
294
+++ binutils/gas/configure
295
@@ -12400,7 +12400,7 @@ $as_echo "#define NDS32_DEFAULT_AUDIO_EX
296
 $as_echo "$enable_audio_ext" >&6; }
297
        ;;
298
 
299
-      i386 | s390 | sparc)
300
+      i386 | riscv | s390 | sparc)
301
        if test $this_target = $target ; then
302
 
303
 cat >>confdefs.h <<_ACEOF
304
--- original-binutils/gas/configure.tgt
305
+++ binutils/gas/configure.tgt
306
@@ -86,6 +86,8 @@ case ${cpu} in
307
   pj*)                 cpu_type=pj endian=big ;;
308
   powerpc*le*)         cpu_type=ppc endian=little ;;
309
   powerpc*)            cpu_type=ppc endian=big ;;
310
+  riscv32*)            cpu_type=riscv endian=little arch=riscv32 ;;
311
+  riscv64*)            cpu_type=riscv endian=little arch=riscv64 ;;
312
   rs6000*)             cpu_type=ppc ;;
313
   rl78*)               cpu_type=rl78 ;;
314
   rx)                  cpu_type=rx ;;
315
@@ -384,6 +386,8 @@ case ${generic_target} in
316
   ppc-*-kaos*)                         fmt=elf ;;
317
   ppc-*-lynxos*)                       fmt=elf em=lynx ;;
318
 
319
+  riscv*-*-*)                  fmt=elf endian=little em=linux ;;
320
+
321
   s390-*-linux-*)                      fmt=elf em=linux ;;
322
   s390-*-tpf*)                         fmt=elf ;;
323
 
324
@@ -478,7 +482,7 @@ case ${generic_target} in
325
 esac
326
 
327
 case ${cpu_type} in
328
-  aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | sparc | z80 | z8k)
329
+  aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | riscv | sparc | z80 | z8k)
330
     bfd_gas=yes
331
     ;;
332
 esac
333
--- original-binutils/gas/Makefile.am
334
+++ binutils/gas/Makefile.am
335
@@ -171,6 +171,7 @@ TARGET_CPU_CFILES = \
336
        config/tc-pdp11.c \
337
        config/tc-pj.c \
338
        config/tc-ppc.c \
339
+       config/tc-riscv.c \
340
        config/tc-rl78.c \
341
        config/tc-rx.c \
342
        config/tc-s390.c \
343
@@ -242,6 +243,7 @@ TARGET_CPU_HFILES = \
344
        config/tc-pdp11.h \
345
        config/tc-pj.h \
346
        config/tc-ppc.h \
347
+       config/tc-riscv.h \
348
        config/tc-rl78.h \
349
        config/tc-rx.h \
350
        config/tc-s390.h \
351
--- original-binutils/gas/Makefile.in
352
+++ binutils/gas/Makefile.in
353
@@ -440,6 +440,7 @@ TARGET_CPU_CFILES = \
354
        config/tc-pdp11.c \
355
        config/tc-pj.c \
356
        config/tc-ppc.c \
357
+       config/tc-riscv.c \
358
        config/tc-rl78.c \
359
        config/tc-rx.c \
360
        config/tc-s390.c \
361
@@ -511,6 +512,7 @@ TARGET_CPU_HFILES = \
362
        config/tc-pdp11.h \
363
        config/tc-pj.h \
364
        config/tc-ppc.h \
365
+       config/tc-riscv.h \
366
        config/tc-rl78.h \
367
        config/tc-rx.h \
368
        config/tc-s390.h \
369
@@ -866,6 +868,7 @@ distclean-compile:
370
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-pdp11.Po@am__quote@
371
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-pj.Po@am__quote@
372
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-ppc.Po@am__quote@
373
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-riscv.Po@am__quote@
374
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-rl78.Po@am__quote@
375
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-rx.Po@am__quote@
376
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-s390.Po@am__quote@
377
@@ -1571,6 +1574,20 @@ tc-ppc.obj: config/tc-ppc.c
378
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
379
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-ppc.obj `if test -f 'config/tc-ppc.c'; then $(CYGPATH_W) 'config/tc-ppc.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-ppc.c'; fi`
380
 
381
+tc-riscv.o: config/tc-riscv.c
382
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-riscv.o -MD -MP -MF $(DEPDIR)/tc-riscv.Tpo -c -o tc-riscv.o `test -f 'config/tc-riscv.c' || echo '$(srcdir)/'`config/tc-riscv.c
383
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-riscv.Tpo $(DEPDIR)/tc-riscv.Po
384
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-riscv.c' object='tc-riscv.o' libtool=no @AMDEPBACKSLASH@
385
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
386
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-riscv.o `test -f 'config/tc-riscv.c' || echo '$(srcdir)/'`config/tc-riscv.c
387
+
388
+tc-riscv.obj: config/tc-riscv.c
389
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-riscv.obj -MD -MP -MF $(DEPDIR)/tc-riscv.Tpo -c -o tc-riscv.obj `if test -f 'config/tc-riscv.c'; then $(CYGPATH_W) 'config/tc-riscv.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-riscv.c'; fi`
390
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-riscv.Tpo $(DEPDIR)/tc-riscv.Po
391
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-riscv.c' object='tc-riscv.obj' libtool=no @AMDEPBACKSLASH@
392
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
393
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-riscv.obj `if test -f 'config/tc-riscv.c'; then $(CYGPATH_W) 'config/tc-riscv.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-riscv.c'; fi`
394
+
395
 tc-rl78.o: config/tc-rl78.c
396
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-rl78.o -MD -MP -MF $(DEPDIR)/tc-rl78.Tpo -c -o tc-rl78.o `test -f 'config/tc-rl78.c' || echo '$(srcdir)/'`config/tc-rl78.c
397
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-rl78.Tpo $(DEPDIR)/tc-rl78.Po
398
--- original-binutils/include/dis-asm.h
399
+++ binutils/include/dis-asm.h
400
@@ -254,6 +254,7 @@ extern int print_insn_little_arm    (bfd_vm
401
 extern int print_insn_little_mips      (bfd_vma, disassemble_info *);
402
 extern int print_insn_little_nios2     (bfd_vma, disassemble_info *);
403
 extern int print_insn_little_powerpc   (bfd_vma, disassemble_info *);
404
+extern int print_insn_riscv            (bfd_vma, disassemble_info *);
405
 extern int print_insn_little_score      (bfd_vma, disassemble_info *);
406
 extern int print_insn_lm32             (bfd_vma, disassemble_info *);
407
 extern int print_insn_m32c             (bfd_vma, disassemble_info *);
408
@@ -313,6 +314,7 @@ extern void print_aarch64_disassembler_o
409
 extern void print_i386_disassembler_options (FILE *);
410
 extern void print_mips_disassembler_options (FILE *);
411
 extern void print_ppc_disassembler_options (FILE *);
412
+extern void print_riscv_disassembler_options (FILE *);
413
 extern void print_arm_disassembler_options (FILE *);
414
 extern void parse_arm_disassembler_option (char *);
415
 extern void print_s390_disassembler_options (FILE *);
416
--- original-binutils/include/elf/common.h
417
+++ binutils/include/elf/common.h
418
@@ -301,6 +301,7 @@
419
 #define EM_INTEL207    207     /* Reserved by Intel */
420
 #define EM_INTEL208    208     /* Reserved by Intel */
421
 #define EM_INTEL209    209     /* Reserved by Intel */
422
+#define EM_RISCV       243     /* RISC-V */
423
 
424
 /* If it is necessary to assign new unofficial EM_* values, please pick large
425
    random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
426
--- original-binutils/ld/configure.tgt
427
+++ binutils/ld/configure.tgt
428
@@ -604,6 +604,12 @@ powerpc-*-aix*)            targ_emul=aixppc ;;
429
 powerpc-*-beos*)       targ_emul=aixppc ;;
430
 powerpc-*-windiss*)    targ_emul=elf32ppcwindiss ;;
431
 powerpc-*-lynxos*)     targ_emul=ppclynx ;;
432
+riscv32*-*-*)          targ_emul=elf32lriscv
433
+                       targ_extra_emuls="elf64lriscv"
434
+                       targ_extra_libpath=$targ_extra_emuls ;;
435
+riscv64*-*-*)          targ_emul=elf64lriscv
436
+                       targ_extra_emuls="elf32lriscv"
437
+                       targ_extra_libpath=$targ_extra_emuls ;;
438
 rs6000-*-aix[5-9]*)    targ_emul=aix5rs6 ;;
439
 rs6000-*-aix*)         targ_emul=aixrs6
440
                        ;;
441
--- original-binutils/ld/Makefile.am
442
+++ binutils/ld/Makefile.am
443
@@ -258,6 +258,7 @@ ALL_EMULATION_SOURCES = \
444
        eelf32ppcsim.c \
445
        eelf32ppcvxworks.c \
446
        eelf32ppcwindiss.c \
447
+       eelf32lriscv.c \
448
        eelf32rl78.c \
449
        eelf32rx.c \
450
        eelf32tilegx.c \
451
@@ -464,6 +465,7 @@ ALL_64_EMULATION_SOURCES = \
452
        eelf64btsmip_fbsd.c \
453
        eelf64hppa.c \
454
        eelf64lppc.c \
455
+       eelf64lriscv.c \
456
        eelf64ltsmip.c \
457
        eelf64ltsmip_fbsd.c \
458
        eelf64mmix.c \
459
@@ -1104,6 +1106,11 @@ eelf32lppcsim.c: $(srcdir)/emulparams/el
460
   ldemul-list.h \
461
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
462
 
463
+eelf32lriscv.c: $(srcdir)/emulparams/elf32lriscv.sh \
464
+  $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
465
+  $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
466
+  ${GEN_DEPENDS}
467
+
468
 eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
469
   $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
470
   $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
471
@@ -1861,6 +1868,12 @@ eelf64lppc.c: $(srcdir)/emulparams/elf64
472
   ldemul-list.h \
473
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
474
 
475
+eelf64lriscv.c: $(srcdir)/emulparams/elf64lriscv.sh \
476
+  $(srcdir)/emulparams/elf64lriscv-defs.sh \
477
+  $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
478
+  $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
479
+  ${GEN_DEPENDS}
480
+
481
 eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
482
   $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
483
   $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
484
--- original-binutils/ld/Makefile.in
485
+++ binutils/ld/Makefile.in
486
@@ -546,6 +546,7 @@ ALL_EMULATION_SOURCES = \
487
        eelf32lppclinux.c \
488
        eelf32lppcnto.c \
489
        eelf32lppcsim.c \
490
+       eelf32lriscv.c \
491
        eelf32m32c.c \
492
        eelf32mb_linux.c \
493
        eelf32mbel_linux.c \
494
@@ -771,6 +772,7 @@ ALL_64_EMULATION_SOURCES = \
495
        eelf64btsmip_fbsd.c \
496
        eelf64hppa.c \
497
        eelf64lppc.c \
498
+       eelf64lriscv.c \
499
        eelf64ltsmip.c \
500
        eelf64ltsmip_fbsd.c \
501
        eelf64mmix.c \
502
@@ -1157,6 +1159,7 @@ distclean-compile:
503
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppclinux.Po@am__quote@
504
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcnto.Po@am__quote@
505
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcsim.Po@am__quote@
506
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv.Po@am__quote@
507
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lr5900.Po@am__quote@
508
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lr5900n32.Po@am__quote@
509
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lsmip.Po@am__quote@
510
@@ -1211,6 +1214,7 @@ distclean-compile:
511
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Po@am__quote@
512
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Po@am__quote@
513
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc.Po@am__quote@
514
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Po@am__quote@
515
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip.Po@am__quote@
516
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Po@am__quote@
517
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@
518
@@ -2545,6 +2549,11 @@ eelf32lppcsim.c: $(srcdir)/emulparams/el
519
   ldemul-list.h \
520
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
521
 
522
+eelf32lriscv.c: $(srcdir)/emulparams/elf32lriscv.sh \
523
+  $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
524
+  $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
525
+  ${GEN_DEPENDS}
526
+
527
 eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
528
   $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
529
   $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
530
@@ -3302,6 +3311,12 @@ eelf64lppc.c: $(srcdir)/emulparams/elf64
531
   ldemul-list.h \
532
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
533
 
534
+eelf64lriscv.c: $(srcdir)/emulparams/elf64lriscv.sh \
535
+  $(srcdir)/emulparams/elf64lriscv-defs.sh \
536
+  $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
537
+  $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
538
+  ${GEN_DEPENDS}
539
+
540
 eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
541
   $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
542
   $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
543
--- original-binutils/opcodes/configure
544
+++ binutils/opcodes/configure
545
@@ -12590,6 +12590,7 @@ if test x${all_targets} = xfalse ; then
546
        bfd_powerpc_arch)       ta="$ta ppc-dis.lo ppc-opc.lo" ;;
547
        bfd_powerpc_64_arch)    ta="$ta ppc-dis.lo ppc-opc.lo" ;;
548
        bfd_pyramid_arch)       ;;
549
+       bfd_riscv_arch)         ta="$ta riscv-dis.lo riscv-opc.lo" ;;
550
        bfd_romp_arch)          ;;
551
        bfd_rs6000_arch)        ta="$ta ppc-dis.lo ppc-opc.lo" ;;
552
        bfd_rl78_arch)          ta="$ta rl78-dis.lo rl78-decode.lo";;
553
--- original-binutils/opcodes/disassemble.c
554
+++ binutils/opcodes/disassemble.c
555
@@ -373,6 +373,11 @@ disassembler (abfd)
556
        disassemble = print_insn_little_powerpc;
557
       break;
558
 #endif
559
+#ifdef ARCH_riscv
560
+    case bfd_arch_riscv:
561
+      disassemble = print_insn_riscv;
562
+      break;
563
+#endif
564
 #ifdef ARCH_rs6000
565
     case bfd_arch_rs6000:
566
       if (bfd_get_mach (abfd) == bfd_mach_ppc_620)
567
@@ -545,6 +550,9 @@ disassembler_usage (stream)
568
 #ifdef ARCH_powerpc
569
   print_ppc_disassembler_options (stream);
570
 #endif
571
+#ifdef ARCH_riscv
572
+  print_riscv_disassembler_options (stream);
573
+#endif
574
 #ifdef ARCH_i386
575
   print_i386_disassembler_options (stream);
576
 #endif
577
--- original-binutils/bfd/Makefile.in   2014-10-14 00:32:02.000000000 -0700
578
+++ binutils/bfd/Makefile.in    2015-03-31 06:53:23.253426230 -0700
579
@@ -442,6 +442,7 @@
580
        cpu-pj.lo \
581
        cpu-plugin.lo \
582
        cpu-powerpc.lo \
583
+       cpu-riscv.lo \
584
        cpu-rs6000.lo \
585
        cpu-rl78.lo \
586
        cpu-rx.lo \
587
@@ -526,6 +527,7 @@
588
        cpu-pj.c \
589
        cpu-plugin.c \
590
        cpu-powerpc.c \
591
+       cpu-riscv.c \
592
        cpu-rs6000.c \
593
        cpu-rl78.c \
594
        cpu-rx.c \

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.