ARM tc-arm.c is not compiled with old GCC

2008-03-27 Thread Ineiev
When binutils-2.18 are configured with option
--target=arm-unknown-elf,
gcc-2.95.3 doesn't compile gas/config/tc-arm.c.

The first complain is in do_neon_cvt():
two variables are defined in an improper place.
I think they would better go to the begin of their block.

The second is in do_neon_ext(): the compiler tells of comparing
of signed and unsigned integers; it treats this as an error.
I suggest an explicit conversion to unsigned.

Best regards and a patch against the current CVS are attached.


  ___ 
Yahoo! For Good helps you make a difference  

http://uk.promotions.yahoo.com/forgood/? .tc-arm.c.swp
Index: tc-arm.c
===
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.352
diff -U4 -r1.352 tc-arm.c
--- tc-arm.c	9 Mar 2008 15:20:31 -	1.352
+++ tc-arm.c	27 Mar 2008 06:11:34 -
@@ -12717,17 +12717,19 @@
 {
 case NS_DDI:
 case NS_QQI:
   {
+unsigned  immbits;
+unsigned enctab[] = { 0x100, 0x1000100, 0x0, 0x100 };
+
 if (vfp_or_neon_is_neon (NEON_CHECK_CC | NEON_CHECK_ARCH) == FAIL)
   return;
 
 /* Fixed-point conversion with #0 immediate is encoded as an
integer conversion.  */
 if (inst.operands[2].present && inst.operands[2].imm == 0)
   goto int_encode;
-unsigned immbits = 32 - inst.operands[2].imm;
-unsigned enctab[] = { 0x100, 0x1000100, 0x0, 0x100 };
+immbits = 32 - inst.operands[2].imm;
 inst.instruction = NEON_ENC_IMMED (inst.instruction);
 if (flavour != -1)
   inst.instruction |= enctab[flavour];
 inst.instruction |= LOW4 (inst.operands[0].reg) << 12;
@@ -12960,9 +12962,10 @@
   enum neon_shape rs = neon_select_shape (NS_DDDI, NS_QQQI, NS_NULL);
   struct neon_type_el et = neon_check_type (3, rs,
 N_EQK, N_EQK, N_8 | N_16 | N_32 | N_64 | N_KEY);
   unsigned imm = (inst.operands[3].imm * et.size) / 8;
-  constraint (imm >= (neon_quad (rs) ? 16 : 8), _("shift out of range"));
+  constraint (imm >= (unsigned) (neon_quad (rs) ? 16 : 8), 
+  _("shift out of range"));
   inst.instruction |= LOW4 (inst.operands[0].reg) << 12;
   inst.instruction |= HI1 (inst.operands[0].reg) << 22;
   inst.instruction |= LOW4 (inst.operands[1].reg) << 16;
   inst.instruction |= HI1 (inst.operands[1].reg) << 7;
___
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils


Re: ARM tc-arm.c is not compiled with old GCC

2008-03-27 Thread Nick Clifton

Hi Ineiev,


The first complain is in do_neon_cvt():
two variables are defined in an improper place.
I think they would better go to the begin of their block.

The second is in do_neon_ext(): the compiler tells of comparing
of signed and unsigned integers; it treats this as an error.
I suggest an explicit conversion to unsigned.


Thanks for reporting these problems.  I have checked your patch in along 
with this changelog entry.


Cheers
  Nick

gas/ChangeLog
2008-03-27  Ineiev  <[EMAIL PROTECTED]>

* config/tc-arm.c (do_neon_cvt): Move variable declarations to
start of block.
(do_neon_ext): Fix sign of comparison.


___
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/5990] New: running out of file descriptors when linking >1024 files

2008-03-27 Thread me at cgf dot cx
When trying to link a binary which takes a large number of files, I get many
errors like this:

ld-new: cannot open ../driver/ic/via/sinai/mlxhh/obj/1/mcgm.o: Too many open 
files

This is coming from Read_symbols::do_read_symbols.

I can obviously work around the problem by increasing the number of allowed open
file desriptors.

-- 
   Summary: running out of file descriptors when linking >1024 files
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
AssignedTo: ian at airs dot com
ReportedBy: me at cgf dot cx
CC: bug-binutils at gnu dot org


http://sourceware.org/bugzilla/show_bug.cgi?id=5990

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


___
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils