New Patch: add new score3 target and other changes

brain.lin@sunplusct.com brain.lin@sunplusct.com
Tue Feb 10 08:47:00 GMT 2009


Dear Nick

Thanks for your checking new score patch.

In last score.patch, we builded binutils for score target with configure 
option --enable-64bit-bfd, 

now change it in bfd/configure.in as following

+    bfd_elf32_bigscore_vec)     tb="$tb elf32-score.lo elf32-score7.lo 
elf32.lo $elf"; want64=true;;
+    bfd_elf32_littlescore_vec)  tb="$tb elf32-score.lo elf32-score7.lo 
elf32.lo $elf"; want64=true;;

New patch can be compiled successfully with gcc-4.3.2.

Pls check attched new patch for me.

Thanks a lot

with my best regards

Brain.lin



 



Nick Clifton <nickc@redhat.com> 
2009-01-26 20:14



To
brain.lin@sunplusct.com
cc
binutils@sourceware.org
Subject
Re: Patch: add new score3 target and other changes






Hi Brain,

   Thank you for submitting the updated patch.  Unfortunately there is 
still one important issue that needs to be resolved (apart from the 
Copyright assignment).  Namely - the patch does not compile.

   On my local machine (running a 32-bit version of Fedora 10) I get 
these compile time errors:

bfd/elf32-score.c: In function 'score3_bfd_putl48':
bfd/elf32-score.c:294: error: right shift count >= width of type
bfd/elf32-score.c:295: error: right shift count >= width of type
bfd/elf32-score.c: At top level:
bfd/elf32-score.c:961: error: large integer implicitly truncated to 
unsigned type
bfd/elf32-score.c:961: error: large integer implicitly truncated to 
unsigned type
bfd/elf32-score.c:976: error: large integer implicitly truncated to 
unsigned type
bfd/elf32-score.c:976: error: large integer implicitly truncated to 
unsigned type
bfd/elf32-score.c: In function 'score_elf_final_link_relocate':
bfd/elf32-score.c:2203: error: right shift count >= width of type
bfd/elf32-score.c:2216: error: left shift count >= width of type
bfd/elf32-score.c:2230: error: right shift count >= width of type
bfd/elf32-score.c:2236: error: left shift count >= width of type
bfd/elf32-score.c: In function 's3_bfd_score_elf_relocate_section':
bfd/elf32-score.c:2525: error: right shift count >= width of type
bfd/elf32-score.c:2534: error: left shift count >= width of type
bfd/elf32-score.c:2545: error: right shift count >= width of type
bfd/elf32-score.c:2561: error: left shift count >= width of type


Plus...

opcodes/score-dis.c:72: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:73: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:73: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:270: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:288: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:381: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:381: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:382: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:382: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:406: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c:438: error: large integer implicitly truncated to 
unsigned type
opcodes/score-dis.c: In function 's3_print_insn':
opcodes/score-dis.c:1118: error: left shift count >= width of type
opcodes/score-dis.c:1118: error: left shift count >= width of type
opcodes/score-dis.c:1124: error: left shift count >= width of type

and then...

gas/config/tc-score7.c: In function 's7_validate_immediate':
gas/config/tc-score7.c:1516: error: comparison between signed and unsigned
gas/config/tc-score7.c: In function 's7_do_macro_li_rdi32':
gas/config/tc-score7.c:4471: error: comparison is always true due to 
limited range of data type
gas/config/tc-score7.c:4471: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c: At top level:
gas/config/tc-score.c:1042: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1043: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1044: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1045: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1046: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1046: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1047: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1047: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1048: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1048: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1049: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c:1049: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c: In function 's3_validate_immediate':
gas/config/tc-score.c:1383: error: comparison between signed and unsigned
gas/config/tc-score.c: In function 's3_adjust_paritybit':
gas/config/tc-score.c:2566: error: large integer implicitly truncated to 
unsigned type
gas/config/tc-score.c: In function 's3_do_lw48':
gas/config/tc-score.c:3587: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c: In function 's3_do_sw48':
gas/config/tc-score.c:3630: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c: In function 's3_do_ldi48':
gas/config/tc-score.c:3663: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c:3663: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c: In function 's3_do_macro_li_rdi32':
gas/config/tc-score.c:4386: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c:4386: error: comparison is always true due to 
limited range of data type
gas/config/tc-score.c: In function 's3_number_to_chars_littleendian':
gas/config/tc-score.c:6690: error: right shift count >= width of type
gas/config/tc-score.c: In function 's3_chars_to_number_littleendian':
gas/config/tc-score.c:6714: error: left shift count >= width of type
gas/config/tc-score.c: In function 's3_apply_fix':
gas/config/tc-score.c:7256: error: left shift count >= width of type
gas/config/tc-score.c:7268: error: left shift count >= width of type


If you have not encountered these errors yourself, then maybe you are 
using an older version of gcc to compile the sources.  (The version 
shipped with Fedora 10 is 4.3.2).  Please do try to reproduce these 
problems and then fix them.

Cheers
   Nick

-------------- next part --------------
A non-text attachment was scrubbed...
Name: score.patch.bz2
Type: application/octet-stream
Size: 136683 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20090210/25b536e8/attachment.obj>


More information about the Binutils mailing list