h8300-coff build error with gcc-3.5-20040704

James E Wilson wilson@specifixinc.com
Tue Aug 3 18:15:00 GMT 2004


Nitin Shah wrote:
> I have taken following source code snapshots to build H8(COFF) toolchain,
-3.5-20040801/gcc/g++ -shared-libgcc 
-B/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/gcc/ 
-nostdinc++ 
-L/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/h8300-coff/libstdc++-v3/src 
-L/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/h8300-coff/libstdc++-v3/src/.libs 
-B/home/nitins2/intmdt_share/gnuh8300_v0403_coff-1/h8300-coff/bin/ 
-B/home/nitins2/intmdt_share/gnuh8300_v0403_coff-1/h8300-coff/lib/ 
-isystem 
/home/nitins2/intmdt_share/gnuh8300_v0403_coff-1/h8300-coff/include 
-isystem 
/home/nitins2/intmdt_share/gnuh8300_v0403_coff-1/h8300-coff/sys-include 
-DHAVE_CONFIG_H -I. 
-I/home/kpit/fsfsrc/downloads/gcc-3.5-20040801/libstdc++-v3/testsuite 
-I.. 
-I/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/h8300-coff/libstdc++-v3/include/h8300-coff 
-I/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/h8300-coff/libstdc++-v3/include 
-I/home/kpit/fsfsrc/downloads/gcc-3.5-20040801/libstdc++-v3/libsupc++ 
-O2 -O2 -DCOFFPATCH -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 
-DLOCALEDIR="/home/nitins2/intmdt_build/h8300-coffbld3.5-20040801/build-gcc-3.5-20040801/h8300-coff/libstdc++-v3/po/share/locale" 
-O2 -c -o testsuite_abi.o 
/home/kpit/fsfsrc/downloads/gcc-3.5-20040801/libstdc++-v3/testsuite/testsuite_abi.cc
> /tmp/ccMZmwY1.s: Assembler messages:
> /tmp/ccMZmwY1.s:16: Error: junk at end of line, first unrecognized character is `i'
> 16	.def	_long int   <- error comes from here

The SDB/coff debug info support is broken.  This is easy to see by 
comparing against an older toolchain with working SDB/coff debug info, 
or by looking at the assembler sources for this debug info format.  The 
.def pseudo-op takes only one argument, not two.

This is an obsolete debug info format.  You can't describe C++, Ada, or 
Java with it.  You can't even fully describe ISO C89, it only supports 
those types that are in K&R C.

The best solution is to stop using this obsolete format.  Use stabs in 
coff instead.  You can do this by configuring with --with-stabs, or by 
modifying the h8300.h port to set PREFERRED_DEBUGGING_TYPE to DBX_DEBUG.

If you want it fixed, then debug gcc to figure out what is wrong, or 
submit a bug report, and hope someone looks at it.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



More information about the Gcc mailing list