Hi,
since I had the question regarding the thread without answer: "problem with
libobc1 on OpenBSD amd64 cannot find tconfig.h when compiling", I thought about
trying it on sparc64. There I ended up with the same problem, no tconfig.h in
config/sparc64/generic...
I copied the tconfig.h file from sparc, which is essentially the same as in the
i386 into config/sparc64/generic, and it was compiling. However, I found that
more or less all applications I tried are aborting with a core dump. I then
tried to change the BITS_PER_WORD to 64, and reinstalled the old libobjc, but
the abort stayed as is. I then uninstalled libobjc1, and just linked against
the system libobjc from gcc-4.2.1.
Both with gnustep libobjc1 and gcc libobjc works well on i386. and also with
the gnustep libobjc1, everything works well on sparc 32 bits.
in contrast to mips64, libffi seems to be fine on sparc64:
===> Regression check for libffi-3.0.9
Making check in include
Making check in testsuite
make check-DEJAGNU
Making a new site.exp file...
srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; export srcdir; EXPECT=`if
[ -f ../../expect/expect ] ; then echo ../../expect/expect ; else echo expect
; fi`; export EXPECT; runtest=`if [ -f ../../dejagnu/runtest ] ; then echo
../../dejagnu/runtest ; else echo runtest; fi`; if /bin/sh -c "$runtest
--version" > /dev/null 2>&1; then exit_status=0; l='libffi'; for tool in $l;
do if $runtest --tool $tool --srcdir $srcdir ; then :; else exit_status=1;
fi; done; else echo "WARNING: could not find \`runtest'" 1>&2; :; fi; exit
$exit_status
WARNING: Couldn't find the global config file.
WARNING: Couldn't find tool init file
Test Run By sebastia on Tue Jul 5 11:56:14 2011
Native configuration is sparc64-unknown-openbsd4.9
=== libffi tests ===
Schedule of variations:
unix
Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file
for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for
target.
Using /home/ports/pobj/libffi-3.0.9/libffi-3.0.9/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/ports/pobj/libffi-3.0.9/libffi-3.0.9/testsuite/libffi.call/call.exp ...
Running
/home/ports/pobj/libffi-3.0.9/libffi-3.0.9/testsuite/libffi.special/special.exp
...
=== libffi Summary ===
# of expected passes 1624
# of expected failures 10
# of unsupported tests 15
Making check in man
libffi-3.0.9, gnustep-make-2.6.1, gnustep-base-1.22.1, gnustep-gui-0.20.0,
gnustep-back-0.20.1.
running for example AddressManager in gdb, leads to the attached backtrace.
There I see the __smash_stack_handler is thrown:
(gdb) bt
#0 __stack_smash_handler (func=0x20be18858 "-[GSTimeZone initWithName:data:]",
damaged=201031256) at /usr/src/lib/libc/sys/stack_protector.c:91
#1 0x000000020bbab57c in -[GSTimeZone initWithName:data:] (self=0x208f3f110,
_cmd=0xe, name=0x208f3dd50, data=0xfffffffffffe2310) at NSTimeZone.m:3110
#2 0x000000020bba7930 in -[GSPlaceholderTimeZone initWithName:data:]
(self=0x20a663010, _cmd=0x20bfb7f18, name=0x208f3dd50, data=0x208f3c250) at
NSTimeZone.m:556
#3 0x000000020bba5cc4 in -[NSTimeZone initWithName:] (self=Variable "self" is
not available.
...
more information in the attached backtrace and gdb output.
but I actually cannot see why? Does anybody has a clue?
gnustep-tests on gnustep-base is running right now.
BTW: does gnustep-tests has a parameter, where I can prevent it from cleaning
up the binaries after the test? Its because I'd to have them around, when there
are tests leaving a core file, so that I can easily examine the core file...
Sebastian
$ gdb AddressManager
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc64-unknown-openbsd4.9"...
(gdb) r
Starting program: /usr/local/bin/AddressManager
Program received signal SIGABRT, Aborted.
__stack_smash_handler (func=0x20be18858 "-[GSTimeZone initWithName:data:]",
damaged=201031256) at /usr/src/lib/libc/sys/stack_protector.c:91
91 /usr/src/lib/libc/sys/stack_protector.c: No such file or directory.
in /usr/src/lib/libc/sys/stack_protector.c
(gdb) bt
#0 __stack_smash_handler (func=0x20be18858 "-[GSTimeZone initWithName:data:]",
damaged=201031256) at /usr/src/lib/libc/sys/stack_protector.c:91
#1 0x000000020bbab57c in -[GSTimeZone initWithName:data:] (self=0x208f3f110,
_cmd=0xe, name=0x208f3dd50, data=0xfffffffffffe2310) at NSTimeZone.m:3110
#2 0x000000020bba7930 in -[GSPlaceholderTimeZone initWithName:data:]
(self=0x20a663010, _cmd=0x20bfb7f18, name=0x208f3dd50, data=0x208f3c250) at
NSTimeZone.m:556
#3 0x000000020bba5cc4 in -[NSTimeZone initWithName:] (self=Variable "self" is
not available.
) at NSTimeZone.m:2068
#4 0x000000020bbabb74 in +[NSTimeZone systemTimeZone] (self=0x20bfb7298,
_cmd=Variable "_cmd" is not available.
) at NSTimeZone.m:1642
#5 0x000000020bba635c in +[NSTimeZone defaultTimeZone] (self=0x20bfb7298,
_cmd=0x20bfb7f28) at NSTimeZone.m:1316
#6 0x000000020bba68b0 in -[NSLocalTimeZone secondsFromGMTForDate:]
(self=0x20a662db0, _cmd=0x20bf49768, aDate=0x20f028d50) at NSTimeZone.m:639
#7 0x000000020ba65f6c in -[NSCalendarDate
descriptionWithCalendarFormat:locale:] (self=0x20f028d50, _cmd=0x20bf49a18,
format=0x20bf7f830, locale=0x20e638e10) at NSCalendarDate.m:111
#8 0x000000020ba607c4 in -[NSCalendarDate descriptionWithCalendarFormat:]
(self=Variable "self" is not available.
) at NSCalendarDate.m:1826
#9 0x000000020bb16408 in NSLogv (format=0x214158b38, args=0xfffffffffffe3948)
at NSLog.m:331
#10 0x000000020bb167cc in NSLog (format=0x214158b38) at NSLog.m:252
#11 0x0000000213f3096c in +[XWindowBuffer windowBufferForWindow:depthInfo:]
(self=Variable "self" is not available.
) at XWindowBuffer.m:142
#12 0x0000000213f3d0b4 in -[XGCairoXImageSurface initWithDevice:]
(self=0x20f028a10, _cmd=0x21415e0b0, device=0x206c37000) at
XGCairoXImageSurface.m:63
#13 0x0000000213f3ae38 in -[CairoContext(Ops) GSSetDevice:::]
(self=0x20c4c9810, _cmd=0x214156110, device=0x206c37000, x=1, y=378) at
CairoContext.m:198
#14 0x0000000213f28978 in -[XGServer(WindowOps) setWindowdevice:forContext:]
(self=0x20e55cc10, _cmd=0x214147880, win=Variable "win" is not available.
) at DPSOperators.h:1141
#15 0x0000000213f01eec in -[GSContext initWithContextInfo:] (self=Variable
"self" is not available.
) at GSContext.m:204
#16 0x00000002012bf75c in -[NSWindow _startBackendWindow] (self=0x20278f410,
_cmd=0x201668238) at NSWindow.m:847
#17 0x00000002012c08a4 in -[NSWindow _initBackendWindow] (self=0x20278f410,
_cmd=Variable "_cmd" is not available.
) at NSWindow.m:899
#18 0x00000002012c4c20 in -[NSWindow
initWithContentRect:styleMask:backing:defer:] (self=0x20278f410, _cmd=Variable
"_cmd" is not available.
) at NSWindow.m:1034
#19 0x00000002012c28fc in -[NSWindow initWithCoder:] (self=0x20278f410,
_cmd=Variable "_cmd" is not available.
) at NSWindow.m:5246
#20 0x000000020bbb01b0 in -[NSUnarchiver decodeValueOfObjCType:at:]
(self=0x20ad1ee10, _cmd=0x20bfb9f30, type=0x20bd4c4c0 "@", address=0x20904a360)
at NSUnarchiver.m:657
#21 0x000000020bbadfc0 in -[NSUnarchiver decodeArrayOfObjCType:count:at:]
(self=0x20ad1ee10, _cmd=Variable "_cmd" is not available.
) at NSUnarchiver.m:569
#22 0x000000020b9f4184 in -[GSMutableArray initWithCoder:] (self=0x20f0286d0,
_cmd=0x20bfba020, aCoder=0x20ad1ee10) at GSArray.m:553
#23 0x000000020bbb01b0 in -[NSUnarchiver decodeValueOfObjCType:at:]
(self=0x20ad1ee10, _cmd=0x20bf2adf8, type=0x20bd4c4c0 "@",
address=0xfffffffffffe47d8) at NSUnarchiver.m:657
#24 0x000000020ba009d4 in -[GSDictionary initWithCoder:] (self=0x20e5f4a10,
_cmd=Variable "_cmd" is not available.
) at GSDictionary.m:178
#25 0x000000020bbb01b0 in -[NSUnarchiver decodeValueOfObjCType:at:]
(self=0x20ad1ee10, _cmd=0x2016903f0, type=0x20145c870 "@", address=0x20e5f4a98)
at NSUnarchiver.m:657
#26 0x0000000201306c60 in -[GSNibContainer initWithCoder:] (self=0x20e5f4a90,
_cmd=Variable "_cmd" is not available.
) at GSGormLoading.m:420
#27 0x000000020bbb01b0 in -[NSUnarchiver decodeValueOfObjCType:at:]
(self=0x20ad1ee10, _cmd=0x20bf4de98, type=0x20bd4c4c0 "@",
address=0xfffffffffffe4c68) at NSUnarchiver.m:657
#28 0x000000020ba70630 in -[NSCoder decodeObject] (self=0x20ad1ee10,
_cmd=0x2016aee48) at NSCoder.m:216
#29 0x000000020133fa50 in -[GSGormLoader
loadModelData:externalNameTable:withZone:] (self=Variable "self" is not
available.
) at GSGormLoader.m:114
#30 0x00000002011e8d4c in -[NSNib
instantiateNibWithExternalNameTable:withZone:] (self=0x2041cfb10,
_cmd=0x201587b88, externalNameTable=0x20e581590, zone=0x20bfd44f0) at
NSNib.m:153
#31 0x0000000201138c70 in +[NSBundle(NSBundleAdditions)
loadNibFile:externalNameTable:withZone:] (self=0x20bf44790, _cmd=0x201587c98,
fileName=0x2081add10, context=0x20e581590, zone=0x20bfd44f0) at
NSBundleAdditions.m:236
#32 0x0000000201138588 in -[NSBundle(NSBundleAdditions)
loadNibFile:externalNameTable:withZone:] (self=0x20c458090, _cmd=0x201587bd8,
fileName=Variable "fileName" is not available.
) at NSBundleAdditions.m:342
#33 0x0000000201138b78 in +[NSBundle(NSBundleAdditions) loadNibNamed:owner:]
(self=0x20bf44790, _cmd=0x201565228, aNibName=0x20c456e10, owner=0x20e560410)
at NSBundleAdditions.m:277
#34 0x00000002010e6dac in NSApplicationMain (argc=Variable "argc" is not
available.
) at Functions.m:81
#35 0x0000000000101aec in _start ()
#36 0x0000000000101aec in _start ()
Previous frame identical to this frame (corrupt stack?)
(gdb) frame 5
#5 0x000000020bba635c in +[NSTimeZone defaultTimeZone] (self=0x20bfb7298,
_cmd=0x20bfb7f28) at NSTimeZone.m:1316
1316 zone = [self systemTimeZone];
Current language: auto; currently minimal
(gdb) list
1311 {
1312 [zone_mutex lock];
1313 }
1314 if (defaultTimeZone == nil)
1315 {
1316 zone = [self systemTimeZone];
1317 }
1318 else
1319 {
1320 if (zone_mutex != nil)
(gdb) print self
$1 = (struct objc_object *) 0x20bfb7298
(gdb) po self
NSTimeZone
(gdb) print *self
$2 = {class_pointer = 0x20bfb7230}
(gdb) frame 4
#4 0x000000020bbabb74 in +[NSTimeZone systemTimeZone] (self=0x20bfb7298,
_cmd=Variable "_cmd" is not available.
) at NSTimeZone.m:1642
1642 zone = [defaultPlaceholderTimeZone initWithName:
localZoneString];
(gdb) print localZoneString
$3 = (class NSString *) 0x208f3dd50
(gdb) po localZoneString
Europe/Berlin
(gdb) print *localZoneString
$4 = {{isa = 0x20bf38ea8}}
(gdb) frame 3
#3 0x000000020bba5cc4 in -[NSTimeZone initWithName:] (self=Variable "self" is
not available.
) at NSTimeZone.m:2068
2068 return [self initWithName: name data: nil];
(gdb) list
2063 * Initialise a timezone with the supplied name. May return a cached
2064 * timezone object rather than the newly created one.
2065 */
2066 - (id) initWithName: (NSString*)name
2067 {
2068 return [self initWithName: name data: nil];
2069 }
2070
2071 /**
2072 * Initialises a time zone object using the supplied data object.<br />
(gdb) print name
$5 = (class NSString *) 0x208f3dd50
(gdb) frame 2
#2 0x000000020bba7930 in -[GSPlaceholderTimeZone initWithName:data:]
(self=0x20a663010, _cmd=0x20bfb7f18, name=0x208f3dd50, data=0x208f3c250) at
NSTimeZone.m:556
556 zone = [[GSTimeZone alloc] initWithName: name data: data];
(gdb) list
551 #if defined(__MINGW__)
552 if (!data)
553 zone = [[GSWindowsTimeZone alloc] initWithName: name data:
data];
554 else
555 #endif
556 zone = [[GSTimeZone alloc] initWithName: name data: data];
557 }
558 }
559 DESTROY(self);
560 return zone;
(gdb) print data
$6 = (class NSData *) 0x208f3c250
(gdb) po data
<545a6966 32000000 00000000 00000000 00000000 00000008 00000008 00000000
00000090 00000008 0000000e 9b0c1760 9bd5daf0 9cd9ae90 9da4b590 9eb99090
9f849790 c8097190 cce74b10 cda91790 cea24310 cf923410 d0822510 d1721610
d1b69600 d258be80 d2a14f10 d2db34f0 d3631b90 d44b2390 d539d120 d567e790
d5a87300 d629b410 d72c1a10 d8099610 d902c190 d9e97810 12ce97f0 134d4410
1433fa90 1523eb90 1613dc90 1703cd90 17f3be90 18e3af90 19d3a090 1ac39190
1bbcbd10 1cacae10 1d9c9f10 1e8c9010 1f7c8110 206c7210 215c6310 224c5410
233c4510 242c3610 251c2710 260c1810 27054390 27f53490 28e52590 29d51690
2ac50790 2bb4f890 2ca4e990 2d94da90 2e84cb90 2f74bc90 3064ad90 315dd910
3272b410 333dbb10 34529610 351d9d10 36327810 36fd7f10 381b9490 38dd6110
39fb7690 3abd4310 3bdb5890 3ca65f90 3dbb3a90 3e864190 3f9b1c90 40662390
41843910 42460590 43641b10 4425e790 4543fd10 4605c990 4723df10 47eee610
4903c110 49cec810 4ae3a310 4baeaa10 4cccbf90 4d8e8c10 4eaca190 4f6e6e10
508c8390 51578a90 526c6590 53376c90 544c4790 55174e90
562c2990 56f73090 58154610 58d71290 59f52810 5ab6f490 5bd50a10 5ca01110
5db4ec10 5e7ff310 5f94ce10 605fd510 617dea90 623fb710 635dcc90 641f9910
653dae90 6608b590 671d9090 67e89790 68fd7290 69c87990 6add5490 6ba85b90
6cc67110 6d883d90 6ea65310 6f681f90 70863510 71513c10 72661710 73311e10
7445f910 75110010 762f1590 76f0e210 780ef790 78d0c410 79eed990 7ab0a610
7bcebb90 7c99c290 7dae9d90 7e79a490 7f8e7f90 00010203 02030203 02030203
02040003 01020302 05000302 03020301 06070607 06070607 06070607 06070607
06070607 06070607 06070607 06070607 06070607 06070607 06070607 06070607
06070607 06070607 06070607 06070607 06070607 06070607 06070607 06070607
06070607 06070607 06070607 06070607 06070607 06070607 06070607 06070607
06070607 00001c20 01000000 0e100005 00001c20 01000000 0e100005 00002a30
01090000 2a300109 00001c20 01000000 0e100005 43455354 00434554 0043454d
54000000 01010001 01010000 00000000 0101545a 69663200 00000000 00000000
00000000 00000000 00090000 00090000 00000000 0091000
0 00090000 0012ffff ffff6fa2 61f8ffff ffff9b0c 1760ffff ffff9bd5 daf0ffff
ffff9cd9 ae90ffff ffff9da4 b590ffff ffff9eb9 9090ffff ffff9f84 9790ffff
ffffc809 7190ffff ffffcce7 4b10ffff ffffcda9 1790ffff ffffcea2 4310ffff
ffffcf92 3410ffff ffffd082 2510ffff ffffd172 1610ffff ffffd1b6 9600ffff
ffffd258 be80ffff ffffd2a1 4f10ffff ffffd2db 34f0ffff ffffd363 1b90ffff
ffffd44b 2390ffff ffffd539 d120ffff ffffd567 e790ffff ffffd5a8 7300ffff
ffffd629 b410ffff ffffd72c 1a10ffff ffffd809 9610ffff ffffd902 c190ffff
ffffd9e9 78100000 000012ce 97f00000 0000134d 44100000 00001433 fa900000
00001523 eb900000 00001613 dc900000 00001703 cd900000 000017f3 be900000
000018e3 af900000 000019d3 a0900000 00001ac3 91900000 00001bbc bd100000
00001cac ae100000 00001d9c 9f100000 00001e8c 90100000 00001f7c 81100000
0000206c 72100000 0000215c 63100000 0000224c 54100000 0000233c 45100000
0000242c 36100000 0000251c 27100000 0000260c 18100000 00002705 43900000
000027f5 34900000 000028e5 25900000 000029d5 169000
00 00002ac5 07900000 00002bb4 f8900000 00002ca4 e9900000 00002d94 da900000
00002e84 cb900000 00002f74 bc900000 00003064 ad900000 0000315d d9100000
00003272 b4100000 0000333d bb100000 00003452 96100000 0000351d 9d100000
00003632 78100000 000036fd 7f100000 0000381b 94900000 000038dd 61100000
000039fb 76900000 00003abd 43100000 00003bdb 58900000 00003ca6 5f900000
00003dbb 3a900000 00003e86 41900000 00003f9b 1c900000 00004066 23900000
00004184 39100000 00004246 05900000 00004364 1b100000 00004425 e7900000
00004543 fd100000 00004605 c9900000 00004723 df100000 000047ee e6100000
00004903 c1100000 000049ce c8100000 00004ae3 a3100000 00004bae aa100000
00004ccc bf900000 00004d8e 8c100000 00004eac a1900000 00004f6e 6e100000
0000508c 83900000 00005157 8a900000 0000526c 65900000 00005337 6c900000
0000544c 47900000 00005517 4e900000 0000562c 29900000 000056f7 30900000
00005815 46100000 000058d7 12900000 000059f5 28100000 00005ab6 f4900000
00005bd5 0a100000 00005ca0 11100000 00005db4 ec100
000 00005e7f f3100000 00005f94 ce100000 0000605f d5100000 0000617d ea900000
0000623f b7100000 0000635d cc900000 0000641f 99100000 0000653d ae900000
00006608 b5900000 0000671d 90900000 000067e8 97900000 000068fd 72900000
000069c8 79900000 00006add 54900000 00006ba8 5b900000 00006cc6 71100000
00006d88 3d900000 00006ea6 53100000 00006f68 1f900000 00007086 35100000
00007151 3c100000 00007266 17100000 00007331 1e100000 00007445 f9100000
00007511 00100000 0000762f 15900000 000076f0 e2100000 0000780e f7900000
000078d0 c4100000 000079ee d9900000 00007ab0 a6100000 00007bce bb900000
00007c99 c2900000 00007dae 9d900000 00007e79 a4900000 00007f8e 7f900201
02030403 04030403 04030403 05010402 03040306 01040304 03040207 08070807
08070807 08070807 08070807 08070807 08070807 08070807 08070807 08070807
08070807 08070807 08070807 08070807 08070807 08070807 08070807 08070807
08070807 08070807 08070807 08070807 08070807 08070807 08070807 08070807
08070807 08070807 08070807 08070800 000c8800 0000
001c 20010400 000e1000 0900001c 20010400 000e1000 0900002a 30010d00 002a3001
0d00001c 20010400 000e1000 094c4d54 00434553 54004345 54004345 4d540000
00000101 00010101 00000000 00000001 010a4345 542d3143 4553542c 4d332e35
2e302c4d 31302e35 2e302f33 0a>
(gdb) print *data
$7 = {{isa = 0x20bf56d60}}
(gdb) print name
$8 = (class NSString *) 0x208f3dd50
(gdb) frame 2
#2 0x000000020bba7930 in -[GSPlaceholderTimeZone initWithName:data:]
(self=0x20a663010, _cmd=0x20bfb7f18, name=0x208f3dd50, data=0x208f3c250) at
NSTimeZone.m:556
556 zone = [[GSTimeZone alloc] initWithName: name data: data];
(gdb) frame 1
#1 0x000000020bbab57c in -[GSTimeZone initWithName:data:] (self=0x208f3f110,
_cmd=0xe, name=0x208f3dd50, data=0xfffffffffffe2310) at NSTimeZone.m:3110
3110 }
(gdb) list
3105 [localException raise];
3106 }
3107 }
3108 NS_ENDHANDLER
3109 return self;
3110 }
3111
3112 - (BOOL) isDaylightSavingTimeForDate: (NSDate*)aDate
3113 {
3114 TypeInfo *type = chop([aDate timeIntervalSince1970], self);
(gdb) print self
$9 = (class GSTimeZone *) 0x208f3f110
(gdb) po self
Europe/Berlin
(gdb) print *self
$10 = {{{isa = 0x20bfb6c10}}, timeZoneName = 0x208f3d290, abbreviations =
0x208f3c890, timeZoneData = 0x208f3c250, n_trans = 144, n_types = 8, trans =
0x206c37480, types = 0x206c37400, idxs = 0x206c376c0 ""}
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep