From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Williams To: gas2@cygnus.com, egcs@cygnus.com Subject: binutils and cross linking alpha to i960 Date: Wed, 08 Apr 1998 19:37:00 -0000 Message-id: <199804090237.TAA23024@icarus.icarus.com> X-SW-Source: 1998/msg00104.html I'm a little pressed to track this down right now (AIIM deadline) so I though I'd throw this out there and see what happens. My setup: Linux/alpha (RedHat 5.0) binutils 2.8.1 --target==i960-ucr (a form of i960-coff) egcs 1.0 --target=i960-ucr gdb 4.16.97 --target=i960-ucr I also have all this working on Linux/intel (but my alpha is *so* much faster:-) The gdb connection to the target is done myself to communicate across the PCI bus to the target board. I have egcs-1.0 based cross compilers on linux/alpha generating i960-coff code. 64bit to 32bit, I know, but the generated code is correct as far as I can tell. Trouble is the debugging information seems to be messed up. It is not clear to me where the problem lies. If I use objdump on a Linux/intel host I get a lot of Warning: numeric overflow: 1;001000000000000000000000;000777777777777777777777; messages. I also notice that I may get different results from objdump. Big surprise, given the messages above. Also, gdb-4.16.97 has difficulty with matching addresses to line numbers. It seems to be off by a few lines, although a stack trace gets the right function names, and gdb can display variables, including nasty C++ classes, just fine. It works perfectly well except for matching ip to source line number. This rather contorted combination worked fine with the same binutils 2.8.1 but gcc 2.7.3 instead of egcs 1.0. I haven't tried binutils 2.9(beta) yet. If there is a fairly complete description of the stabs stuff that the compiler generates (and gdb interprets) I would appreciate a pointer. -- Steve Williams "The woods are lovely, dark and deep. steve@icarus.com But I have promises to keep, steve@picturel.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep."