This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 'lots of little changes' merge done



On 03/11/2006, at 7:13 PM, Roger Sayle wrote:



Hi Geoff,


I'd hoped someone else would report this so I wouldn't be the bearer
of bad news. But the following hunk appears to have broken the default
bootstrap on i386-apple-darwin8.8.1 for me.


On Tue, 31 Oct 2006, Geoffrey Keating wrote:

* config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
Call dsymutil when compiling and linking one or more source files
in one step.

Many thanks to Andrew Pinski on IRC for helping to identify the problematic bit.

On my recent x86/darwin system, this change causes the build to break
during configuration of libintl during stage2. One of the configure
checks attempts "checking for C compiler default output file name..."
which then fails, reporting that the C compiler cannot create executables.


The cause of the failure is that attempting to compile a minimal test
program such as

int main() { return 0; }

with prev-gcc/xgcc -Bprev-gcc -O2 -g -fomit-frame-pointer main.c
triggers the fatal error message:
ERROR: No debug map or DWARF data was found to link.
presumably from dsymutil.


ld -v reports my version as Apple Computer, Inc. version cctools-622.3.obj~2

and dsymutil -v reports
@(#)PROGRAM:dsymutil PROJECT:dwarfutils-22 DEVELOPER:root BUILT:Jul 1
2006 19:28:59



Many thanks to Andrew for suggesting that a work around is to avoid compiling and linking in a single step, using -c to generate an object file, and then linking that. Unfortunately, this confirms the source of the problem, but it isn't a reasonable fix for use in "configure".


Is it possible to add a new configure test to check whether a suitable
version of dsymutil exists on a machine? Is there a particular version
of cctools/xcode that I need to upgrade or downgrade to?

You need dwarf_utilities-25, I think. I'm not sure where to get it from for Tiger, I will inquire. It should be in the next Leopard seed (if you have access to Leopard seeds). In the meantime, you can avoid the problem by copying /bin/true into your path as 'dsymutil'; the problem with that, or an autoconf test or whatever, is that if you say 'gcc -g t.c -g -o t', debugging won't work.


Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]