Fix in CVS ndeed Posix compile problem

Ahn Ki-yung kyagrd@bawi.org
Wed, 26 Mar 2003 13:13:41 +0900


This is a multi-part message in MIME format.
--------------060505010000000709030203
Content-Type: text/plain; charset=EUC-KR
Content-Transfer-Encoding: 7bit

Ahn Ki-yung wrote:

>SunOS 5.8
>Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
>gcc version 2.95.3 20010315 (release) 
>In the posix related libaries there are two forign call definition.
>
>foreign import ccall unsafe "getpwuid_r"
>  c_getpwuid_r :: CUid -> Ptr CPasswd ->
>            CString -> CSize -> Ptr (Ptr CPasswd) -> IO CInt 
>
>foreign import ccall unsafe "getpwnam_r"
>  c_getpwnam_r :: CString -> Ptr CPasswd ->
>            CString -> CSize -> Ptr (Ptr CPasswd) -> IO CInt
>
>But the gcc says there are too many argument.
>There are two ways to go around.
>I change the foriegn call definition "getpwuid_r" ==> "__posix_getpwuid_r"
>I change the foriegn call definition "getpwnam_r" ==> "__posix_getpwnam_r"
>
>Another way is to tweak preprocessor macro definition.
>I believe this is possible but I don't how to tweak it.
>My <pwd.h> file is like this.
>
>GHC implementors and porters should be awared of this.
>
>p.s. Compiling GHC project took almost whole day long :-(
>     Bootstraping from 4.08.2 and stage1, stange 2 ... :-(
>
>  
>


-- 
Ahn Ki-yung



--------------060505010000000709030203
Content-Type: text/plain;
 name="pwd.h"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="pwd.h"

LyoJQ29weXJpZ2h0IChjKSAxOTg4IEFUJlQJKi8NCi8qCSAgQWxsIFJpZ2h0cyBSZXNlcnZl
ZCAgCSovDQoNCi8qCVRISVMgSVMgVU5QVUJMSVNIRUQgUFJPUFJJRVRBUlkgU09VUkNFIENP
REUgT0YgQVQmVAkqLw0KLyoJVGhlIGNvcHlyaWdodCBub3RpY2UgYWJvdmUgZG9lcyBub3Qg
ZXZpZGVuY2UgYW55ICAgCSovDQovKglhY3R1YWwgb3IgaW50ZW5kZWQgcHVibGljYXRpb24g
b2Ygc3VjaCBzb3VyY2UgY29kZS4JKi8NCg0KLyoNCiAqIENvcHlyaWdodCAoYykgMTk5Niwg
YnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLg0KICogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAq
Lw0KDQojaWZuZGVmIF9QV0RfSA0KI2RlZmluZQlfUFdEX0gNCg0KI3ByYWdtYSBpZGVudAki
QCgjKXB3ZC5oCTEuMTkJOTYvMDMvMTIgU01JIgkvKiBTVnI0LjAgMS4zLjEuOSAqLw0KDQoj
aW5jbHVkZSA8c3lzL2ZlYXR1cmVfdGVzdHMuaD4NCg0KI2luY2x1ZGUgPHN5cy90eXBlcy5o
Pg0KDQojaWYgZGVmaW5lZChfX0VYVEVOU0lPTlNfXykgfHwgXA0KCSghZGVmaW5lZChfUE9T
SVhfQ19TT1VSQ0UpICYmICFkZWZpbmVkKF9YT1BFTl9TT1VSQ0UpKQ0KI2luY2x1ZGUgPHN0
ZGlvLmg+DQojZW5kaWYNCg0KI2lmZGVmCV9fY3BsdXNwbHVzDQpleHRlcm4gIkMiIHsNCiNl
bmRpZg0KDQpzdHJ1Y3QgcGFzc3dkIHsNCgljaGFyCSpwd19uYW1lOw0KCWNoYXIJKnB3X3Bh
c3N3ZDsNCgl1aWRfdAlwd191aWQ7DQoJZ2lkX3QJcHdfZ2lkOw0KCWNoYXIJKnB3X2FnZTsN
CgljaGFyCSpwd19jb21tZW50Ow0KCWNoYXIJKnB3X2dlY29zOw0KCWNoYXIJKnB3X2RpcjsN
CgljaGFyCSpwd19zaGVsbDsNCn07DQoNCiNpZiBkZWZpbmVkKF9fRVhURU5TSU9OU19fKSB8
fCBcDQoJKCFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgIWRlZmluZWQoX1hPUEVOX1NP
VVJDRSkpDQpzdHJ1Y3QgY29tbWVudCB7DQoJY2hhcgkqY19kZXB0Ow0KCWNoYXIJKmNfbmFt
ZTsNCgljaGFyCSpjX2FjY3Q7DQoJY2hhcgkqY19iaW47DQp9Ow0KI2VuZGlmIC8qIGRlZmlu
ZWQoX19FWFRFTlNJT05TX18pIHx8ICghZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYmIC4u
LiAqLw0KDQojaWYgZGVmaW5lZChfX1NURENfXykNCg0KZXh0ZXJuIHN0cnVjdCBwYXNzd2Qg
KmdldHB3dWlkKHVpZF90KTsJCS8qIE1ULXVuc2FmZSAqLw0KZXh0ZXJuIHN0cnVjdCBwYXNz
d2QgKmdldHB3bmFtKGNvbnN0IGNoYXIgKik7CS8qIE1ULXVuc2FmZSAqLw0KDQojaWYgZGVm
aW5lZChfX0VYVEVOU0lPTlNfXykgfHwgXA0KCSghZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0Up
ICYmICFkZWZpbmVkKF9YT1BFTl9TT1VSQ0UpKQ0KZXh0ZXJuIHN0cnVjdCBwYXNzd2QgKmdl
dHB3ZW50X3Ioc3RydWN0IHBhc3N3ZCAqLCBjaGFyICosIGludCk7DQpleHRlcm4gc3RydWN0
IHBhc3N3ZCAqZmdldHB3ZW50X3IoRklMRSAqLCBzdHJ1Y3QgcGFzc3dkICosIGNoYXIgKiwg
aW50KTsNCmV4dGVybiBzdHJ1Y3QgcGFzc3dkICpmZ2V0cHdlbnQoRklMRSAqKTsJLyogTVQt
dW5zYWZlICovDQpleHRlcm4gaW50IHB1dHB3ZW50KGNvbnN0IHN0cnVjdCBwYXNzd2QgKiwg
RklMRSAqKTsNCiNlbmRpZiAvKiBkZWZpbmVkKF9fRVhURU5TSU9OU19fKSB8fCAhZGVmaW5l
ZChfUE9TSVhfQ19TT1VSQ0UpIC4uLiAqLw0KDQojaWYgZGVmaW5lZChfX0VYVEVOU0lPTlNf
XykgfHwgXA0KCSghZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYmICFkZWZpbmVkKF9YT1BF
Tl9TT1VSQ0UpKSB8fCBcDQoJZGVmaW5lZChfWFBHNF8yKQ0KZXh0ZXJuIHZvaWQgZW5kcHdl
bnQodm9pZCk7DQpleHRlcm4gc3RydWN0IHBhc3N3ZCAqZ2V0cHdlbnQodm9pZCk7CQkvKiBN
VC11bnNhZmUgKi8NCmV4dGVybiB2b2lkIHNldHB3ZW50KHZvaWQpOw0KI2VuZGlmIC8qIGRl
ZmluZWQoX19FWFRFTlNJT05TX18pIHx8ICghZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYm
IC4uLiAqLw0KDQojZWxzZSAgLyogKF9fU1REQ19fKSAqLw0KDQpleHRlcm4gc3RydWN0IHBh
c3N3ZCAqZ2V0cHd1aWQoKTsJCS8qIE1ULXVuc2FmZSAqLw0KZXh0ZXJuIHN0cnVjdCBwYXNz
d2QgKmdldHB3bmFtKCk7CQkvKiBNVC11bnNhZmUgKi8NCg0KI2lmIGRlZmluZWQoX19FWFRF
TlNJT05TX18pIHx8IFwNCgkoIWRlZmluZWQoX1BPU0lYX0NfU09VUkNFKSAmJiAhZGVmaW5l
ZChfWE9QRU5fU09VUkNFKSkNCmV4dGVybiBzdHJ1Y3QgcGFzc3dkICpnZXRwd2VudF9yKCk7
DQpleHRlcm4gc3RydWN0IHBhc3N3ZCAqZmdldHB3ZW50X3IoKTsNCg0KZXh0ZXJuIHN0cnVj
dCBwYXNzd2QgKmZnZXRwd2VudCgpOwkJLyogTVQtdW5zYWZlICovDQpleHRlcm4gaW50IHB1
dHB3ZW50KCk7DQojZW5kaWYgLyogZGVmaW5lZChfX0VYVEVOU0lPTlNfXykgfHwgKCFkZWZp
bmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgLi4uICovDQoNCiNpZiBkZWZpbmVkKF9fRVhURU5T
SU9OU19fKSB8fCBcDQoJKCFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgIWRlZmluZWQo
X1hPUEVOX1NPVVJDRSkpIHx8IFwNCglkZWZpbmVkKF9YUEc0XzIpDQpleHRlcm4gdm9pZCBl
bmRwd2VudCgpOw0KZXh0ZXJuIHN0cnVjdCBwYXNzd2QgKmdldHB3ZW50KCk7CQkvKiBNVC11
bnNhZmUgKi8NCmV4dGVybiB2b2lkIHNldHB3ZW50KCk7DQojZW5kaWYgLyogZGVmaW5lZChf
X0VYVEVOU0lPTlNfXykgfHwgKCFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgLi4uICov
DQoNCiNlbmRpZiAvKiAoX19TVERDX18pICovDQoNCi8qDQogKiBnZXRwd3VpZF9yKCkgJiBn
ZXRwd25hbV9yKCkgcHJvdG90eXBlcyBhcmUgZGVmaW5lZCBoZXJlLg0KICovDQoNCi8qDQog
KiBQcmV2aW91cyByZWxlYXNlcyBvZiBTb2xhcmlzLCBzdGFydGluZyBhdCAyLjMsIHByb3Zp
ZGVkIGRlZmluaXRpb25zIG9mDQogKiB2YXJpb3VzIGZ1bmN0aW9ucyBhcyBzcGVjaWZpZWQg
aW4gUE9TSVguMWMsIERyYWZ0IDYuICBGb3Igc29tZSBvZiB0aGVzZQ0KICogZnVuY3Rpb25z
LCB0aGUgZmluYWwgUE9TSVggMTAwMy4xYyBzdGFuZGFyZCBoYWQgYSBkaWZmZXJlbnQgbnVt
YmVyIG9mDQogKiBhcmd1bWVudHMgYW5kIHJldHVybiB2YWx1ZXMuDQogKg0KICogVGhlIGZv
bGxvd2luZyBzZWdtZW50IG9mIHRoaXMgaGVhZGVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRo
ZSBzdGFuZGFyZA0KICogaW50ZXJmYWNlcyB3aGlsZSBzdXBwb3J0aW5nIGFwcGxpY2F0aW9u
cyB3cml0dGVuIHVuZGVyIGVhcmxpZXINCiAqIHJlbGVhc2VzLiAgVGhlIGFwcGxpY2F0aW9u
IGRlZmluZXMgYXBwcm9wcmlhdGUgdmFsdWVzIG9mIHRoZSBmZWF0dXJlDQogKiB0ZXN0IG1h
Y3JvcyBfUE9TSVhfQ19TT1VSQ0UgYW5kIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyB0byBp
bmRpY2F0ZQ0KICogd2hldGhlciBpdCB3YXMgd3JpdHRlbiB0byBleHBlY3QgdGhlIERyYWZ0
IDYgb3Igc3RhbmRhcmQgdmVyc2lvbnMgb2YNCiAqIHRoZXNlIGludGVyZmFjZXMsIGJlZm9y
ZSBpbmNsdWRpbmcgdGhpcyBoZWFkZXIuICBUaGlzIGhlYWRlciB0aGVuDQogKiBwcm92aWRl
cyBhIG1hcHBpbmcgZnJvbSB0aGUgc291cmNlIHZlcnNpb24gb2YgdGhlIGludGVyZmFjZSB0
byBhbg0KICogYXBwcm9wcmlhdGUgYmluYXJ5IGludGVyZmFjZS4gIFN1Y2ggbWFwcGluZ3Mg
cGVybWl0IGFuIGFwcGxpY2F0aW9uDQogKiB0byBiZSBidWlsdCBmcm9tIGxpYnJhcmllcyBh
bmQgb2JqZWN0cyB3aGljaCBoYXZlIG1peGVkIGV4cGVjdGF0aW9ucw0KICogb2YgdGhlIGRl
ZmluaXRpb25zIG9mIHRoZXNlIGZ1bmN0aW9ucy4NCiAqDQogKiBGb3IgYXBwbGljYXRpb25z
IHVzaW5nIHRoZSBEcmFmdCA2IGRlZmluaXRpb25zLCB0aGUgYmluYXJ5IHN5bWJvbCBpcw0K
ICogdGhlIHNhbWUgYXMgdGhlIHNvdXJjZSBzeW1ib2wsIGFuZCBubyBleHBsaWNpdCBtYXBw
aW5nIGlzIG5lZWRlZC4gIEZvcg0KICogdGhlIHN0YW5kYXJkIGludGVyZmFjZSwgdGhlIGZ1
bmN0aW9uIGZ1bmMoKSBpcyBtYXBwZWQgdG8gdGhlIGJpbmFyeQ0KICogc3ltYm9sIF9wb3Np
eF9mdW5jKCkuICBUaGUgcHJlZmVycmVkIG1lY2hhbmlzbSBmb3IgdGhlIHJlbWFwcGluZyBp
cyBhDQogKiBjb21waWxlciAjcHJhZ21hLiAgSWYgdGhlIGNvbXBpbGVyIGRvZXMgbm90IHBy
b3ZpZGUgc3VjaCBhICNwcmFnbWEsIHRoZQ0KICogaGVhZGVyIGZpbGUgZGVmaW5lcyBhIHN0
YXRpYyBmdW5jdGlvbiBmdW5jKCkgd2hpY2ggY2FsbHMgdGhlDQogKiBfcG9zaXhfZnVuYygp
IHZlcnNpb247IHRoaXMgaXMgcmVxdWlyZWQgaWYgdGhlIGFwcGxpY2F0aW9uIG5lZWRzIHRv
DQogKiB0YWtlIHRoZSBhZGRyZXNzIG9mIGZ1bmMoKS4NCiAqDQogKiBOT1RFOiBTdXBwb3J0
IGZvciB0aGUgRHJhZnQgNiBkZWZpbml0aW9ucyBpcyBwcm92aWRlZCBmb3IgY29tcGF0aWJp
bGl0eQ0KICogb25seS4gIE5ldyBhcHBsaWNhdGlvbnMvbGlicmFyaWVzIHNob3VsZCB1c2Ug
dGhlIHN0YW5kYXJkIGRlZmluaXRpb25zLg0KICovDQoNCiNpZglkZWZpbmVkKF9fRVhURU5T
SU9OU19fKSB8fCBcDQoJKCFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgIWRlZmluZWQo
X1hPUEVOX1NPVVJDRSkpIHx8IFwNCgkoX1BPU0lYX0NfU09VUkNFIC0gMCA+PSAxOTk1MDZM
KSB8fCBkZWZpbmVkKF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUykNCg0KI2lmCWRlZmluZWQo
X19TVERDX18pDQoNCiNpZgkoX1BPU0lYX0NfU09VUkNFIC0gMCA+PSAxOTk1MDZMKSB8fCBk
ZWZpbmVkKF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUykNCg0KI2lmZGVmIF9fUFJBR01BX1JF
REVGSU5FX0VYVE5BTUUNCmV4dGVybiBpbnQgZ2V0cHd1aWRfcih1aWRfdCwgc3RydWN0IHBh
c3N3ZCAqLCBjaGFyICosIGludCwgc3RydWN0IHBhc3N3ZCAqKik7DQpleHRlcm4gaW50IGdl
dHB3bmFtX3IoY29uc3QgY2hhciAqLCBzdHJ1Y3QgcGFzc3dkICosIGNoYXIgKiwNCgkJCQkJ
CQlpbnQsIHN0cnVjdCBwYXNzd2QgKiopOw0KI3ByYWdtYSByZWRlZmluZV9leHRuYW1lIGdl
dHB3dWlkX3IgX19wb3NpeF9nZXRwd3VpZF9yDQojcHJhZ21hIHJlZGVmaW5lX2V4dG5hbWUg
Z2V0cHduYW1fciBfX3Bvc2l4X2dldHB3bmFtX3INCiNlbHNlICAvKiBfX1BSQUdNQV9SRURF
RklORV9FWFROQU1FICovDQoNCnN0YXRpYyBpbnQNCmdldHB3dWlkX3IodWlkX3QgX191aWQs
IHN0cnVjdCBwYXNzd2QgKl9fcHdkLCBjaGFyICpfX2J1ZiwgaW50IF9fbGVuLA0KCQkJCQkJ
CXN0cnVjdCBwYXNzd2QgKipfX3JlcykNCnsNCglleHRlcm4gaW50IF9fcG9zaXhfZ2V0cHd1
aWRfcih1aWRfdCwgc3RydWN0IHBhc3N3ZCAqLCBjaGFyICosIGludCwNCgkJCQkJCQlzdHJ1
Y3QgcGFzc3dkICoqKTsNCglyZXR1cm4gKF9fcG9zaXhfZ2V0cHd1aWRfcihfX3VpZCwgX19w
d2QsIF9fYnVmLCBfX2xlbiwgX19yZXMpKTsNCn0NCnN0YXRpYyBpbnQNCmdldHB3bmFtX3Io
Y29uc3QgY2hhciAqX19jYiwgc3RydWN0IHBhc3N3ZCAqX19wd2QsIGNoYXIgKl9fYnVmLCBp
bnQgX19sZW4sDQoJCQkJCQkJc3RydWN0IHBhc3N3ZCAqKl9fcmVzKQ0Kew0KCWV4dGVybiBp
bnQgX19wb3NpeF9nZXRwd25hbV9yKGNvbnN0IGNoYXIgKiwgc3RydWN0IHBhc3N3ZCAqLCBj
aGFyICosDQoJCQkJCQkJaW50LCBzdHJ1Y3QgcGFzc3dkICoqKTsNCglyZXR1cm4gKF9fcG9z
aXhfZ2V0cHduYW1fcihfX2NiLCBfX3B3ZCwgX19idWYsIF9fbGVuLCBfX3JlcykpOw0KfQ0K
I2VuZGlmIC8qIF9fUFJBR01BX1JFREVGSU5FX0VYVE5BTUUgKi8NCg0KI2Vsc2UgIC8qIChf
UE9TSVhfQ19TT1VSQ0UgLSAwID49IDE5OTUwNkwpIHx8IC4uLiAqLw0KDQpleHRlcm4gc3Ry
dWN0IHBhc3N3ZCAqZ2V0cHd1aWRfcih1aWRfdCwgc3RydWN0IHBhc3N3ZCAqLCBjaGFyICos
IGludCk7DQpleHRlcm4gc3RydWN0IHBhc3N3ZCAqZ2V0cHduYW1fcihjb25zdCBjaGFyICos
IHN0cnVjdCBwYXNzd2QgKiwgY2hhciAqLCBpbnQpOw0KDQojZW5kaWYgIC8qIChfUE9TSVhf
Q19TT1VSQ0UgLSAwID49IDE5OTUwNkwpIHx8IC4uLiAqLw0KDQojZWxzZSAgLyogX19TVERD
X18gKi8NCg0KI2lmCShfUE9TSVhfQ19TT1VSQ0UgLSAwID49IDE5OTUwNkwpIHx8IGRlZmlu
ZWQoX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTKQ0KDQojaWZkZWYgX19QUkFHTUFfUkVERUZJ
TkVfRVhUTkFNRQ0KZXh0ZXJuIGludCBnZXRwd3VpZF9yKCk7DQpleHRlcm4gaW50IGdldHB3
bmFtX3IoKTsNCiNwcmFnbWEgcmVkZWZpbmVfZXh0bmFtZSBnZXRwd3VpZF9yIF9fcG9zaXhf
Z2V0cHd1aWRfcg0KI3ByYWdtYSByZWRlZmluZV9leHRuYW1lIGdldHB3bmFtX3IgX19wb3Np
eF9nZXRwd25hbV9yDQojZWxzZSAgLyogX19QUkFHTUFfUkVERUZJTkVfRVhUTkFNRSAqLw0K
DQpzdGF0aWMgaW50DQpnZXRwd3VpZF9yKF9fdWlkLCBfX3B3ZCwgX19idWYsIF9fbGVuLCBf
X3JlcykNCgl1aWRfdCBfX3VpZDsNCglzdHJ1Y3QgcGFzc3dkICpfX3B3ZDsNCgljaGFyICpf
X2J1ZjsNCglpbnQgX19sZW47DQoJc3RydWN0IHBhc3N3ZCAqKl9fcmVzOw0Kew0KCWV4dGVy
biBpbnQgX19wb3NpeF9nZXRwd3VpZF9yKCk7DQoJcmV0dXJuIChfX3Bvc2l4X2dldHB3dWlk
X3IoX191aWQsIF9fcHdkLCBfX2J1ZiwgX19sZW4sIF9fcmVzKSk7DQp9DQpzdGF0aWMgaW50
DQpnZXRwd25hbV9yKF9fY2IsIF9fcHdkLCBfX2J1ZiwgX19sZW4sIF9fcmVzKQ0KCWNoYXIg
Kl9fY2I7DQoJc3RydWN0IHBhc3N3ZCAqX19wd2Q7DQoJY2hhciAqX19idWY7DQoJaW50IF9f
bGVuOw0KCXN0cnVjdCBwYXNzd2QgKipfX3JlczsNCnsNCglleHRlcm4gaW50IF9fcG9zaXhf
Z2V0cHduYW1fcigpOw0KCXJldHVybiAoX19wb3NpeF9nZXRwd25hbV9yKF9fY2IsIF9fcHdk
LCBfX2J1ZiwgX19sZW4sIF9fcmVzKSk7DQp9DQojZW5kaWYgLyogX19QUkFHTUFfUkVERUZJ
TkVfRVhUTkFNRSAqLw0KDQojZWxzZSAgLyogKF9QT1NJWF9DX1NPVVJDRSAtIDAgPj0gMTk5
NTA2TCkgfHwgLi4uICovDQoNCmV4dGVybiBzdHJ1Y3QgcGFzc3dkICpnZXRwd3VpZF9yKCk7
DQpleHRlcm4gc3RydWN0IHBhc3N3ZCAqZ2V0cHduYW1fcigpOw0KDQojZW5kaWYgLyogKF9Q
T1NJWF9DX1NPVVJDRSAtIDAgPj0gMTk5NTA2TCkgfHwgLi4uICovDQoNCiNlbmRpZiAvKiBf
X1NURENfXyAqLw0KDQojZW5kaWYgLyogZGVmaW5lZChfX0VYVEVOU0lPTlNfXykgfHwgKF9f
U1REQ19fID09IDAgLi4uICovDQoNCiNpZmRlZglfX2NwbHVzcGx1cw0KfQ0KI2VuZGlmDQoN
CiNlbmRpZiAvKiBfUFdEX0ggKi8NCg==
--------------060505010000000709030203--