This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hello all,
I ported Binutils to a 32 bit chip named Score and want to add it to GNU
official.
I've done the whole process of FSF ASSIGNMENT and already placed the patch
on Binutils maillist.
But nobody reply till now. GCC patch for Score has been approved by GCC
SC.
Anybody can tell me why or what should i do? You are appreciate.
__________________
Hello Maintainers,
Here is a patch to add target Score to GNU Binutils.
I volunteer to become the Score port maintainer.
Please handle it.
ChangeLog:
1. GAS part
1.1 BINUTILS_DIR/config.sub
score|score-*)
basic_machine=score-linux
os=-elf
;;
1.2 add files to BINUTILS_DIR/gas/config
tc-score.c
tc-score.h
score-datadep.h
score-inst.h
1.3 gas/Makefile.in
1.3.1 CPU_TYPES = score \
1.3.2 TARGET_CPU_CFILES = config/tc-score.c \
1.3.3 TARGET_CPU_HFILES = config/tc-score.h \
1.3.4
DEPTC_score_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-score.h
\
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
dwarf2dbg.h dw2gencfi.h $(INCDIR)/elf/dwarf2.h
$(srcdir)/config/score-inst.h $(srcdir)/config/score-datadep.h
1.4 gas/configure.tgt
1.4.1
score*) cpu_type=score endian=big ;;
score*l) cpu_type=score endian=little ;;
1.4.2 score-*-elf) fmt=elf bfd_gas=yes ;;
2. BFD part
2.1
2.1.1 add files to BINUTILS_DIR/bfd
elf32-score.c
cpu-score.c
2.1.2 add files to BINUTILS_DIR/include/elf
score.h
2.2 bfd/configure
bfd_elf32_bigscore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;;
bfd_elf32_littlescore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;;
2.3 bfd/Makefile.in
2.3.1 ALL_MACHINES = cpu-score.lo \
2.3.2 ALL_MACHINES_CFILES = cpu-score.c \
2.3.3 BFD32_BACKENDS = elf32-score.lo \
2.3.4 BFD32_BACKENDS_CFILES = elf32-score.c \
2.3.5 SOURCE_HFILES = elf32-score.h
2.3.6 cpu-score.lo: cpu-score.c $(INCDIR)/filenames.h
2.3.7
elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/score.h
$(INCDIR)/elf/reloc-macros.h \
elf32-score.h elf32-target.h
2.4 bfd/config.bfd
2.4.1 score*) targ_archs=bfd_score_arch ;;
2.4.2 score*-*-elf*)
targ_defvec=bfd_elf32_bigscore_vec
targ_selvecs=bfd_elf32_littlescore_vec
;;
2.5 bfd/targets.c
2.5.1 extern const bfd_target bfd_elf32_bigscore_vec;
2.5.2 extern const bfd_target bfd_elf32_littlescore_vec;
2.5.3 &bfd_elf32_bigscore_vec,
2.5.4 &bfd_elf32_littlescore_vec,
2.6 bfd/archures.c
2.6.1 . bfd_arch_score, {* Sunplus score *}
2.6.2 extern const bfd_arch_info_type bfd_score_arch;
2.6.3 static const bfd_arch_info_type * const bfd_archures_list[] =
&bfd_score_arch,
2.7 bfd/bfd-in2.h
/* Score relocations. */
/* low 16 bit for ldst. */
BFD_RELOC_SCORE_DUMMY1,
BFD_RELOC_GPREL15,
BFD_RELOC_SCORE_DUMMY2,
/* This is a 24-bit reloc with the right 1 bits assumed to be 0. */
BFD_RELOC_SCORE_JMP,
/* This is a 19-bit reloc with the right 1 bits assumed to be 0. */
BFD_RELOC_SCORE_BRANCH,
/* This is a 11-bit reloc with the right 1 bits assumed to be 0. */
BFD_RELOC_SCORE16_JMP,
/* This is a 8-bit reloc with the right 1 bits assumed to be 0. */
BFD_RELOC_SCORE16_BRANCH,
2.8 BINUTILS_DIR/include/elf/common.h
#define EM_SCORE 135 /* Sunplus Score */
3. LD part
3.1 add files to BINUTILS_DIR/ld/emultempl
scoreelf.em
add files to BINUTILS_DIR/ld/emulparams
scoreelf.sh
3.2 ld/configure.tgt
score-*-elf) targ_emul=scoreelf ;;
3.3 ld/Makefile.in
3.3.1 ALL_EMULATIONS = escoreelf.o \
3.3.2
escoreelf.c: $(srcdir)/emulparams/scoreelf.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/scoreelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} scoreelf "$(tdir_scoreelf)"
4. Opcodes part
4.1 add files to BINUTILS_DIR/opcodes
score-dis.c score-opc.h
4.2 opcodes/configure
bfd_score_arch) ta="$ta score-dis.lo" ;;
4.3 opcodes/Makefile.in
4.3.1 HFILES = score-opc.h \
4.3.2 CFILES = score-dis.c \
4.3.3 ALL_MACHINES = score-dis.lo \
4.3.4
score-dis.lo: score-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h score-opc.h \
$(INCDIR)/bfdlink.h opintl.h $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h
\
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/score.h
\
$(INCDIR)/elf/reloc-macros.h
4.4 opcodes/disassemble.c
4.4.1 #define ARCH_score
4.4.2
#ifdef ARCH_score
case bfd_arch_score:
if (bfd_big_endian (abfd))
disassemble = print_insn_big_score;
else
disassemble = print_insn_little_score;
break;
#endif
4.5 include/dis-asm.h
extern int print_insn_big_score (bfd_vma, disassemble_info *);
extern int print_insn_little_score (bfd_vma, disassemble_info *);
5. Binutils part
5.1 binutils/Makefile.in
readelf.o : $(INCDIR)/elf/score.h
5.2 binutils/readelf.c
add score specific code
6. Testsuite part
6.1 gas/testsuite/gas/elf/elf.exp
if {[istarget "score-*-*"]} then {
set target_machine -score
}
add file section2.e-score to gas/testsuite/gas/elf/
6.2 ld/testsuite/ld-srec/srec.exp
setup_xfail "score-*-*"
6.3 ld/testsuite/ld-elf/merge.d
"score-*-*"
6.4 ld/testsuite/ld-elfcomm/elfcomm.exp
if { [istarget score-*-*] } {
untested $test1w1
untested $test1w2
untested $test1c1
untested $test1c2
return
}
Best regards
Ligang
Attachment:
Score_Binutils_patch.tar.bz2
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |