
Hi there,
I should have looked closer at your bugreport when you first submitted it. This is indeed a bug in the assembler 'gas', so in the binutils package, that was triggered by CLN and fixed by Bruno Haible a couple of weeks ago.
On Fri, 31 May 2002, Roberto Bagnara wrote: [...]
gcc -g -O2 -I../include -I../../cln-1.1.5/include -I../../cln-1.1.5/tests -I../../cln-1.1.5/src -I../../cln-1.1.5/src/base -I../../cln-1.1.5/src/float -I../../cln-1.1.5/src/float/lfloat -I../../cln-1.1.5/src/integer -I../../cln-1.1.5/src/base/random -I../../cln-1.1.5/src/base/digitseq -I../../cln-1.1.5/src/base/digit -I../src/base -I../../cln-1.1.5/src/base -c exam.s -o exam.o exam.s: Assembler messages: exam.s:216: Error: File number 53 already allocated make[1]: *** [exam.o] Error 1 make[1]: Leaving directory `/usr/local/distrib/buildcln/tests' make: *** [all] Error 2
It seems like binutils-2.12.1 does not fix the problem yet. Hence, you have three options: 1) Downgrade binutils to a version that has worked before 2) Wait for a new version of binutils. 3) Manually apply the following patch to gas/dwarf2dbg.c that was applied upstream by Nick Clifton nickc@cambridge.redhat.com on May 11 and build and install your own binutils: =================================================================== RCS file: /cvs/src/src/gas/dwarf2dbg.c,v retrieving revision 1.46 diff -c -3 -p -w -p -r1.46 dwarf2dbg.c *** gas/dwarf2dbg.c 3 May 2002 02:25:33 -0000 1.46 --- gas/dwarf2dbg.c 11 May 2002 10:26:52 -0000 *************** dwarf2_emit_insn (size) *** 290,296 **** return; loc_directive_seen = false;
! dwarf2_where (&loc); dwarf2_gen_line_info (frag_now_fix () - size, &loc); }
--- 290,301 ---- return; loc_directive_seen = false;
! /* Use the last location established by a .loc directive, not ! the value returned by dwarf2_where(). That calls as_where() ! which will return either the logical input file name (foo.c) ! or the physical input file name (foo.s) and not the file name ! specified in the most recent .loc directive (eg foo.h). */ ! loc = current; dwarf2_gen_line_info (frag_now_fix () - size, &loc); }
Regards -richy.