I am working on a little compiler for fun, which generates assembly code. At this point I manually invoke as and ld.
For debugging I added the -g option to the invocation of as, but then ld failed with t.o:t.s:1:(.stab+0x14): relocation truncated to fit: R_X86_64_32 against `.text' Looking into this on Stack Overflow I was taught that stabs is obsolete. I think 'obsolete' may not be quite the right interpretation, but 'wrong for Cygwin64' could be the right story. Practically speaking, without thinking about it too critically, -gdwarf2 in place of -g is the solution. I'm trying to find authority for saying anything exact about the situation: 1) Is there a reason why stabs is the default for '-g' with Cygwin64? 1a) Is a patch desired to make dwarf2 the default? 2) Is there a way within Cygwin64 that a .o file with stabs can be properly processed by ld to give proper input to gdb? 3) Is stabs fatally flawed for the purposes of Cygwin64 or could it be upgraded, within the existing meaning of the stabs specification, so that it would work? 3a) To put it another way, is this just a stabs bug that could be fixed for Cygwin64? Above when I say Cygwin64, I'm talking about straightforward native use of as, ld, and gdb, not cross-compiling to some other platform. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple