gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] FreeBSD port (Was: Re: NetBSD/sparc port?)


From: Camm Maguire
Subject: Re: [Gcl-devel] FreeBSD port (Was: Re: NetBSD/sparc port?)
Date: 12 Sep 2003 18:39:42 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks for your interest in BSD GCL!  

I have a user whose submitted patches to get a good GCL build on
FreeBSD, with which he can compile AXIOM (much harder than compiling
maxima).  I haven't yet had time to incorporate them, but hope to
soon.  I've enclosed the patch below, and cc'ed him in this note.

I have some thoughts on maintaining this, but I have to leave
momentarily.  We need to move toward consolidating the .h files, I'd
prefer around linux.h, and little by little handling
exceptions/overrides in configure.  Anyway, the build is close, so
don't lose heart.  More later.

Take care,

=============================================================================
Attached you find patch to get gcl-2.5.3 compiled on FreeBSD 5.1. With
this gcl image, I was able to compile the AXIOM sources.

Configure options are --enable-custreloc --disable-statsysbfd
--enable-machine=FreeBSD

I was not successful with the other link options.
I was able to compile the gcl with BFD or DLOPEN and generate
a saved_gcl, but I could not load cmpnew/collectfn.o. Maybe I
made a mistake.

Juergen Weiss


Juergen Weiss     | Universitaet Mainz, Zentrum fuer Datenverarbeitung,
address@hidden| 55099 Mainz, Tel: +49(6131)39-26361, FAX:
=============================================================================

--[[application/octet-stream; type=patch
Content-Disposition: attachment; filename="gcl-2.5.3.diff"][base64]]
ZGlmZiAtcmMgZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmRlZnMgZ2NsLTIuNS4zLm1vZC9oL0Zy
ZWVCU0QuZGVmcwoqKiogZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmRlZnMJRnJpIE5vdiAgMSAw
NTowOTozNCAyMDAyCi0tLSBnY2wtMi41LjMubW9kL2gvRnJlZUJTRC5kZWZzCUZyaSBTZXAgIDUg
MjM6MjE6MTcgMjAwMwoqKioqKioqKioqKioqKioKKioqIDQsMTQgKioqKgogIAogIExCSU5ESVI9
L3Vzci9sb2NhbC9iaW4KICAKISBPRkxBRwk9IC1waXBlIC1PMiAKISBDRkxBR1MJPSAtZndyaXRh
YmxlLXN0cmluZ3MgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLURWT0w9dm9sYXRpbGUgLUkkKEdDTERJ
UikvbyAtSS91c3IvbG9jYWwvbGliL2djbC0yLjAvaCAtZnNpZ25lZC1jaGFyIC1JL3Vzci9sb2Nh
bC9saWIKISBMSUJTICAgID0gLWxtIC1ML3Vzci9sb2NhbC9saWIKISBPRElSX0RFQlVHPQohIE5V
TExGSUxFPS4uL2gvdHdlbHZlX251bGwKICAKICAjIFRoaXMgQ0Mgc3RyaW5nIHdpbGwgYmUgdXNl
ZCBmb3IgY29tcGlsYXRpb24gb2YgdGhlIHN5c3RlbSwKICAjIGFuZCBhbHNvIGluIHRoZSBjb21w
aWxlcjo6KmNjKiB2YXJpYWJsZSBmb3IgbGF0ZXIgY29tcGlsYXRpb24gb2YKLS0tIDQsMTQgLS0t
LQogIAogIExCSU5ESVI9L3Vzci9sb2NhbC9iaW4KICAKISAjT0ZMQUcJPSAtcGlwZSAtTzIgCiEg
I0NGTEFHUwk9IC1md3JpdGFibGUtc3RyaW5ncyAtZm9taXQtZnJhbWUtcG9pbnRlciAtRFZPTD12
b2xhdGlsZSAtSSQoR0NMRElSKS9vIC1JL3Vzci9sb2NhbC9saWIvZ2NsLTIuMC9oIC1mc2lnbmVk
LWNoYXIgLUkvdXNyL2xvY2FsL2xpYgohICNMSUJTICAgID0gLWxtIC1ML3Vzci9sb2NhbC9saWIK
ISAjT0RJUl9ERUJVRz0KISAjTlVMTEZJTEU9Li4vaC90d2VsdmVfbnVsbAogIAogICMgVGhpcyBD
QyBzdHJpbmcgd2lsbCBiZSB1c2VkIGZvciBjb21waWxhdGlvbiBvZiB0aGUgc3lzdGVtLAogICMg
YW5kIGFsc28gaW4gdGhlIGNvbXBpbGVyOjoqY2MqIHZhcmlhYmxlIGZvciBsYXRlciBjb21waWxh
dGlvbiBvZgoqKioqKioqKioqKioqKioKKioqIDE5LDI2ICoqKioKICBMRENDID0gJChDQykgLXN0
YXRpYwogIAogICMgIFVzZSB0aGUgbXAucyBmaWxlIG9uIDY4ayBtYWNoaW5lIAohIE1QRklMRVM9
ICQoTVBESVIpL21waS0zODYubyAkKE1QRElSKS9saWJtcG9ydC5hCiEgR05VTElCMT0vdXNyL2xp
Yi9saWJnY2MuYQogIAogICMgRW5hYmxlIHRoZSBmYXN0bG9hZGluZyBtZWNoYW5pc20gd2hpY2gg
ZG9lcyBub3QgdXNlIGxkIC1BCiAgIyByZXF1aXJlcyBjL3JlbF8uLiBtYWNoaW5lIGRlcGVuZGVu
dCBjb2RlLgotLS0gMTksMjYgLS0tLQogIExEQ0MgPSAkKENDKSAtc3RhdGljCiAgCiAgIyAgVXNl
IHRoZSBtcC5zIGZpbGUgb24gNjhrIG1hY2hpbmUgCiEgI01QRklMRVM9ICQoTVBESVIpL21waS0z
ODYubyAkKE1QRElSKS9saWJtcG9ydC5hCiEgI0dOVUxJQjE9L3Vzci9saWIvbGliZ2NjLmEKICAK
ICAjIEVuYWJsZSB0aGUgZmFzdGxvYWRpbmcgbWVjaGFuaXNtIHdoaWNoIGRvZXMgbm90IHVzZSBs
ZCAtQQogICMgcmVxdWlyZXMgYy9yZWxfLi4gbWFjaGluZSBkZXBlbmRlbnQgY29kZS4KZGlmZiAt
cmMgZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmggZ2NsLTIuNS4zLm1vZC9oL0ZyZWVCU0QuaAoq
KiogZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmgJRnJpIE5vdiAgMSAwNTowOTozNCAyMDAyCi0t
LSBnY2wtMi41LjMubW9kL2gvRnJlZUJTRC5oCVNhdCBTZXAgIDYgMTE6MTc6MjQgMjAwMwoqKioq
KioqKioqKioqKioKKioqIDgsMTMgKioqKgotLS0gOCw0NiAtLS0tCiAgCiAgI2luY2x1ZGUgImJz
ZC5oIgogIAorICNpZm5kZWYgX19FTEZfXworICNlcnJvciBGcmVlQlNEIHN5c3RlbXMgdXNlIEVM
RgorICNlbmRpZgorIAorICN1bmRlZiBIQVZFX0FPVVQKKyAjZGVmaW5lIEhBVkVfQU9VVCA8ZWxm
Lmg+CisgI2RlZmluZSBIQVZFX0VMRgorICNkZWZpbmUgRWxmVyhhKSBFbGYzMl8gIyMgYQorIAor
IAorIC8qIFNlZWtpbmcgdG8gdGhlIGVuZCBvZiBFTEYgZGF0YSBpcyBhIGxpdHRsZSBtZXNzeS4u
LiAqLworICNpbmNsdWRlIDxsaW5rLmg+CisgI2RlZmluZSBTRUVLX1RPX0VORF9PRklMRShmcClc
CisgICBkbyB7IFwKKyAJbG9uZyBvZmZzZXQgPSAwLCBlbmRvZmVsZjsgaW50IGo7IFwKKyAJRWxm
VyhFaGRyKSBlaGVhZGVyOyBFbGZXKFNoZHIpIHNoZHI7IFwKKyAgICAgICAgIGZzZWVrKGZwLCAw
LCBTRUVLX1NFVCk7IFwKKyAgICAgICAgIGZyZWFkKCZlaGVhZGVyLCBzaXplb2YoZWhlYWRlciks
IDEsIGZwKTsgXAorICAgLyogaW4gY2FzZSB0aGUgaGVhZGVycyB0aGVtc2VsdmVzIGNvbWUgQUZU
RVIgdGhlIGFjdHVhbCBzZWN0aW9ucyAqLyBcCisgCWVuZG9mZWxmPW9mZnNldCA9IGVoZWFkZXIu
ZV9zaG9mZisgZWhlYWRlci5lX3NoZW50c2l6ZSAqZWhlYWRlci5lX3NobnVtO1wKKyAgICAgICAg
IGZzZWVrKGZwLCBlaGVhZGVyLmVfc2hvZmYsIFNFRUtfU0VUKTsgXAorIAlpZiAoIGVoZWFkZXIu
ZV9zaGVudHNpemUgIT0gc2l6ZW9mKEVsZlcoU2hkcikpICkgXAorIAkgIHsgRkVlcnJvcigiQmFk
IEVMRiBzZWN0aW9uIGhlYWRlciBzaXplIiwwKTsgfSBcCisgICAgICAgICBmb3IgKCBqID0gMDsg
aiA8IGVoZWFkZXIuZV9zaG51bTsgaisrICkgXAorIAkgIHsgZnJlYWQoJnNoZHIsZWhlYWRlci5l
X3NoZW50c2l6ZSwxLGZwKTsgXAorICAgICAgICAgICAgIGlmICggKHNoZHIuc2hfb2Zmc2V0ID4g
b2Zmc2V0KSAmJiAoc2hkci5zaF90eXBlICE9IFNIVF9OT0JJVFMpICkgXAorIAkgICAgICB7IG9m
ZnNldCA9IHNoZHIuc2hfb2Zmc2V0OyBlbmRvZmVsZiA9IG9mZnNldCtzaGRyLnNoX3NpemU7IH0g
XAorIAkgIH0gXAorIAlpZiAoIGZzZWVrKGZwLCBlbmRvZmVsZiwgU0VFS19TRVQpICkgXAorIAkg
ICAgRkVlcnJvcigiQmFkIEVMRiBmaWxlIiwwKTsgXAorICAgICAgIH0gd2hpbGUoMCkKKyAKKyAK
ICAjdW5kZWYgTERfQ09NTUFORAogICNkZWZpbmUgTERfQ09NTUFORChjb21tYW5kLG1haW4sc3Rh
cnQsaW5wdXQsbGRhcmcsb3V0cHV0KSBcCiAgICBzcHJpbnRmKGNvbW1hbmQsICJsZCAtZGMgLU4g
LXggLUEgJXMgLVQgJXggJXMgJXMgLW8gJXMiLCBcCioqKioqKioqKioqKioqKgoqKiogMzksNTUg
KioqKgogICNlbmRpZgogIAogICNkZWZpbmUgREFUQV9CRUdJTiAoY2hhciAqKSBOX0RBVEFERFIo
aGVhZGVyKTsKLSAjZGVmaW5lIEFfVEVYVF9PRkZTRVQoeCkgKHNpemVvZiAoc3RydWN0IGV4ZWMp
KQotICNkZWZpbmUgQV9URVhUX1NFRUsoaGRyKSAoTl9UWFRPRkYoaGRyKSArIEFfVEVYVF9PRkZT
RVQoaGRyKSkKLSAjZGVmaW5lIHN0YXJ0X29mX2RhdGEoKSAmZXRleHQKLSAjZGVmaW5lIHN0YXJ0
X29mX3RleHQoKSAoKGNoYXIgKikoc2l6ZW9mKHN0cnVjdCBleGVjKSArIGdldHBhZ2VzaXplKCkp
KQotIAotICNkZWZpbmUgVU5JWFNBVkUgInVuZXhlYy5jIgotICNpZmRlZiBVTklYU0FWRSAKLSAg
ZXh0ZXJuIGNoYXIgZXRleHQ7Ci0gI2VuZGlmCiAgCiEgI2RlZmluZSBSRUxPQ19GSUxFICJyZWxf
c3VuMy5jIgkvKiBmb3IgU0ZBU0wgLSBlbmFibGVkIGluIGJzZC5oICovCiAgCiAgI2lmZGVmIENM
T0NLU19QRVJfU0VDCiAgI2RlZmluZSBIWiBDTE9DS1NfUEVSX1NFQwotLS0gNzIsODAgLS0tLQog
ICNlbmRpZgogIAogICNkZWZpbmUgREFUQV9CRUdJTiAoY2hhciAqKSBOX0RBVEFERFIoaGVhZGVy
KTsKICAKISAvKiNkZWZpbmUgVU5FWEVDX1VTRV9NQVBfUFJJVkFURSovCiEgI2RlZmluZSBVTklY
U0FWRSAidW5leGVsZi5jIgogIAogICNpZmRlZiBDTE9DS1NfUEVSX1NFQwogICNkZWZpbmUgSFog
Q0xPQ0tTX1BFUl9TRUMKKioqKioqKioqKioqKioqCioqKiA2Nyw3MyAqKioqCiAgI2RlZmluZSBT
RVRVUF9TSUdfU1RBQ0sgXAogIHsgXAogIAlzdGF0aWMgc3RydWN0IHNpZ2FsdHN0YWNrIGVzdGFj
azsgXAohIAlpZiAoKGVzdGFjay5zc19zcCA9IG1hbGxvYyhTSUdTVEtTWikpID09IE5VTEwpIFwK
ICAJICBwZXJyb3IoIm1hbGxvYyIpOyBcCiAgCWVzdGFjay5zc19zaXplID0gU0lHU1RLU1o7IFwK
ICAJZXN0YWNrLnNzX2ZsYWdzID0gMDsgXAotLS0gOTIsOTkgLS0tLQogICNkZWZpbmUgU0VUVVBf
U0lHX1NUQUNLIFwKICB7IFwKICAJc3RhdGljIHN0cnVjdCBzaWdhbHRzdGFjayBlc3RhY2s7IFwK
ISAJaWYgKGVzdGFjay5zc19zcCA9PSBOVUxMICYmIFwKISAJICAgIChlc3RhY2suc3Nfc3AgPSBt
YWxsb2MoU0lHU1RLU1opKSA9PSBOVUxMKSBcCiAgCSAgcGVycm9yKCJtYWxsb2MiKTsgXAogIAll
c3RhY2suc3Nfc2l6ZSA9IFNJR1NUS1NaOyBcCiAgCWVzdGFjay5zc19mbGFncyA9IDA7IFwKZGlm
ZiAtcmMgZ2NsLTIuNS4zLm9yaWcvby9yZWFkbGluZS5kIGdjbC0yLjUuMy5tb2Qvby9yZWFkbGlu
ZS5kCioqKiBnY2wtMi41LjMub3JpZy9vL3JlYWRsaW5lLmQJU2F0IEp1bCAyMCAwOToxMDo1NiAy
MDAyCi0tLSBnY2wtMi41LjMubW9kL28vcmVhZGxpbmUuZAlGcmkgU2VwICA1IDE5OjM5OjQwIDIw
MDMKKioqKioqKioqKioqKioqCioqKiA5NCwxMDAgKioqKgogICAgIHRoZSB3b3JkIHRvIGNvbXBs
ZXRlLiAgV2UgY2FuIHVzZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHJsX2xpbmVfYnVmZmVyCiAg
ICAgaW4gY2FzZSB3ZSB3YW50IHRvIGRvIHNvbWUgc2ltcGxlIHBhcnNpbmcuICBSZXR1cm4gdGhl
IGFycmF5IG9mIG1hdGNoZXMsCiAgICAgb3IgTlVMTCBpZiB0aGVyZSBhcmVuJ3QgYW55LiAqLwoh
IGV4dGVybiBjaGFyICoqY29tcGxldGlvbl9tYXRjaGVzKGNoYXIgKixjaGFyICooKikoY2hhciAq
LGludCkpOwogIHN0YXRpYyBjaGFyICoqcmxfY29tcGxldGlvbihjaGFyICp0ZXh0LCBpbnQgc3Rh
cnQsIGludCBlbmQpIHsKICAJcmV0dXJuIGNvbXBsZXRpb25fbWF0Y2hlcyh0ZXh0LCBybF9jb21w
bGV0aW9uX3dvcmRzKTsKICB9Ci0tLSA5NCwxMDAgLS0tLQogICAgIHRoZSB3b3JkIHRvIGNvbXBs
ZXRlLiAgV2UgY2FuIHVzZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHJsX2xpbmVfYnVmZmVyCiAg
ICAgaW4gY2FzZSB3ZSB3YW50IHRvIGRvIHNvbWUgc2ltcGxlIHBhcnNpbmcuICBSZXR1cm4gdGhl
IGFycmF5IG9mIG1hdGNoZXMsCiAgICAgb3IgTlVMTCBpZiB0aGVyZSBhcmVuJ3QgYW55LiAqLwoh
IC8qZXh0ZXJuIGNoYXIgKipjb21wbGV0aW9uX21hdGNoZXMoY2hhciAqLGNoYXIgKigqKShjaGFy
ICosaW50KSk7Ki8KICBzdGF0aWMgY2hhciAqKnJsX2NvbXBsZXRpb24oY2hhciAqdGV4dCwgaW50
IHN0YXJ0LCBpbnQgZW5kKSB7CiAgCXJldHVybiBjb21wbGV0aW9uX21hdGNoZXModGV4dCwgcmxf
Y29tcGxldGlvbl93b3Jkcyk7CiAgfQpkaWZmIC1yYyBnY2wtMi41LjMub3JpZy9vL3NmYXNsZWxm
LmMgZ2NsLTIuNS4zLm1vZC9vL3NmYXNsZWxmLmMKKioqIGdjbC0yLjUuMy5vcmlnL28vc2Zhc2xl
bGYuYwlXZWQgSnVsIDI0IDIxOjA1OjUzIDIwMDIKLS0tIGdjbC0yLjUuMy5tb2Qvby9zZmFzbGVs
Zi5jCVNhdCBTZXAgIDYgMDA6MzY6NDEgMjAwMwoqKioqKioqKioqKioqKioKKioqIDIzLDI5ICoq
KioKICAgKi8KICAKICAKISAjaWZuZGVmIF9fbGludXhfXwogICNkZWZpbmUgRUxGX1RBUkdFVF9T
UEFSQyAxCiAgI2VuZGlmCiAgCi0tLSAyMywyOSAtLS0tCiAgICovCiAgCiAgCiEgI2lmICFkZWZp
bmVkKF9fbGludXhfXykgJiYgIWRlZmluZWQoX19GcmVlQlNEX18pCiAgI2RlZmluZSBFTEZfVEFS
R0VUX1NQQVJDIDEKICAjZW5kaWYKICAKKioqKioqKioqKioqKioqCioqKiA4Myw4OSAqKioqCiAg
IGlmICghKHN5bWluPWZvcGVuKHN5bWZpbGUsInIiKSkpCiAgICAge3BlcnJvcihzeW1maWxlKTtl
eGl0KDEpO307CiAgIGlmKCFmcmVhZCgoY2hhciAqKSZ0YWIsc2l6ZW9mKHRhYiksMSxzeW1pbikp
CiEgICAgRkVlcnJvcigiTm8gaGVhZGVyIiwwLDApOwogICBzeW1ib2xzPW1hbGxvYyh0YWIudG90
X2xlbmcpOwogICBjX3RhYmxlLmFsbG9jX2xlbmd0aD0oIChQVEFCTEVfRVhUUkErIHRhYi5uX3N5
bWJvbHMpKTsKICAgKGNfdGFibGUucHRhYmxlKSA9IChUQUJMICopIG1hbGxvYyhzaXplb2Yoc3Ry
dWN0IG5vZGUpICogY190YWJsZS5hbGxvY19sZW5ndGgpOwotLS0gODMsODkgLS0tLQogICBpZiAo
IShzeW1pbj1mb3BlbihzeW1maWxlLCJyIikpKQogICAgIHtwZXJyb3Ioc3ltZmlsZSk7ZXhpdCgx
KTt9OwogICBpZighZnJlYWQoKGNoYXIgKikmdGFiLHNpemVvZih0YWIpLDEsc3ltaW4pKQohICAg
IEZFZXJyb3IoIk5vIGhlYWRlciIsMCk7CiAgIHN5bWJvbHM9bWFsbG9jKHRhYi50b3RfbGVuZyk7
CiAgIGNfdGFibGUuYWxsb2NfbGVuZ3RoPSggKFBUQUJMRV9FWFRSQSsgdGFiLm5fc3ltYm9scykp
OwogICAoY190YWJsZS5wdGFibGUpID0gKFRBQkwgKikgbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9k
ZSkgKiBjX3RhYmxlLmFsbG9jX2xlbmd0aCk7CioqKioqKioqKioqKioqKgoqKiogMTk2LDIwMiAq
KioqCiAgICAgZmlsZSA9IGZpbGVubyhmcCk7CiAgCiAgICAgaWYgKGZzdGF0IChmaWxlLCAmc3Rh
dF9idWYpID09IC0xKQohICAgICAgRkVlcnJvciAoIkNhbid0IGZzdGF0KH5hKTogZXJybm8gJWRc
biIsIDEsZmFzbGZpbGUpOwogIAogIAogICAgIGlmICh1c2VfbW1hcCkgewotLS0gMTk2LDIwMiAt
LS0tCiAgICAgZmlsZSA9IGZpbGVubyhmcCk7CiAgCiAgICAgaWYgKGZzdGF0IChmaWxlLCAmc3Rh
dF9idWYpID09IC0xKQohICAgICAgRkVlcnJvciAoIkNhbid0IGZzdGF0KH5hKTogZXJybm8gJWRc
biIsIDIsZmFzbGZpbGUsMCk7CiAgCiAgCiAgICAgaWYgKHVzZV9tbWFwKSB7CioqKioqKioqKioq
KioqKgoqKiogMzAzLDMwOSAqKioqCiAgICAgCiAgICAgcmVsb2NhdGVfc3ltYm9scyhzeW1ib2xf
dGFibGUsbnN5bXMsZmlsZV9oLT5lX3NobnVtLCZpbml0X2FkZHJlc3MpOwogICAgIGlmIChpbml0
X2FkZHJlc3MgPCAwKQohICAgICAgeyBGRWVycm9yKDAsIkluaXQgYWRkcmVzcyBub3QgZm91bmQg
Iik7CiAgICAgICB9CiAgCiAgICAgeyAKLS0tIDMwMywzMDkgLS0tLQogICAgIAogICAgIHJlbG9j
YXRlX3N5bWJvbHMoc3ltYm9sX3RhYmxlLG5zeW1zLGZpbGVfaC0+ZV9zaG51bSwmaW5pdF9hZGRy
ZXNzKTsKICAgICBpZiAoaW5pdF9hZGRyZXNzIDwgMCkKISAgICAgIHsgRkVlcnJvcigiSW5pdCBh
ZGRyZXNzIG5vdCBmb3VuZCAiLDApOwogICAgICAgfQogIAogICAgIHsgCioqKioqKioqKioqKioq
KgoqKiogMzE3LDMyMyAqKioqCiAgCSAgIHsKICAJICAgICBpbnQgaW5kZXhfdG9fcmVsb2NhdGUg
PSBzaHAtPnNoX2luZm87CiAgCSAgICAgaWYgKHN5bXRhYl9pbmRleCAhPSBzaHAtPnNoX2xpbmsp
CiEgCSAgICAgICBGRWVycm9yKCJ1bmV4cGVjdGVkIHN5bWJvbCB0YWJsZSB1c2VkIik7CiAgCSAg
ICAgdGhlX3N0YXJ0ID0gc3RhcnRfYWRkcmVzcyArIHNlY3Rpb25baW5kZXhfdG9fcmVsb2NhdGVd
LnN0YXJ0OwogIAkgICB9CiAgLyogIAkgZWxzZSBpZiAoc2hwLT5zaF90eXBlID09IFNIVF9SRUwg
Ki8KLS0tIDMxNywzMjMgLS0tLQogIAkgICB7CiAgCSAgICAgaW50IGluZGV4X3RvX3JlbG9jYXRl
ID0gc2hwLT5zaF9pbmZvOwogIAkgICAgIGlmIChzeW10YWJfaW5kZXggIT0gc2hwLT5zaF9saW5r
KQohIAkgICAgICAgRkVlcnJvcigidW5leHBlY3RlZCBzeW1ib2wgdGFibGUgdXNlZCIsMCk7CiAg
CSAgICAgdGhlX3N0YXJ0ID0gc3RhcnRfYWRkcmVzcyArIHNlY3Rpb25baW5kZXhfdG9fcmVsb2Nh
dGVdLnN0YXJ0OwogIAkgICB9CiAgLyogIAkgZWxzZSBpZiAoc2hwLT5zaF90eXBlID09IFNIVF9S
RUwgKi8KKioqKioqKioqKioqKioqCioqKiAzMzIsMzM4ICoqKioKICAJIGVsc2UgaWYgKCAoc2hw
LT5zaF90eXBlID09IFNIVF9SRUwpIHx8IChzaHAtPnNoX3R5cGUgPT0gU0hUX1JFTEEpICkKICAJ
ICAgeyAgaWYgKGdldF9zZWN0aW9uX251bWJlcigiLnJlbC5zdGFiIikgPT0gaikKICAJICAgICAg
ICAgY29udGludWU7CiEgCSAgICAgRkVlcnJvcigidW5rbm93biByZWwgdHlwZSIpOwogIAkgICB9
CiAgCSBlbHNlCiAgCSAgIGNvbnRpbnVlOwotLS0gMzMyLDMzOCAtLS0tCiAgCSBlbHNlIGlmICgg
KHNocC0+c2hfdHlwZSA9PSBTSFRfUkVMKSB8fCAoc2hwLT5zaF90eXBlID09IFNIVF9SRUxBKSAp
CiAgCSAgIHsgIGlmIChnZXRfc2VjdGlvbl9udW1iZXIoIi5yZWwuc3RhYiIpID09IGopCiAgCSAg
ICAgICAgIGNvbnRpbnVlOwohIAkgICAgIEZFZXJyb3IoInVua25vd24gcmVsIHR5cGUiLDApOwog
IAkgICB9CiAgCSBlbHNlCiAgCSAgIGNvbnRpbnVlOwoqKioqKioqKioqKioqKioKKioqIDUyMCw1
MjYgKioqKgogICAgICBlbHNlIGlmIChzaF90eXBlID09IFNIVF9SRUwpCiAgICAgICAgYSA9IDA7
CiAgICAgIGVsc2UgewohICAgICAgIEZFZXJyb3IoInJlbG9jYXRlKCkgZXJyb3I6IHVua25vd24g
c2hfdHlwZSBpbiBFTEYgb2JqZWN0Iik7CiAgICAgICAgYT0wOwogICAgICB9CiAgICAgIGIgPSAo
dW5zaWduZWQgaW50KSB0aGVfc3RhcnQ7Ci0tLSA1MjAsNTI2IC0tLS0KICAgICAgZWxzZSBpZiAo
c2hfdHlwZSA9PSBTSFRfUkVMKQogICAgICAgIGEgPSAwOwogICAgICBlbHNlIHsKISAgICAgICBG
RWVycm9yKCJyZWxvY2F0ZSgpIGVycm9yOiB1bmtub3duIHNoX3R5cGUgaW4gRUxGIG9iamVjdCIs
MCk7CiAgICAgICAgYT0wOwogICAgICB9CiAgICAgIGIgPSAodW5zaWduZWQgaW50KSB0aGVfc3Rh
cnQ7CioqKioqKioqKioqKioqKgoqKiogNTQwLDU0OCAqKioqCiAgLyogICAgICBkb19iZmRfcmVs
b2MoRUxGMzJfUl9UWVBFKHJlbG9jX2luZm8tPnJfaW5mbykscythLCh1bnNpZ25lZCBpbnQgKil3
aGVyZSk7ICovCiAgLyogICNlbHNlICovCiAgICAgIHN3aXRjaChFTEYzMl9SX1RZUEUocmVsb2Nf
aW5mby0+cl9pbmZvKSl7CiEgI2lmIChkZWZpbmVkKF9fc3ZyNF9fKSB8fCBkZWZpbmVkKF9fbGlu
dXhfXykpICYmIGRlZmluZWQoX19pMzg2X18pCiAgICAgIGNhc2UgICAgIFJfMzg2X05PTkU6CiEg
ICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfTk9ORSIpOwogICAgICAg
IGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl8zMjoKLS0tIDU0MCw1NDggLS0tLQogIC8q
ICAgICAgZG9fYmZkX3JlbG9jKEVMRjMyX1JfVFlQRShyZWxvY19pbmZvLT5yX2luZm8pLHMrYSwo
dW5zaWduZWQgaW50ICopd2hlcmUpOyAqLwogIC8qICAjZWxzZSAqLwogICAgICBzd2l0Y2goRUxG
MzJfUl9UWVBFKHJlbG9jX2luZm8tPnJfaW5mbykpewohICNpZiAoZGVmaW5lZChfX3N2cjRfXykg
fHwgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pKSAmJiBkZWZpbmVk
KF9faTM4Nl9fKQogICAgICBjYXNlICAgICBSXzM4Nl9OT05FOgohICAgICAgIEZFZXJyb3IoIlVu
c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X05PTkUiLDApOwogICAgICAgIGJyZWFrOwogIAogICAg
ICBjYXNlICAgICBSXzM4Nl8zMjoKKioqKioqKioqKioqKioqCioqKiA1NTYsNTk1ICoqKioKICAg
ICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR09UMzI6CiEgICAgICAgRkVlcnJv
cigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfR09ZMzIiKTsKICAgICAgICBicmVhazsKICAK
ICAgICAgY2FzZSAgICAgUl8zODZfUExUMzI6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQg
RUxGIHR5cGUgUl8zODZfUExUMzIiKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAg
Ul8zODZfQ09QWToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9D
T1BZIik7CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X0dMT0JfREFUOgoh
ICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0dMT0JfREFUIik7CiAg
ICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X0pNUF9TTE9UOgohICAgICAgIEZF
ZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0pNUF9TTE9UIik7CiAgICAgICAgYnJl
YWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X1JFTEFUSVZFOgohICAgICAgIEZFZXJyb3IoIlVu
c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X1JFTEFUSVZFIik7CiAgICAgICAgYnJlYWs7CiAgCiAg
ICAgIGNhc2UgICAgIFJfMzg2X0dPVE9GRjoKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBF
TEYgdHlwZSBSXzM4Nl9HT1RPRkYiKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAg
Ul8zODZfR09UUEM6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZf
R09UUEMiKTsKICAgICAgICBicmVhazsKICAKICAjaWZkZWYgUl8zODZfTlVNCiAgICAgIGNhc2Ug
ICAgIFJfMzg2X05VTToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4
Nl9OVU0iKTsKICAgICAgICBicmVhazsKICAjZW5kaWYKICAKLS0tIDU1Niw1OTUgLS0tLQogICAg
ICAgIGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl9HT1QzMjoKISAgICAgICBGRWVycm9y
KCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9HT1kzMiIsMCk7CiAgICAgICAgYnJlYWs7CiAg
CiAgICAgIGNhc2UgICAgIFJfMzg2X1BMVDMyOgohICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVk
IEVMRiB0eXBlIFJfMzg2X1BMVDMyIiwwKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAg
ICAgUl8zODZfQ09QWToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4
Nl9DT1BZIiwwKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR0xPQl9E
QVQ6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfR0xPQl9EQVQi
LDApOwogICAgICAgIGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl9KTVBfU0xPVDoKISAg
ICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9KTVBfU0xPVCIsMCk7CiAg
ICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X1JFTEFUSVZFOgohICAgICAgIEZF
ZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X1JFTEFUSVZFIiwwKTsKICAgICAgICBi
cmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR09UT0ZGOgohICAgICAgIEZFZXJyb3IoIlVu
c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0dPVE9GRiIsMCk7CiAgICAgICAgYnJlYWs7CiAgCiAg
ICAgIGNhc2UgICAgIFJfMzg2X0dPVFBDOgohICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVkIEVM
RiB0eXBlIFJfMzg2X0dPVFBDIiwwKTsKICAgICAgICBicmVhazsKICAKICAjaWZkZWYgUl8zODZf
TlVNCiAgICAgIGNhc2UgICAgIFJfMzg2X05VTToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRl
ZCBFTEYgdHlwZSBSXzM4Nl9OVU0iLDApOwogICAgICAgIGJyZWFrOwogICNlbmRpZgogIAoqKioq
KioqKioqKioqKioKKioqIDY1Nyw2NjMgKioqKgogIAkgIGZmbHVzaChzdGRvdXQpOwogIAl9CiAg
ICAgIH0KISAgIGVsc2V7RkVlcnJvcigic3ltYm9sIHRhYmxlIG5vdCBsb2FkZWQiLDAsMCk7fQog
IH0KICAKICBzdGF0aWMgdm9pZAotLS0gNjU3LDY2MyAtLS0tCiAgCSAgZmZsdXNoKHN0ZG91dCk7
CiAgCX0KICAgICAgfQohICAgZWxzZXtGRWVycm9yKCJzeW1ib2wgdGFibGUgbm90IGxvYWRlZCIs
MCk7fQogIH0KICAKICBzdGF0aWMgdm9pZApkaWZmIC1yYyBnY2wtMi41LjMub3JpZy9vL3VuaXhm
YXNsLmMgZ2NsLTIuNS4zLm1vZC9vL3VuaXhmYXNsLmMKKioqIGdjbC0yLjUuMy5vcmlnL28vdW5p
eGZhc2wuYwlTYXQgRmViIDE1IDAxOjM4OjI4IDIwMDMKLS0tIGdjbC0yLjUuMy5tb2Qvby91bml4
ZmFzbC5jCUZyaSBTZXAgIDUgMTk6MzU6NTcgMjAwMwoqKioqKioqKioqKioqKioKKioqIDI4Miwy
ODggKioqKgogIHN0YXRpYyBpbnQKICBmYXNsaW5rKG9iamVjdCBmYXNsZmlsZSwgb2JqZWN0IGxk
YXJnc3RyaW5nKQogIHsKISAjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19FTEZf
XykKICAgIEZFZXJyb3IoImZhc2xpbmsoKSBub3Qgc3VwcG9ydGVkIGZvciBFTEYgeWV0IiwwKTsK
ICAgIHJldHVybiAwOwogICNlbHNlCi0tLSAyODIsMjg4IC0tLS0KICBzdGF0aWMgaW50CiAgZmFz
bGluayhvYmplY3QgZmFzbGZpbGUsIG9iamVjdCBsZGFyZ3N0cmluZykKICB7CiEgI2lmIChkZWZp
bmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmIGRlZmluZWQoX19FTEZf
XykKICAgIEZFZXJyb3IoImZhc2xpbmsoKSBub3Qgc3VwcG9ydGVkIGZvciBFTEYgeWV0IiwwKTsK
ICAgIHJldHVybiAwOwogICNlbHNlCmRpZmYgLXJjIGdjbC0yLjUuMy5vcmlnL3VuaXhwb3J0L3Jz
eW1fZWxmLmMgZ2NsLTIuNS4zLm1vZC91bml4cG9ydC9yc3ltX2VsZi5jCioqKiBnY2wtMi41LjMu
b3JpZy91bml4cG9ydC9yc3ltX2VsZi5jCVRodSBKdWwgMjUgMjM6NDk6NDcgMjAwMgotLS0gZ2Ns
LTIuNS4zLm1vZC91bml4cG9ydC9yc3ltX2VsZi5jCUZyaSBTZXAgIDUgMjM6NTI6MTcgMjAwMwoq
KioqKioqKioqKioqKioKKioqIDM2LDQyICoqKioKICAjdW5kZWYgRVhUX2FuZF9URVhUX0JTU19E
QVQKICAjZGVmaW5lIG1qb2luKGEsYikgYSAjIyBiCiAgI2RlZmluZSBNam9pbihhLGIpIG1qb2lu
KGEsYikKISAjZGVmaW5lIEVMRlcoYSkgTWpvaW4oRUxGLE1qb2luKF9fRUxGX05BVElWRV9DTEFT
UyxNam9pbihfLGEpKSkKICAKICBpbnQgbnN5bXM7CiAgY2hhciAqbXlfc3RyaW5nX3RhYmxlOwot
LS0gMzYsNDIgLS0tLQogICN1bmRlZiBFWFRfYW5kX1RFWFRfQlNTX0RBVAogICNkZWZpbmUgbWpv
aW4oYSxiKSBhICMjIGIKICAjZGVmaW5lIE1qb2luKGEsYikgbWpvaW4oYSxiKQohICNkZWZpbmUg
RUxGVyhhKSBNam9pbihFTEYzMixNam9pbihfLGEpKQogIAogIGludCBuc3ltczsKICBjaGFyICpt
eV9zdHJpbmdfdGFibGU7CioqKioqKioqKioqKioqKgoqKiogMTM2LDE0MiAqKioqCiAgCXVuc2ln
bmVkIGludCBpOwogIAlGSUxFICpmcDsKICAJaW50IHN5bXNpemU7Ci0gCWV4dGVybiBjaGFyICpt
YWxsb2MoKTsKICAJCiAgICAgICAgICAKICAJZnAgPSBmb3BlbihmaWxlbmFtZSwgUkRPTkxZKTsK
LS0tIDEzNiwxNDEgLS0tLQo=


Mark Murray <address@hidden> writes:

> Hi
> 
> I'm trying to fix GCL for FreeBSD, taking a lead from the NetBSD
> work.
> 
> Camm Maguire writes:
> > Greetings!
> > 
> > Basically this is just a means to get the wordsize on the machine.
> > 
> > #define ELFW(a) Mjoin(ELF,Mjoin(__ELF_NATIVE_CLASS,Mjoin(_,a)))
> > 
> > is supposed to exapand to ELF32a or ELF64a.  You can just define a
> > constant for the machine your using as a first start.
> 
> I'm getting similar problems, but its not easy for me to see how to
> apply the above.
> 
> I'm using some heavily hacked h/FreeBSD.(defs|h) files (attached),
> and a handful of other patches (also attached).
> 
> My compile failure looks like
> 
> cc -O -pipe -mcpu=pentiumpro -DVOL=volatile 
> -I/usr/ports/lang/gcl/work/gcl-2.5.3
> /o -fsigned-char -Wall  -fomit-frame-pointer -Wall -DVOL=volatile 
> -fsigned-char
> -fwritable-strings -pipe -fomit-frame-pointer 
> -I/usr/ports/lang/gcl/work/gcl-2.5
> .3/o -I../h -I../o -o rsym rsym.c
> In file included from rsym.c:18:
> rsym_elf.c:31: error: syntax error before "pheader"
> rsym_elf.c:31: warning: type defaults to `int' in declaration of `pheader'
> rsym_elf.c:31: warning: data definition has no type or storage class
> rsym_elf.c:32: error: syntax error before "eheader"
> rsym_elf.c:32: warning: type defaults to `int' in declaration of `eheader'
> rsym_elf.c:32: warning: data definition has no type or storage class
> rsym_elf.c:33: error: syntax error before '*' token
> rsym_elf.c:33: warning: type defaults to `int' in declaration of 
> `symbol_table'
> rsym_elf.c:33: warning: data definition has no type or storage class
> rsym_elf.c:92: error: syntax error before '*' token
> rsym_elf.c:92: warning: type defaults to `int' in declaration of 
> `section_headers'
> rsym_elf.c:92: warning: data definition has no type or storage class
> rsym_elf.c: In function `get_section_number':
> rsym_elf.c:99: error: request for member `e_shnum' in something not a 
> structure or union
> 
> ... etc, and it it barfing on lines that look like
> 
> #include <elf.h>
> ElfW(Phdr) pheader;  <----- Line 31.
> ElfW(Ehdr) eheader;
> ElfW(Sym) *symbol_table;
> int text_index,data_index,bss_index,sbss_index;
> #undef SYM_NAME
> #undef EXT_and_TEXT_BSS_DAT
> #define mjoin(a,b) a ## b
> #define Mjoin(a,b) mjoin(a,b)
> #define ELFW(a) Mjoin(ELF,Mjoin(__ELF_NATIVE_CLASS,Mjoin(_,a)))
> 
> The closest set of Elf(32|64)_* typedefs that I can find are 
> 
> /usr/include/sys/elf32.h:typedef u_int32_t      Elf32_Addr;
> /usr/include/sys/elf32.h:typedef u_int16_t      Elf32_Half;
> /usr/include/sys/elf32.h:typedef u_int32_t      Elf32_Off;
> /usr/include/sys/elf32.h:typedef int32_t                Elf32_Sword;
> /usr/include/sys/elf32.h:typedef u_int32_t      Elf32_Word;
> /usr/include/sys/elf32.h:typedef u_int32_t      Elf32_Size;
> /usr/include/sys/elf32.h:typedef Elf32_Off      Elf32_Hashelt;
> 
> ... and an equivalent set for the 64-bit case.
> 
> > How do we get GCL taken up by the BSD distros?  Is there any mechanism
> > for systematizing these builds (i.e. 3Bsd x i386,sparc,...)
> 
> Take this to be a serious FreeBSD effort. The FreeBSD ports collection
> will auto-build and distribute this port if it works.
> 
> I'm motivated to get this right, now, because I _really_ want
> Maxima. :-)
> 
> M
> --
> Mark Murray
> iumop ap!sdn w,I idlaH
> #include "bsd.h"
> 
> #ifndef __ELF__
> #error FreeBSD systems use ELF
> #endif
> 
> #undef HAVE_AOUT
> #define HAVE_AOUT <elf.h>
> #define HAVE_ELF
> 
> #include <link.h>
> 
> #define ELF_TEXT_BASE  DBEGIN
> 
> #undef SET_REAL_MAXPAGE
> #define SET_REAL_MAXPAGE do { struct rlimit data_rlimit; \
>                               extern char etext; \
>                              real_maxpage = MAXPAGE ;\
>       getrlimit(RLIMIT_DATA, &data_rlimit); \
>       real_maxpage = ((unsigned int)&etext/PAGESIZE \
>                       + data_rlimit.rlim_cur/PAGESIZE - 
> ELF_TEXT_BASE/PAGESIZE); \
>       if (real_maxpage > MAXPAGE) \
>               real_maxpage = MAXPAGE ; } while(0)
> 
> #ifdef USE_DLOPEN
> #define SPECIAL_RSYM "rsym_elf.c"
> #define SEPARATE_SFASL_FILE "fasldlsym.c"
> #else
> #ifdef HAVE_LIBBFD
> #define SEPARATE_SFASL_FILE "sfaslbfd.c"
> #else
> #if !defined(__i386__) && !defined(__sparc__)
> #error Can only do non-bfd relocs for i386 and sparc
> #endif
> #define SPECIAL_RSYM "rsym_elf.c"
> #define SEPARATE_SFASL_FILE "sfaslelf.c"
> #endif
> #endif
> 
> #define UNEXEC_USE_MAP_PRIVATE
> #define UNIXSAVE "unexelf.c"
> 
> #undef HAVE_SIGVEC
> #define HAVE_SIGACTION
> /* make this a noop */
> #define SETUP_SIG_STACK
> #ifndef HAVE_SV_ONSTACK
> #define SV_ONSTACK 0
> #endif
> 
> /* unblock signals m and n, and set val to signal_mask(m) | signal_mask(n)
>    if they were set */
> #define SIG_UNBLOCK_SIGNALS(val,m,n) \
>     current_mask = sigblock(0);  \
>     sigsetmask(~(sigmask(m)) & ~(sigmask(n)) & current_mask); \
>     result = (current_mask & sigmask(m) ? signal_mask(m) : 0) \
>       | (current_mask & sigmask(n) ? signal_mask(n) : 0);
> 
> #undef RUN_PROCESS
> 
> #define       IEEEFLOAT
>        
> #undef HAVE_XDR
> 
> #define USE_ULONG_
> 
> /* we dont need to worry about zeroing fp->_base , to prevent  */
> #define FCLOSE_SETBUF_OK 
> 
> /* #define DATA_BEGIN((TXTRELOC+header.a_text+(SEGSIZ-1)) & ~(SEGSIZ-1)); */
> #define DATA_BEGIN (char *)(char *)N_DATADDR(header);
> 
> #define       PAGSIZ          (NBPG)
> #define       SEGSIZ          (NBPG * CLSIZE)
> #define       TXTRELOC        0
> 
> #define USE_DIRENT
> #define GETPATHNAME
> #define PATHNAME_CACHE        10
> 
> 
> #define INSTALL_SEGMENTATION_CATCHER \
>        (void) signal(SIGSEGV,segmentation_catcher)
> 
> 
> /* get the fileno of a FILE* */
> #define FILENO(x) fileno(x)
> 
> #define ULONG_DEFINED
> 
> #undef LD_COMMAND
> #define LD_COMMAND(command,main,start,input,ldarg,output) \
>   sprintf(command, "ld -d -S -N -x -A %s -T %x %s %s -o %s", \
>             main,start,input,ldarg,output)
> 
> #define SET_SESSION_ID() (setpgrp() ? -1 : 0)
> 
> #define CLEANUP_CODE \
>   setbuf(stdin,0); \
>    setbuf(stdout,0);
> 
> #define INIT_CORE_END terminal_io->sm.sm_object0->sm.sm_fp = 
> stdin;terminal_io->sm.sm_object1->sm.sm_fp = stdout;
> 
> #define SEEK_TO_END_OFILE(fp) fseek(fp, 0, SEEK_END)
> # Machine dependent makefile definitions for FreeBSD
> 
> LBINDIR=/bin
> 
> OFLAG = -O -pipe -mcpu=pentiumpro
> LIBS  = -lm -lreadline -lcompat
> 
> # This CC string will be used for compilation of the system,
> # and also in the compiler::*cc* variable for later compilation of
> # lisp files.
> # (the -pipe is just since our file system is slow..)
> CC = cc ${OFLAG} -DVOL=volatile -I$(GCLDIR)/o -fsigned-char -Wall 
> $(EXTRA_CFLAGS) -fomit-frame-pointer
> 
> LDCC=${CC}
> 
> RSYM    = rsym
> 
> SFASL = $(ODIR)/sfasl.o
> # When using SFASL it is good to have (si::build-symbol-table)
> INITFORM=(si::build-symbol-table)
> 
> # Use symbolic links
> SYMB=-s
> 
> LIBFILES=bsearch.o
> 
> # the  make to use for saved_kcp the profiler.
> KCP=kcp-bsd
> --- configure-new.ac.ORIG     Tue Mar  4 15:05:37 2003
> +++ configure-new.ac  Tue Mar  4 15:06:17 2003
> @@ -328,7 +328,7 @@
>                                   #include <bfd.h>
>                                   int main() { symbol_info t; return 0;}],
>                               AC_MSG_RESULT(no)
> -                             AC_DEFINE(HAVE_LIBBFD)
> +                             AC_DEFINE(HAVE_NO_LIBBFD)
>                               LIBS="$LIBS  $BFDLIB $IBRLIB",
>                               AC_TRY_RUN([#define IN_GCC
>                                           #include <bfd.h>
> @@ -336,7 +336,7 @@
>                                           int main() {symbol_info t; return 
> 0;}],
>                                       AC_MSG_RESULT(yes) 
>                                       AC_DEFINE(NEED_CONST)
> -                                     AC_DEFINE(HAVE_LIBBFD)
> +                                     AC_DEFINE(HAVE_NO_LIBBFD)
>                                       LIBS="$LIBS  $BFDLIB $IBRLIB",
>                                       AC_MSG_RESULT(cannot use 
> bfd),AC_MSG_RESULT(cannot use bfd)),
>                               AC_MSG_RESULT(cannot use bfd))
> --- configure.in.orig Wed Feb 26 23:26:41 2003
> +++ configure.in      Tue Mar  4 19:58:20 2003
> @@ -358,7 +358,7 @@
>       # for subconfigurations
>       CFLAGS=-g
>  else
> -     TO3FLAGS="-O6 -fomit-frame-pointer"
> +     TO3FLAGS="-fomit-frame-pointer"
>       TO2FLAGS="-O"
>  fi
>  
> @@ -568,13 +568,13 @@
>  
>  if test "$enable_dlopen" = "yes" ; then
>  
> -     AC_CHECK_LIB(dl,dlopen,have_dl=1,have_dl=0)
> +     AC_CHECK_LIB(c,dlopen,have_dl=1,have_dl=0)
>       if test "$have_dl" = "0" ; then
> -             echo "Cannot find dlopen in -dl"
> +             echo "Cannot find dlopen in -lc"
>               exit 1
>       fi
>  
> -     TLIBS="$TLIBS -ldl -rdynamic"
> +     TLIBS="$TLIBS -lc"
>       AC_DEFINE(USE_DLOPEN)
>  fi
>  
> --- h/bsd.h.ORIG      Sat Jul 20 08:10:55 2002
> +++ h/bsd.h   Fri Feb 28 22:37:56 2003
> @@ -2,8 +2,6 @@
>  #define UNIX
>  #define AV
>  #define SFASL
> -#define HAVE_AOUT <a.out.h>
> -
>  
>  #define MEM_SAVE_LOCALS      \
>    struct exec header;\
> @@ -26,15 +24,10 @@
>    fwrite(&stsize, sizeof(stsize), 1, save); \
>  filecpy(save, original, stsize - sizeof(stsize))
>  
> -
>  #define NUMBER_OPEN_FILES getdtablesize() 
>  
> -
>  extern char etext;
>  
> -
> -
> -
>  #define SET_REAL_MAXPAGE do { struct rlimit data_rlimit; \
>                               extern char etext; \
>                            real_maxpage = MAXPAGE ; \
> @@ -56,7 +49,6 @@
>         { type_map[page(core_end)]= t_other; \
>        core_end = core_end + PAGESIZE;} \
>       if (core_end !=x) error("Someone allocated my memory");}} while (0)
> - 
>       
>  #define INIT_ALLOC \
>               heap_end = sbrk(0); ROUND_UP_SBRK(heap_end);\
> @@ -70,7 +62,6 @@
>       
>  #define cs_check(x) 
>  
> -
>  #define LD_COMMAND(command,main,start,input,ldarg,output) \
>    sprintf(command, "ld -d -N -x -A %s -T %x %s %s -o %s", \
>              main,start,input,ldarg,output)
> @@ -78,9 +69,6 @@
>  #define SYM_UNDEF_P(sym) ((N_SECTION(sym)) == N_UNDEF)
>  #define NUM_AUX(sym) 0
>  
> -       /* the section like N_ABS,N_TEXT,.. */
> -
> -
>    /* We have socket utilities, and can fork off a process
>     and get a stream connection with it */
>  #define RUN_PROCESS
> @@ -89,14 +77,8 @@
>  
>  #define WANT_VALLOC  
>  
> -  /* if there is no input there return false */
> -#define LISTEN_FOR_INPUT(fp) \
> -  if((fp)->_cnt <=0 && (c=0,ioctl((fp)->_file, FIONREAD, &c),c<=0)) \
> -     return 0
> -
>   /* have sys/ioctl.h */
>  #define HAVE_IOCTL
> -  
>  
>  #define HAVE_SIGVEC
>    
> --- h/protoize.h.orig Thu Sep 11 08:33:59 2003
> +++ h/protoize.h      Thu Sep 11 08:34:50 2003
> @@ -285,7 +285,6 @@
>  /* macros.c:224:OF */ extern void Lmacroexpand_1 (void); /* () */
>  /* macros.c:265:OF */ extern object macro_expand (object form); /* (form) 
> object form; */
>  /* macros.c:344:OF */ extern void init_macros (void); /* () */
> -/* main.c:111:OF */ extern int main (int argc, char **argv, char **envp); /* 
> (argc, argv, envp) int argc; char **argv; char **envp; */
>  /* main.c:346:OF */ extern void install_segmentation_catcher (void); /* () */
>  /* main.c:359:OF */ extern void error (char *s); /* (s) char *s; */
>  /* main.c:519:OF */ extern object vs_overflow (void); /* () */
> --- ./o/readline.d.orig       Thu Sep 11 08:07:24 2003
> +++ ./o/readline.d    Thu Sep 11 08:07:53 2003
> @@ -94,7 +94,6 @@
>     the word to complete.  We can use the entire contents of rl_line_buffer
>     in case we want to do some simple parsing.  Return the array of matches,
>     or NULL if there aren't any. */
> -extern char **completion_matches(char *,char *(*)(char *,int));
>  static char **rl_completion(char *text, int start, int end) {
>       return completion_matches(text, rl_completion_words);
>  }
> --- o/unixfasl.c.ORIG Tue Mar  4 14:57:44 2003
> +++ o/unixfasl.c      Tue Mar  4 15:01:42 2003
> @@ -282,7 +282,7 @@
>  static int
>  faslink(object faslfile, object ldargstring)
>  {
> -#if defined(__linux__) && defined(__ELF__)
> +#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__)
>    FEerror("faslink() not supported for ELF yet",0);
>    return 0;
>  #else
> --- ./unixport/rsym.c.orig    Thu Sep 11 08:30:41 2003
> +++ ./unixport/rsym.c Thu Sep 11 08:31:27 2003
> @@ -80,7 +80,6 @@
>       unsigned int i;
>       FILE *fp;
>       int string_size=0;
> -     extern char *malloc();
>          
>       fp = fopen(filename, RDONLY);
>       
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]