[kaffe] status of current CVS HEAD on latest cygwin
Dalibor Topic
robilad@yahoo.com
Sun Jun 8 14:04:01 2003
--0-1952868059-1055106387=:80493
Content-Type: text/plain; charset=us-ascii
Content-Id:
Content-Disposition: inline
Hi all,
the status on cygwin is a sad story, as usual ;) I've attached a faillog from
cd build ; ../kaffe-1.1.x-cvs/configure --prefix=/tmp/topic/current ; make
2>faillog
It turns out that the linker on Cygwin for some reason complains about not
being able to find symbols it can easily find on other platforms. Here's my
theory about what happens: kaffe doesn't use the libtool DLL specification
machinery, so the cygwin linker ends up doing something completely different
from other platforms.
I've also attached a patch that 'deinlines' jthread.[ch] that's needed to get
past the compilation of kaffeh and get the faillog above. I don't think it
should be checked in as it is, since it's going to degrade performance for
other platforms. On the other hand, static inline functions in header files
seem to be a gcc-ism, so purging them and putting them back into *.c files
might help portability, and cleaner code ;)
When I compile it with --with-staticvm it breaks because inet_ntop and
inet_pton are missing on Cygwin.
http://ftp.sergei.cc/pub/ircII/ircii-current/ircii/source/inet_ntop.c might be
usefule replacement function implementation.
cheers,
dalibor topic
__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
--0-1952868059-1055106387=:80493
Content-Type: application/octet-stream; name="cygwin-1.diff"
Content-Transfer-Encoding: base64
Content-Description: cygwin-1.diff
Content-Disposition: attachment; filename="cygwin-1.diff"
T25seSBpbiAvaG9tZS90b3BpYy9DVlMva2FmZmUva2FmZmUva2FmZmV2bS9z
eXN0ZW1zL3VuaXgtanRocmVhZHMvOiBDVlMKT25seSBpbiAvaG9tZS90b3Bp
Yy9DVlMva2FmZmUva2FmZmUva2FmZmV2bS9zeXN0ZW1zL3VuaXgtanRocmVh
ZHMvOiAuY3ZzaWdub3JlCmRpZmYgLXVyIC9ob21lL3RvcGljL0NWUy9rYWZm
ZS9rYWZmZS9rYWZmZXZtL3N5c3RlbXMvdW5peC1qdGhyZWFkcy9qdGhyZWFk
LmMgL21udC93aW5kb3dzL2N5Z3dpbi90bXAvdG9waWMva2FmZmUtMS4xLngt
Y3ZzL2thZmZlL2thZmZldm0vc3lzdGVtcy91bml4LWp0aHJlYWRzL2p0aHJl
YWQuYwotLS0gL2hvbWUvdG9waWMvQ1ZTL2thZmZlL2thZmZlL2thZmZldm0v
c3lzdGVtcy91bml4LWp0aHJlYWRzL2p0aHJlYWQuYwkyMDAzLTA1LTIxIDA1
OjM4OjA1LjAwMDAwMDAwMCAtMDQwMAorKysgL21udC93aW5kb3dzL2N5Z3dp
bi90bXAvdG9waWMva2FmZmUtMS4xLngtY3ZzL2thZmZlL2thZmZldm0vc3lz
dGVtcy91bml4LWp0aHJlYWRzL2p0aHJlYWQuYwkyMDAzLTA2LTA4IDA2OjQw
OjI2LjAwMDAwMDAwMCAtMDQwMApAQCAtMTQwNiw2ICsxNDA2LDEwOSBAQAog
ICogRnVuY3Rpb25zIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHVzZXIgaW50ZXJm
YWNlCiAgKgogICovCisNCisvKiANCisgKiByZXR1cm4gdGhlIGN1cnJlbnQg
dGhyZWFkIA0KKyAqLw0KK2p0aHJlYWRfdA0KK2p0aHJlYWRfY3VycmVudCh2
b2lkKSANCit7IA0KKwlyZXR1cm4gY3VycmVudEpUaHJlYWQ7IA0KK30NCisN
CisvKg0KKyAqIGRldGVybWluZSB3aGV0aGVyIGEgbG9jYXRpb24gaXMgb24g
dGhlIHN0YWNrIG9mIHRoZSBjdXJyZW50IHRocmVhZA0KKyAqLw0KK2ludA0K
K2p0aHJlYWRfb25fY3VycmVudF9zdGFjayh2b2lkICpicCkgICAgICANCit7
DQorICAgICAgICBpbnQgcmMgPSBicCA+PSBjdXJyZW50SlRocmVhZC0+c3Rh
Y2tCYXNlICYmIGJwIDwgY3VycmVudEpUaHJlYWQtPnN0YWNrRW5kOw0KKw0K
K0RCRyhKVEhSRUFEREVUQUlMLA0KKwlkcHJpbnRmKCJvbiBjdXJyZW50IHN0
YWNrOiBiYXNlPSVwIHNpemU9JWxkIGJwPSVwICVzXG4iLA0KKwkJY3VycmVu
dEpUaHJlYWQtPnN0YWNrQmFzZSwNCisJCShsb25nKSgoY2hhciAqKSBjdXJy
ZW50SlRocmVhZC0+c3RhY2tFbmQgLSAoY2hhciAqKSBjdXJyZW50SlRocmVh
ZC0+c3RhY2tCYXNlKSwNCisJCWJwLA0KKwkJKHJjID8gInllcyIgOiAibm8i
KSk7DQorICAgICkNCisNCisgICAgICAgIHJldHVybiByYzsNCit9DQorDQor
LyogDQorICogQ2hlY2sgZm9yIHJvb20gb24gc3RhY2suDQorICovDQoraW50
ICAgICANCitqdGhyZWFkX3N0YWNrY2hlY2soaW50IGxlZnQpDQorew0KKwlp
bnQgcmM7DQorI2lmIGRlZmluZWQoU1RBQ0tfR1JPV1NfVVApDQorICAgICAg
ICByYyA9IGp0aHJlYWRfb25fY3VycmVudF9zdGFjaygoY2hhciopJnJjICsg
bGVmdCk7DQorI2Vsc2UNCisgICAgICAgIHJjID0ganRocmVhZF9vbl9jdXJy
ZW50X3N0YWNrKChjaGFyKikmcmMgLSBsZWZ0KTsNCisjZW5kaWYNCisJcmV0
dXJuIChyYyk7DQorfQ0KKw0KKy8qDQorICogR2V0IHRoZSBjdXJyZW50IHN0
YWNrIGxpbWl0Lg0KKyAqLw0KKw0KKyNkZWZpbmUJUkVEWk9ORQkxMDI0DQor
DQordm9pZA0KK2p0aHJlYWRfcmVsYXhzdGFjayhpbnQgeWVzKQ0KK3sNCisJ
aWYoIHllcyApDQorCXsNCisjaWYgZGVmaW5lZChTVEFDS19HUk9XU19VUCkN
CisJCXVpbnRwIGVuZCA9ICh1aW50cCkgY3VycmVudEpUaHJlYWQtPnN0YWNr
RW5kOw0KKwkJZW5kICs9IFJFRFpPTkU7DQorCQljdXJyZW50SlRocmVhZC0+
c3RhY2tFbmQgPSAodm9pZCAqKSBlbmQ7DQorI2Vsc2UNCisJCXVpbnRwIGJh
c2UgPSAodWludHApIGN1cnJlbnRKVGhyZWFkLT5zdGFja0Jhc2U7DQorCQli
YXNlIC09IFJFRFpPTkU7DQorCQljdXJyZW50SlRocmVhZC0+c3RhY2tCYXNl
ID0gKHZvaWQgKikgYmFzZTsNCisjZW5kaWYNCisJfQ0KKwllbHNlDQorCXsN
CisjaWYgZGVmaW5lZChTVEFDS19HUk9XU19VUCkNCisJCXVpbnRwIGVuZCA9
ICh1aW50cCkgY3VycmVudEpUaHJlYWQtPnN0YWNrRW5kOw0KKwkJZW5kIC09
IFJFRFpPTkU7DQorCQljdXJyZW50SlRocmVhZC0+c3RhY2tFbmQgPSAodm9p
ZCAqKSBlbmQ7DQorI2Vsc2UNCisJCXVpbnRwIGJhc2UgPSAodWludHApIGN1
cnJlbnRKVGhyZWFkLT5zdGFja0Jhc2U7DQorCQliYXNlICs9IFJFRFpPTkU7
DQorCQljdXJyZW50SlRocmVhZC0+c3RhY2tCYXNlID0gKHZvaWQgKikgYmFz
ZTsNCisjZW5kaWYNCisJfQ0KK30NCisNCit2b2lkKg0KK2p0aHJlYWRfc3Rh
Y2tsaW1pdCh2b2lkKQ0KK3sNCisjaWYgZGVmaW5lZChTVEFDS19HUk9XU19V
UCkNCisgICAgICAgIHJldHVybiAodm9pZCopKCh1aW50cCljdXJyZW50SlRo
cmVhZC0+c3RhY2tFbmQgLSBSRURaT05FKTsNCisjZWxzZQ0KKyAgICAgICAg
cmV0dXJuICh2b2lkKikoKHVpbnRwKWN1cnJlbnRKVGhyZWFkLT5zdGFja0Jh
c2UgKyBSRURaT05FKTsNCisjZW5kaWYNCit9DQorDQorLyogU3BpbmxvY2tz
OiBzaW1wbGUgc2luY2Ugd2UncmUgdW5pcHJvY2Vzc29yICovDQorLyogQVJH
U1VTRUQgKi8NCit2b2lkDQoranRocmVhZF9zcGlub24odm9pZCAqYXJnKQ0K
K3sNCisJanRocmVhZF9zdXNwZW5kYWxsKCk7DQorfQ0KKw0KKy8qIEFSR1NV
U0VEICovDQordm9pZA0KK2p0aHJlYWRfc3Bpbm9mZih2b2lkICphcmcpDQor
ew0KKwlqdGhyZWFkX3Vuc3VzcGVuZGFsbCgpOw0KK30NCiAKIC8qCiAgKiB5
aWVsZCB0byBhIHRocmVhZCBvZiBlcXVhbCBwcmlvcml0eQpkaWZmIC11ciAv
aG9tZS90b3BpYy9DVlMva2FmZmUva2FmZmUva2FmZmV2bS9zeXN0ZW1zL3Vu
aXgtanRocmVhZHMvanRocmVhZC5oIC9tbnQvd2luZG93cy9jeWd3aW4vdG1w
L3RvcGljL2thZmZlLTEuMS54LWN2cy9rYWZmZS9rYWZmZXZtL3N5c3RlbXMv
dW5peC1qdGhyZWFkcy9qdGhyZWFkLmgKLS0tIC9ob21lL3RvcGljL0NWUy9r
YWZmZS9rYWZmZS9rYWZmZXZtL3N5c3RlbXMvdW5peC1qdGhyZWFkcy9qdGhy
ZWFkLmgJMjAwMy0wNS0yNiAxNjo1NzowNS4wMDAwMDAwMDAgLTA0MDAKKysr
IC9tbnQvd2luZG93cy9jeWd3aW4vdG1wL3RvcGljL2thZmZlLTEuMS54LWN2
cy9rYWZmZS9rYWZmZXZtL3N5c3RlbXMvdW5peC1qdGhyZWFkcy9qdGhyZWFk
LmgJMjAwMy0wNi0wOCAwNjo0MDoyNi4wMDAwMDAwMDAgLTA0MDAKQEAgLTE4
NCwxNCArMTg0LDEwIEBACiAgKi8KIHZvaWQgCWp0aHJlYWRfc2xlZXAoamxv
bmcgdGltZSk7CiAKLS8qIAotICogcmV0dXJuIHRoZSBjdXJyZW50IHRocmVh
ZCAKLSAqLwotc3RhdGljIGlubGluZSBqdGhyZWFkX3QKLWp0aHJlYWRfY3Vy
cmVudCh2b2lkKSAKLXsgCi0JcmV0dXJuIGN1cnJlbnRKVGhyZWFkOyAKLX0K
Ky8qIA0KKyAqIHJldHVybiB0aGUgY3VycmVudCB0aHJlYWQgDQorICovDQor
anRocmVhZF90IGp0aHJlYWRfY3VycmVudCh2b2lkKTsNCiAKIC8qIAogICog
Y291bnQgdGhlIG51bWJlciBvZiBzdGFjayBmcmFtZXMgLSB1bmltcGxlbWVu
dGVkIApAQCAtMjE4LDg2ICsyMTQsMjMgQEAKICAqLwogdm9pZCAJanRocmVh
ZF9leGl0KHZvaWQpIF9fTk9SRVRVUk5fXzsKIAotLyoKLSAqIGRldGVybWlu
ZSB3aGV0aGVyIGEgbG9jYXRpb24gaXMgb24gdGhlIHN0YWNrIG9mIHRoZSBj
dXJyZW50IHRocmVhZAotICovCi1zdGF0aWMgaW5saW5lIGludAotanRocmVh
ZF9vbl9jdXJyZW50X3N0YWNrKHZvaWQgKmJwKSAgICAgIAotewotICAgICAg
ICBpbnQgcmMgPSBicCA+PSBjdXJyZW50SlRocmVhZC0+c3RhY2tCYXNlICYm
IGJwIDwgY3VycmVudEpUaHJlYWQtPnN0YWNrRW5kOwotCi1EQkcoSlRIUkVB
RERFVEFJTCwKLQlkcHJpbnRmKCJvbiBjdXJyZW50IHN0YWNrOiBiYXNlPSVw
IHNpemU9JWxkIGJwPSVwICVzXG4iLAotCQljdXJyZW50SlRocmVhZC0+c3Rh
Y2tCYXNlLAotCQkobG9uZykoKGNoYXIgKikgY3VycmVudEpUaHJlYWQtPnN0
YWNrRW5kIC0gKGNoYXIgKikgY3VycmVudEpUaHJlYWQtPnN0YWNrQmFzZSks
Ci0JCWJwLAotCQkocmMgPyAieWVzIiA6ICJubyIpKTsKLSAgICApCi0KLSAg
ICAgICAgcmV0dXJuIHJjOwotfQotCi0vKiAKLSAqIENoZWNrIGZvciByb29t
IG9uIHN0YWNrLgotICovCi1zdGF0aWMgaW5saW5lIGludCAgICAgCi1qdGhy
ZWFkX3N0YWNrY2hlY2soaW50IGxlZnQpCi17Ci0JaW50IHJjOwotI2lmIGRl
ZmluZWQoU1RBQ0tfR1JPV1NfVVApCi0gICAgICAgIHJjID0ganRocmVhZF9v
bl9jdXJyZW50X3N0YWNrKChjaGFyKikmcmMgKyBsZWZ0KTsKLSNlbHNlCi0g
ICAgICAgIHJjID0ganRocmVhZF9vbl9jdXJyZW50X3N0YWNrKChjaGFyKikm
cmMgLSBsZWZ0KTsKLSNlbmRpZgotCXJldHVybiAocmMpOwotfQotCi0vKgot
ICogR2V0IHRoZSBjdXJyZW50IHN0YWNrIGxpbWl0LgotICovCi0KLSNkZWZp
bmUJUkVEWk9ORQkxMDI0CisvKg0KKyAqIGRldGVybWluZSB3aGV0aGVyIGEg
bG9jYXRpb24gaXMgb24gdGhlIHN0YWNrIG9mIHRoZSBjdXJyZW50IHRocmVh
ZA0KKyAqLw0KK2ludAkJanRocmVhZF9vbl9jdXJyZW50X3N0YWNrKHZvaWQg
KmJwKTsNCisKKy8qIA0KKyAqIENoZWNrIGZvciByb29tIG9uIHN0YWNrLg0K
KyAqLw0KK2ludAkJanRocmVhZF9zdGFja2NoZWNrKGludCBsZWZ0KTsNCisK
Ky8qDQorICogR2V0IHRoZSBjdXJyZW50IHN0YWNrIGxpbWl0Lg0KKyAqLw0K
Kw0KK3ZvaWQganRocmVhZF9yZWxheHN0YWNrKGludCB5ZXMpOw0KIAotc3Rh
dGljIGlubGluZSB2b2lkCi1qdGhyZWFkX3JlbGF4c3RhY2soaW50IHllcykK
LXsKLQlpZiggeWVzICkKLQl7Ci0jaWYgZGVmaW5lZChTVEFDS19HUk9XU19V
UCkKLQkJdWludHAgZW5kID0gKHVpbnRwKSBjdXJyZW50SlRocmVhZC0+c3Rh
Y2tFbmQ7Ci0JCWVuZCArPSBSRURaT05FOwotCQljdXJyZW50SlRocmVhZC0+
c3RhY2tFbmQgPSAodm9pZCAqKSBlbmQ7Ci0jZWxzZQotCQl1aW50cCBiYXNl
ID0gKHVpbnRwKSBjdXJyZW50SlRocmVhZC0+c3RhY2tCYXNlOwotCQliYXNl
IC09IFJFRFpPTkU7Ci0JCWN1cnJlbnRKVGhyZWFkLT5zdGFja0Jhc2UgPSAo
dm9pZCAqKSBiYXNlOwotI2VuZGlmCi0JfQotCWVsc2UKLQl7Ci0jaWYgZGVm
aW5lZChTVEFDS19HUk9XU19VUCkKLQkJdWludHAgZW5kID0gKHVpbnRwKSBj
dXJyZW50SlRocmVhZC0+c3RhY2tFbmQ7Ci0JCWVuZCAtPSBSRURaT05FOwot
CQljdXJyZW50SlRocmVhZC0+c3RhY2tFbmQgPSAodm9pZCAqKSBlbmQ7Ci0j
ZWxzZQotCQl1aW50cCBiYXNlID0gKHVpbnRwKSBjdXJyZW50SlRocmVhZC0+
c3RhY2tCYXNlOwotCQliYXNlICs9IFJFRFpPTkU7Ci0JCWN1cnJlbnRKVGhy
ZWFkLT5zdGFja0Jhc2UgPSAodm9pZCAqKSBiYXNlOwotI2VuZGlmCi0JfQot
fQotCi1zdGF0aWMKLWlubGluZQotdm9pZCoKLWp0aHJlYWRfc3RhY2tsaW1p
dCh2b2lkKQotewotI2lmIGRlZmluZWQoU1RBQ0tfR1JPV1NfVVApCi0gICAg
ICAgIHJldHVybiAodm9pZCopKCh1aW50cCljdXJyZW50SlRocmVhZC0+c3Rh
Y2tFbmQgLSBSRURaT05FKTsKLSNlbHNlCi0gICAgICAgIHJldHVybiAodm9p
ZCopKCh1aW50cCljdXJyZW50SlRocmVhZC0+c3RhY2tCYXNlICsgUkVEWk9O
RSk7Ci0jZW5kaWYKLX0KK3ZvaWQqIGp0aHJlYWRfc3RhY2tsaW1pdCh2b2lk
KTsNCiAKIC8qCiAgKiBkZXRlcm1pbmUgdGhlICJpbnRlcmVzdGluZyIgc3Rh
Y2sgcmFuZ2UgYSBjb25zZXJ2YXRpdmUgZ2MgbXVzdCB3YWxrCkBAIC0zNjgs
MjEgKzMwMSwxMCBAQAogLyogcmVzdG9yZSBhbiBmZCwgaS5lLiwgcHV0IGl0
IGluIGJsb2NraW5nIHN0YXRlIHdpdGhvdXQgYXN5bmMgSS9PICovCiAjZGVm
aW5lIEpUSFJFQURfUkVTVE9SRV9GRAogdm9pZCBqdGhyZWFkUmVzdG9yZUZE
KGludCBmZCk7Ci0KLQotLyogU3BpbmxvY2tzOiBzaW1wbGUgc2luY2Ugd2Un
cmUgdW5pcHJvY2Vzc29yICovCi0vKiBBUkdTVVNFRCAqLwotc3RhdGljIGlu
bGluZQotdm9pZCBqdGhyZWFkX3NwaW5vbih2b2lkICphcmcpCi17Ci0JanRo
cmVhZF9zdXNwZW5kYWxsKCk7Ci19Ci0KLS8qIEFSR1NVU0VEICovCi1zdGF0
aWMgaW5saW5lCi12b2lkIGp0aHJlYWRfc3Bpbm9mZih2b2lkICphcmcpCi17
Ci0JanRocmVhZF91bnN1c3BlbmRhbGwoKTsKLX0KKw0KKy8qIFNwaW5sb2Nr
czogc2ltcGxlIHNpbmNlIHdlJ3JlIHVuaXByb2Nlc3NvciAqLw0KK3ZvaWQg
anRocmVhZF9zcGlub24odm9pZCAqYXJnKTsNCisNCit2b2lkIGp0aHJlYWRf
c3Bpbm9mZih2b2lkICphcmcpOw0KIAogI2VuZGlmCg==
--0-1952868059-1055106387=:80493
Content-Type: application/octet-stream; name="faillog.bz2"
Content-Transfer-Encoding: base64
Content-Description: faillog.bz2
Content-Disposition: attachment; filename="faillog.bz2"
QlpoOTFBWSZTWfIZYsgARahfgAASUP//8D///4r////wYCU999UWAB777y4A
C3pD6BAh3n1W956eo8jXXVcQAUAAAAAOgvYcqB9gE6fZ03rwRJAqXW3hndCm
NoqkqhKHWKULWg2yIg0CaAImU0TyMmpgp6npDBqaA0AAA1PQBAUVJAAAAAAA
AAANNNCESn6U/VADRkaADQD0gNAAAJT9UoQ1CKepqGINDEDI0ZBpkNAYTQCJ
RCYhMyE0ACGUeqeapjQmNI0epgymgiSJoTISekwEJNih6T9JqZANND0gAHeX
X+99r/Hj9PPPLjnY4MlzuZxn7GYZYZRIJIjIIoBICklwBeu9rVWGo4qo1haU
xBME/Nv0MfiP7ta/4YArm/o0T9QUROUUSA0EEfnFChggSABT/CG9mCtrQMld
oWuV9gGi2qof8YIyKjmxDQMhNf4ud/8ZIUh0ccLAYB1V1As5uN6AUUuhls2Q
zq+eYgXgKIxYgAGrndVBSwEQzllbfg3uKGHqfi/nxXhjq2/to2YwZE5INIMp
ZV0fv8ic5GyYQzP1b53fb3fV/5fW44vt/+47+F19bgUADd1IW/TLeC2We3Fs
lzbv192IiIiJ89t3bURERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERy1ERERE9tt3bd23dt423dt3
bd23dtTdtRN23dtRdboABAONtRAOBK6TRxaNW0a6NpWFiWdSqMFUtMJKnnlr
Tn34V4wdA7FwQ4QBLJ+9JM7B31l6GjYMbWgfMkZTGh2QnWJsZmxmaSkHoo11
I45OjymFRdIqAVK4fOtgXaimdaf7mmrecPju9RY5567PMhEWQRBZASQFUkUk
EncKgpBUFPOnsNvDJd6eawKAHvHmf9hY9SnNkNDb4VtCC6Lysh1qmz/RtXzB
JG80FeOe9bZmmCb3rR9EMFYZdi+t5fr9429bRF1lfaPfY3s4f21yLpfbeIVH
VPXunb0zdSjucnj5PknTI2ls+fmdwdZO/O2a17p90+87apt+U+6fedp13xHu
zPobUN6NZPtIl1VdVfd46Jvnt+aPerjRnNeZ1O4hvVyIqW47vqp97O4qNa02
o1N3PvT6+6z5F9nVueV6Na0hVPdhGG6nm89nXtbO0kNHojjrvMu/HXN9vm3f
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
cUNnBKKAFTjUPINZ/8XckU4UJDyGWLIA
--0-1952868059-1055106387=:80493--