objc/4582: All objc tests fail on cygwin with gcc-3.1 (regression from 3.0)

David.Billinghurst@riotinto.com David.Billinghurst@riotinto.com
Tue Oct 16 05:16:00 GMT 2001


>Number:         4582
>Category:       objc
>Synopsis:       All objc tests fail on cygwin with gcc-3.1 (regression from 3.0)
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 16 05:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     David Billinghurst
>Release:        gcc 3.1 20011015
>Organization:
>Environment:
i686-pc-cygwin
>Description:
All objc testsuite tests fail with gcc-3.1.  The same tests pass with gcc-3.0.x.  Error is:

/usr/local/obj/gcc/i686-pc-cygwin/libobjc/.libs/libobjc.a(linking.o): In function `__objc_linking':
/usr/local/src/gcc/libobjc/linking.m:37: undefined reference to `___objc_class_name_Object'
/usr/local/src/gcc/libobjc/linking.m:37: undefined reference to `___objc_class_name_NXConstantString'
collect2: ld returned 1 exit status


In gcc-3.0, where the tests pass, these symbols are in NXConstStr.o and Object.o with three leading underscores.

$ nm NXConstStr.o | grep objc_class
00000034 T ___objc_class_name_NXConstantString
         U ___objc_class_name_Object

$ nm Object.o | grep objc_class_name
00000d04 T ___objc_class_name_Object

$ nm linking.o | grep objc_class
         U ___objc_class_name_NXConstantString
         U ___objc_class_name_Object

In gcc-3.1 the symbols only have two leading underscores.

$ nm NXConstStr.o | grep objc_class_name
         U ___objc_class_name_Object
00000036 T __objc_class_name_NXConstantString

$ nm Object.o | grep objc_class_name
00000f16 T __objc_class_name_Object

$ nm linking.o | grep objc_class_name
         U ___objc_class_name_NXConstantString
         U ___objc_class_name_Object
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list