I finally got around to building and testing the objc 
support in gcc on Darwin PPC at -m64. The results aren't good
with 634 additional failures compared to the 10 at -m32. These
seem to be linkage issues of the form below as shown in...

http://gcc.gnu.org/ml/gcc-testresults/2006-09/msg00844.html


testcase 
/sw/src/fink.build/gcc4-4.1.9999-20060915/gcc-4.2-20060915/gcc/testsuite/objc/compile/compile.exp
 completed in 2
 seconds
Running 
/sw/src/fink.build/gcc4-4.1.9999-20060915/gcc-4.2-20060915/gcc/testsuite/objc/execute/exceptions/exceptions.exp
 .
..
set_ld_library_path_env_vars: 
ld_library_path=.::/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink
.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.
build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.b
uild/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc:/sw/src/fink.bu
ild/gcc4-4.1.9999-20060915/darwin_objdir/gcc
Executing on host: 
/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/gcc/xgcc 
-B/sw/src/fink.build/gcc4-4.1.9999-20
060915/darwin_objdir/gcc/ 
/sw/src/fink.build/gcc4-4.1.9999-20060915/gcc-4.2-20060915/gcc/testsuite/objc/execute/exception
s/catchall-1.m  -w  -O0  -fobjc-exceptions  -lobjc -lm   -m64 -o 
/sw/src/fink.build/gcc4-4.1.9999-20060915/darwin_objdir/
gcc/testsuite/objc/catchall-1.x0    (timeout = 300)
ld64 warning: in /usr/lib/libobjc.dylib, file is not of required architecture
Undefined symbols:
  _objc_exception_throw, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  _objc_exception_try_exit, referenced from:
      _test in ccVj9eiG.o
  _objc_exception_extract, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  .objc_class_name_Object, referenced from:
      [EMAIL PROTECTED]@[EMAIL PROTECTED] in ccVj9eiG.o
      .objc_class_name_Frob in ccVj9eiG.o
  _objc_exception_try_enter, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  _objc_msgSend, referenced from:
      _test in ccVj9eiG.o
  _objc_exception_match, referenced from:
      _test in ccVj9eiG.o
ld64-59.2 failed: symbol(s) not found
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
ld64 warning: in /usr/lib/libobjc.dylib, file is not of required architecture
Undefined symbols:
  _objc_exception_throw, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  _objc_exception_try_exit, referenced from:
      _test in ccVj9eiG.o
  _objc_exception_extract, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  .objc_class_name_Object, referenced from:
      [EMAIL PROTECTED]@[EMAIL PROTECTED] in ccVj9eiG.o
      .objc_class_name_Frob in ccVj9eiG.o
  _objc_exception_try_enter, referenced from:
      _test in ccVj9eiG.o
      _test in ccVj9eiG.o
  _objc_msgSend, referenced from:
      _test in ccVj9eiG.o
  _objc_exception_match, referenced from:
      _test in ccVj9eiG.o
ld64-59.2 failed: symbol(s) not found
collect2: ld returned 1 exit status
FAIL: objc/execute/exceptions/catchall-1.m compilation,  -O0 
UNRESOLVED: objc/execute/exceptions/catchall-1.m execution,  -O0 

I should mention that I don't have this build of gcc trunk
installed so it is being tested out of the build directory.
However, it should be smart enough to at least look in a
ppc64 subdirectory for the required libobjc.dylib, no?
              Jack
ps I'll file a PR on this shortly. I imagine this is all a
Makefile issue so we really should try to fix it for gcc 4.2.

Reply via email to