Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Oct 2000 14:46:22 -0700 (PDT)
From:      Peter Wemm <peter@yahoo-inc.com>
To:        freebsd-gnats-submit@freebsd.org
Cc:        freebsd-bugs@freebsd.org
Subject:   Re: gnu/20966: binutils break C++ in GCC 2.95.x and GCC-current
Message-ID:  <200010172146.e9HLkMr17330@daintree.yahoo.com>

next in thread | raw e-mail | index | archive | help
The problem is that our crt foo is incompatable with g++'s constructor
and thread mechanism.  In order to get g++ working at yahoo, we had
to back out to the old crt{i,n}.o and use gcc's crt{begin,end}.o
so that the frame hooks etc were called in the right places.

See glibc's own crtbegin/end etc for how to do an elf-specific set
of crt files that remain gcc/g++ compatable.

According to my recollection of the original AT&T/USL manuals that I
have (in Australia) that cover ELF, toolchain, linking, abi's, etc, I
still believe our crt{i,n}.o are broken.  We have replaced the extensible
"linker set"-like mechanism that was part of the ELF linking defintion
with a static _init() and _fini() function.  Other systems, notably
g++, depend on the original system working.  Anyway, I will be checking
out the details in about 2 weeks when I get back to .au and look it up.

-Peter


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010172146.e9HLkMr17330>