>
> That then, begins to look like a possible libobc2 bug.
>
> The log file provides both the command used to build the test and the text of
> the test program (a load of defines, the tiny config/config.objc.m program,
> and the include of objc-common.g).
> Using that you can reproduce the test executable that crashed.
> You can then run it under gdb to find ot where and how the crash is occurring
> (look at the stack etc).
>
I've copied this into the attached conftest.c and tried to build it
with
clang -integrated-as -o conftest -g -O2
-I/usr/GNUstep/Local/Library/Headers
-I/usr/GNUstep/Local/Library/Headers
-I/usr/GNUstep/System/Library/Headers -shared-libgcc
-L/usr/GNUstep/Local/Library/Libraries
-L/usr/GNUstep/Local/Library/Libraries
-L/usr/GNUstep/System/Library/Libraries conftest.c -lrt -ldl -lpthread
But the compilation fails with :
In file included from conftest.c:108:
In file included from ././config/config.objc.m:2:
In file included from ././config/objc-common.g:13:
/usr/local/include/objc/Object.h:7:1: error: expected identifier or '('
@interface Object
^
/usr/local/include/objc/Object.h:11:1: error: expected identifier or '('
@end
^
In file included from conftest.c:108:
In file included from ././config/config.objc.m:2:
././config/objc-common.g:45:20: error: expected identifier or '('
GS_OBJC_ROOT_CLASS @interface NSObject
^
././config/objc-common.g:49:1: error: expected identifier or '('
@end
^
././config/objc-common.g:61:1: error: expected identifier or '('
@end
^
In file included from conftest.c:108:
././config/config.objc.m:6:1: error: expected identifier or '('
@end
^
././config/config.objc.m:13:1: error: expected external declaration
+(int) testResult
^
././config/config.objc.m:13:3: error: expected identifier or '('
+(int) testResult
^
././config/config.objc.m:13:3: error: expected ')'
././config/config.objc.m:13:2: note: to match this '('
+(int) testResult
^
././config/config.objc.m:17:1: error: expected identifier or '('
@end
^
10 errors generated.
What do I miss ?
Bertrand
/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define OPTION_NO_ENVIRONMENT 0
#define GNUSTEP_TARGET_MAKEFILES "/usr/GNUstep/System/Library/Makefiles"
#define GNUSTEP_TARGET_USER_DEFAULTS_DIR "GNUstep/Defaults"
#define GNUSTEP_TARGET_USER_CONFIG_FILE ".GNUstep.conf"
#define GNUSTEP_TARGET_CONFIG_FILE "/etc/GNUstep/GNUstep.conf"
#define GNUSTEP_TARGET_SYSTEM_APPS "/usr/GNUstep/System/Applications"
#define GNUSTEP_TARGET_SYSTEM_ADMIN_APPS "/usr/GNUstep/System/Applications/Admin"
#define GNUSTEP_TARGET_SYSTEM_WEB_APPS "/usr/GNUstep/System/Library/WebApplications"
#define GNUSTEP_TARGET_SYSTEM_TOOLS "/usr/GNUstep/System/Tools"
#define GNUSTEP_TARGET_SYSTEM_ADMIN_TOOLS "/usr/GNUstep/System/Tools/Admin"
#define GNUSTEP_TARGET_SYSTEM_LIBRARY "/usr/GNUstep/System/Library"
#define GNUSTEP_TARGET_SYSTEM_LIBRARIES "/usr/GNUstep/System/Library/Libraries"
#define GNUSTEP_TARGET_SYSTEM_HEADERS "/usr/GNUstep/System/Library/Headers"
#define GNUSTEP_TARGET_SYSTEM_DOC "/usr/GNUstep/System/Library/Documentation"
#define GNUSTEP_TARGET_SYSTEM_DOC_MAN "/usr/GNUstep/System/Library/Documentation/man"
#define GNUSTEP_TARGET_SYSTEM_DOC_INFO "/usr/GNUstep/System/Library/Documentation/info"
#define GNUSTEP_TARGET_NETWORK_APPS "/usr/GNUstep/Local/Applications"
#define GNUSTEP_TARGET_NETWORK_ADMIN_APPS "/usr/GNUstep/Local/Applications/Admin"
#define GNUSTEP_TARGET_NETWORK_WEB_APPS "/usr/GNUstep/Local/Library/WebApplications"
#define GNUSTEP_TARGET_NETWORK_TOOLS "/usr/GNUstep/Local/Tools"
#define GNUSTEP_TARGET_NETWORK_ADMIN_TOOLS "/usr/GNUstep/Local/Tools/Admin"
#define GNUSTEP_TARGET_NETWORK_LIBRARY "/usr/GNUstep/Local/Library"
#define GNUSTEP_TARGET_NETWORK_LIBRARIES "/usr/GNUstep/Local/Library/Libraries"
#define GNUSTEP_TARGET_NETWORK_HEADERS "/usr/GNUstep/Local/Library/Headers"
#define GNUSTEP_TARGET_NETWORK_DOC "/usr/GNUstep/Local/Library/Documentation"
#define GNUSTEP_TARGET_NETWORK_DOC_MAN "/usr/GNUstep/Local/Library/Documentation/man"
#define GNUSTEP_TARGET_NETWORK_DOC_INFO "/usr/GNUstep/Local/Library/Documentation/info"
#define GNUSTEP_TARGET_LOCAL_APPS "/usr/GNUstep/Local/Applications"
#define GNUSTEP_TARGET_LOCAL_ADMIN_APPS "/usr/GNUstep/Local/Applications/Admin"
#define GNUSTEP_TARGET_LOCAL_WEB_APPS "/usr/GNUstep/Local/Library/WebApplications"
#define GNUSTEP_TARGET_LOCAL_TOOLS "/usr/GNUstep/Local/Tools"
#define GNUSTEP_TARGET_LOCAL_ADMIN_TOOLS "/usr/GNUstep/Local/Tools/Admin"
#define GNUSTEP_TARGET_LOCAL_LIBRARY "/usr/GNUstep/Local/Library"
#define GNUSTEP_TARGET_LOCAL_LIBRARIES "/usr/GNUstep/Local/Library/Libraries"
#define GNUSTEP_TARGET_LOCAL_HEADERS "/usr/GNUstep/Local/Library/Headers"
#define GNUSTEP_TARGET_LOCAL_DOC "/usr/GNUstep/Local/Library/Documentation"
#define GNUSTEP_TARGET_LOCAL_DOC_MAN "/usr/GNUstep/Local/Library/Documentation/man"
#define GNUSTEP_TARGET_LOCAL_DOC_INFO "/usr/GNUstep/Local/Library/Documentation/info"
#define GNUSTEP_TARGET_USER_DIR_APPS "GNUstep/Applications"
#define GNUSTEP_TARGET_USER_DIR_ADMIN_APPS "GNUstep/Applications/Admin"
#define GNUSTEP_TARGET_USER_DIR_WEB_APPS "GNUstep/Library/WebApplications"
#define GNUSTEP_TARGET_USER_DIR_TOOLS "GNUstep/Tools"
#define GNUSTEP_TARGET_USER_DIR_ADMIN_TOOLS "GNUstep/Tools/Admin"
#define GNUSTEP_TARGET_USER_DIR_LIBRARY "GNUstep/Library"
#define GNUSTEP_TARGET_USER_DIR_LIBRARIES "GNUstep/Library/Libraries"
#define GNUSTEP_TARGET_USER_DIR_HEADERS "GNUstep/Library/Headers"
#define GNUSTEP_TARGET_USER_DIR_DOC "GNUstep/Library/Documentation"
#define GNUSTEP_TARGET_USER_DIR_DOC_MAN "GNUstep/Library/Documentation/man"
#define GNUSTEP_TARGET_USER_DIR_DOC_INFO "GNUstep/Library/Documentation/info"
#define GNUSTEP_TARGET_SYSTEM_USERS_DIR ""
#define GNUSTEP_TARGET_NETWORK_USERS_DIR ""
#define GNUSTEP_TARGET_LOCAL_USERS_DIR ""
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define __EXTENSIONS__ 1
#define _ALL_SOURCE 1
#define _GNU_SOURCE 1
#define _POSIX_PTHREAD_SEMANTICS 1
#define _TANDEM_SOURCE 1
#define HAVE_FSEEKO 1
#define _FILE_OFFSET_BITS 64
#define USE_ATOMIC_BUILTINS 1
#define HAVE_OBJC_RUNTIME_H 1
#define HAVE_OBJC_OBJC_H 1
#define HAVE_VISIBILITY_ATTRIBUTE 1
#define BROKEN_SO_REUSEADDR 1
#define WORDS_BIGENDIAN 1
#define SIZEOF_VOIDP 4
#define SIZEOF_SHORT 2
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_LONG_LONG 8
#define SIZEOF_FLOAT 4
#define SIZEOF_DOUBLE 8
#define CON_AUTOLOAD 1
#define HAVE_LIBDL 1
#define HAVE_DLADDR 1
#define HAVE_GETHOSTBYNAME 1
#define HAVE_GETADDRINFO 1
#define HAVE_PTHREAD_H 1
#define SIZEOF_PTHREAD_MUTEX_T 24
#define HAVE_PTHREAD_MUTEX_OWNER 1
#define SIZEOF_PTHREAD_COND_T 48
#define ALIGNOF_PTHREAD_MUTEX_T 4
#define ALIGNOF_PTHREAD_COND_T 8
#define HAVE_LIBRT 1
#define HAVE_NANOSLEEP 1
#define HAVE_USLEEP 1
#define HAVE_OBJC_ROOT_CLASS_ATTRIBUTE 1
#define PTHREAD_SETNAME(a) pthread_setname_np(pthread_self(),a)
#define HAVE_GETTID 1
/* end confdefs.h. */
#include "./config/config.objc.m"
#include "objc-common.g"
GS_OBJC_ROOT_CLASS @interface Test
+(int) testResult;
@end
@implementation Test
+ (void) initialize
{
return;
}
+(int) testResult
{
return -1;
}
@end
int main (void)
{
return ([Test testResult] + 1);
}
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep