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: Your patch: don't configure libobjc on Darwin


Nicola Pero wrote:


<fuming with rage after seeing one of our GNUstep users seriously (and rightfully so) angry>

He might be using -fgnu-runtime.  So what ?  The whole purpose of
-fgnu-runtime and -fnext-runtime is to change the compiler behaviour *at
runtime* (as opposed to configure time) between the two runtimes!

It seems to me that you have applied a radical patch causing a major
regression (since the GNU Objective-C runtime was available on Darwin in
all previous releases of GCC, and is no longer available now) just because
you don't want to spend twenty minutes figuring out how to install both
runtimes together on darwin and switch safely between the two.  I'm afraid
you'll have to fix your laziness, or revert your damaging patch.

It's a bit more than a 20-minute job I'm afraid, because on Darwin
both the NeXT and GNU libraries and headers are mutually exclusive
and will try to override each other in bad ways.  I poked at this
very issue a couple years ago, and it took about 20 minutes :-) to
learn the full nastiness of the problem; for instance, dealing with
conflicting headers would probably require significant fixincludes
hacking, so that you don't get disasterized by seeing NeXT headers
when compiling with -fgnu-runtime.

Geoff's change is a reasonable bandaid, but it is possible to make
the two runtimes coexist peacefully, and would be much less work
than to merge them into a single runtime, so we should try for the
coexistence patch.  On the plus side, it will be easy to test; just
make the ObjC testsuite loop over -fgnu-runtime and -fnext-runtime.

Stan



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