Subject: Arm gcc3 toolchain guru wanted
To: None <tech-toolchain@NetBSD.org, port-arm@NetBSD.org>
From: David Brownlee <abs@absd.org>
List: port-arm
Date: 06/02/2004 13:49:34
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-13309285-1086169295=:200
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; FORMAT=flowed
Content-ID: <Pine.NEB.4.60.0406021346181.477@localhost>

 	Mozilla needs CPU/OS/Compiler specific xptc glue for each
 	platform. NetBSD/arm has this for gcc 2.95, but not for gcc3.x.
 	Links has code for both 2.95 and 3.x. Would any ARM toolchain
 	expert be able to take a look at what would be needed to fixup
 	for NetBSD/arm and gcc3?

 	The files are in mozilla/xpcom/reflect/xptcall/src/md/unix in
 	a standard mozilla distribution (the xptcstubs_arm_netbsd.cpp
 	attached here is the one from pkgsrc which has a patch for a.out
 	support).

-- 
 			   David Brownlee -- abs@absd.org
--0-13309285-1086169295=:200
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="xptcinvoke_arm.cpp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.60.0406021041350.200@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="xptcinvoke_arm.cpp"

LyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9k
ZTogbmlsOyBjLWJhc2ljLW9mZnNldDogNCAtKi0gKi8NCi8qICoqKioqIEJF
R0lOIExJQ0VOU0UgQkxPQ0sgKioqKioNCiAqIFZlcnNpb246IE5QTCAxLjEv
R1BMIDIuMC9MR1BMIDIuMQ0KICoNCiAqIFRoZSBjb250ZW50cyBvZiB0aGlz
IGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE5ldHNjYXBlIFB1YmxpYyBMaWNl
bnNlDQogKiBWZXJzaW9uIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkg
bm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluDQogKiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdA0KICogaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9OUEwvDQog
Kg0KICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywNCiAqIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGlt
cGxpZWQuIFNlZSB0aGUgTGljZW5zZQ0KICogZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUNCiAqIExpY2Vuc2UuDQogKg0KICogVGhlIE9yaWdpbmFsIENvZGUg
aXMgbW96aWxsYS5vcmcgY29kZS4NCiAqDQogKiBUaGUgSW5pdGlhbCBEZXZl
bG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgDQogKiBOZXRzY2FwZSBD
b21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4NCiAqIFBvcnRpb25zIGNyZWF0
ZWQgYnkgdGhlIEluaXRpYWwgRGV2ZWxvcGVyIGFyZSBDb3B5cmlnaHQgKEMp
IDE5OTgNCiAqIHRoZSBJbml0aWFsIERldmVsb3Blci4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4NCiAqDQogKiBDb250cmlidXRvcihzKToNCiAqDQogKiBBbHRl
cm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1
c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZg0KICogZWl0aGVyIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAi
R1BMIiksIG9yIA0KICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBWZXJzaW9uIDIuMSBvciBsYXRlciAodGhlICJMR1BMIiksDQog
KiBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBHUEwgb3Ig
dGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZA0KICogb2YgdGhvc2Ug
YWJvdmUuIElmIHlvdSB3aXNoIHRvIGFsbG93IHVzZSBvZiB5b3VyIHZlcnNp
b24gb2YgdGhpcyBmaWxlIG9ubHkNCiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiBl
aXRoZXIgdGhlIEdQTCBvciB0aGUgTEdQTCwgYW5kIG5vdCB0byBhbGxvdyBv
dGhlcnMgdG8NCiAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTlBMLCBpbmRpY2F0ZSB5b3VyDQogKiBk
ZWNpc2lvbiBieSBkZWxldGluZyB0aGUgcHJvdmlzaW9ucyBhYm92ZSBhbmQg
cmVwbGFjZSB0aGVtIHdpdGggdGhlIG5vdGljZQ0KICogYW5kIG90aGVyIHBy
b3Zpc2lvbnMgcmVxdWlyZWQgYnkgdGhlIEdQTCBvciB0aGUgTEdQTC4gSWYg
eW91IGRvIG5vdCBkZWxldGUNCiAqIHRoZSBwcm92aXNpb25zIGFib3ZlLCBh
IHJlY2lwaWVudCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUg
dW5kZXINCiAqIHRoZSB0ZXJtcyBvZiBhbnkgb25lIG9mIHRoZSBOUEwsIHRo
ZSBHUEwgb3IgdGhlIExHUEwuDQogKg0KICogKioqKiogRU5EIExJQ0VOU0Ug
QkxPQ0sgKioqKiogKi8NCg0KLyogUGxhdGZvcm0gc3BlY2lmaWMgY29kZSB0
byBpbnZva2UgWFBDT00gbWV0aG9kcyBvbiBuYXRpdmUgb2JqZWN0cyAqLw0K
DQojaW5jbHVkZSAieHB0Y3ByaXZhdGUuaCINCg0KI2lmICFkZWZpbmVkKExJ
TlVYKSB8fCAhZGVmaW5lZChfX2FybV9fKQ0KI2Vycm9yICJUaGlzIGNvZGUg
aXMgZm9yIExpbnV4IEFSTSBvbmx5LiBDaGVjayB0aGF0IGl0IHdvcmtzIG9u
IHlvdXIgc3lzdGVtLCB0b28uXG5CZXdhcmUgdGhhdCB0aGlzIGNvZGUgaXMg
aGlnaGx5IGNvbXBpbGVyIGRlcGVuZGVudC4iDQojZW5kaWYNCg0KLy8gUmVt
ZW1iZXIgdGhhdCB0aGVzZSAnd29yZHMnIGFyZSAzMmJpdCBEV09SRFMNCg0K
c3RhdGljIFBSVWludDMyDQppbnZva2VfY291bnRfd29yZHMoUFJVaW50MzIg
cGFyYW1Db3VudCwgbnNYUFRDVmFyaWFudCogcykNCnsNCiAgICBQUlVpbnQz
MiByZXN1bHQgPSAwOw0KICAgIGZvcihQUlVpbnQzMiBpID0gMDsgaSA8IHBh
cmFtQ291bnQ7IGkrKywgcysrKQ0KICAgIHsNCiAgICAgICAgaWYocy0+SXNQ
dHJEYXRhKCkpDQogICAgICAgIHsNCiAgICAgICAgICAgIHJlc3VsdCsrOw0K
ICAgICAgICAgICAgY29udGludWU7DQogICAgICAgIH0NCiAgICAgICAgc3dp
dGNoKHMtPnR5cGUpDQogICAgICAgIHsNCiAgICAgICAgY2FzZSBuc1hQVFR5
cGU6OlRfSTggICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTE2
ICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTMyICAgIDoNCiAg
ICAgICAgICAgIHJlc3VsdCsrOw0KICAgICAgICAgICAgYnJlYWs7DQogICAg
ICAgIGNhc2UgbnNYUFRUeXBlOjpUX0k2NCAgICA6DQogICAgICAgICAgICBy
ZXN1bHQrPTI7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBu
c1hQVFR5cGU6OlRfVTggICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6
OlRfVTE2ICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfVTMyICAg
IDoNCiAgICAgICAgICAgIHJlc3VsdCsrOw0KICAgICAgICAgICAgYnJlYWs7
DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX1U2NCAgICA6DQogICAgICAg
ICAgICByZXN1bHQrPTI7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAg
Y2FzZSBuc1hQVFR5cGU6OlRfRkxPQVQgIDoNCiAgICAgICAgICAgIHJlc3Vs
dCsrOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRU
eXBlOjpUX0RPVUJMRSA6DQogICAgICAgICAgICByZXN1bHQrPTI7DQogICAg
ICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfQk9P
TCAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfQ0hBUiAgIDoNCiAg
ICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfV0NIQVIgIDoNCiAgICAgICAgICAg
IHJlc3VsdCsrOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGRlZmF1
bHQ6DQogICAgICAgICAgICAvLyBhbGwgdGhlIG90aGVycyBhcmUgcGxhaW4g
cG9pbnRlciB0eXBlcw0KICAgICAgICAgICAgcmVzdWx0Kys7DQogICAgICAg
ICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gcmVz
dWx0Ow0KfQ0KDQpzdGF0aWMgdm9pZA0KaW52b2tlX2NvcHlfdG9fc3RhY2so
UFJVaW50MzIqIGQsIFBSVWludDMyIHBhcmFtQ291bnQsIG5zWFBUQ1Zhcmlh
bnQqIHMpDQp7DQogICAgZm9yKFBSVWludDMyIGkgPSAwOyBpIDwgcGFyYW1D
b3VudDsgaSsrLCBkKyssIHMrKykNCiAgICB7DQogICAgICAgIGlmKHMtPklz
UHRyRGF0YSgpKQ0KICAgICAgICB7DQogICAgICAgICAgICAqKCh2b2lkKiop
ZCkgPSBzLT5wdHI7DQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAg
fQ0KICAgICAgICBzd2l0Y2gocy0+dHlwZSkNCiAgICAgICAgew0KICAgICAg
ICBjYXNlIG5zWFBUVHlwZTo6VF9JOCAgICAgOiAqKChQUkludDgqKSAgZCkg
PSBzLT52YWwuaTg7ICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9JMTYgICAgOiAqKChQUkludDE2KikgZCkgPSBzLT52YWwu
aTE2OyAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9JMzIgICAgOiAqKChQUkludDMyKikgZCkgPSBzLT52YWwuaTMyOyAgICAg
ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9JNjQgICAg
OiAqKChQUkludDY0KikgZCkgPSBzLT52YWwuaTY0OyBkKys7ICAgIGJyZWFr
Ow0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9VOCAgICAgOiAqKChQUlVp
bnQ4KikgZCkgPSBzLT52YWwudTg7ICAgICAgICAgIGJyZWFrOw0KICAgICAg
ICBjYXNlIG5zWFBUVHlwZTo6VF9VMTYgICAgOiAqKChQUlVpbnQxNiopZCkg
PSBzLT52YWwudTE2OyAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9VMzIgICAgOiAqKChQUlVpbnQzMiopZCkgPSBzLT52YWwu
dTMyOyAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9VNjQgICAgOiAqKChQUlVpbnQ2NCopZCkgPSBzLT52YWwudTY0OyBkKys7
ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9GTE9BVCAg
OiAqKChmbG9hdCopICAgZCkgPSBzLT52YWwuZjsgICAgICAgICAgIGJyZWFr
Ow0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9ET1VCTEUgOiAqKChkb3Vi
bGUqKSAgZCkgPSBzLT52YWwuZDsgICBkKys7ICAgIGJyZWFrOw0KICAgICAg
ICBjYXNlIG5zWFBUVHlwZTo6VF9CT09MICAgOiAqKChQUkJvb2wqKSAgZCkg
PSBzLT52YWwuYjsgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9DSEFSICAgOiAqKChjaGFyKikgICAgZCkgPSBzLT52YWwu
YzsgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9XQ0hBUiAgOiAqKCh3Y2hhcl90KikgZCkgPSBzLT52YWwud2M7ICAgICAg
ICAgIGJyZWFrOw0KICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgLy8g
YWxsIHRoZSBvdGhlcnMgYXJlIHBsYWluIHBvaW50ZXIgdHlwZXMNCiAgICAg
ICAgICAgICooKHZvaWQqKilkKSA9IHMtPnZhbC5wOw0KICAgICAgICAgICAg
YnJlYWs7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCmV4dGVybiAiQyIgew0K
ICAgIHN0cnVjdCBteV9wYXJhbXNfc3RydWN0IHsNCiAgICAgICAgbnNJU3Vw
cG9ydHMqIHRoYXQ7ICAgICAgDQogICAgICAgIFBSVWludDMyIEluZGV4OyAg
ICAgICAgIA0KICAgICAgICBQUlVpbnQzMiBDb3VudDsgICAgICAgICANCiAg
ICAgICAgbnNYUFRDVmFyaWFudCogcGFyYW1zOyAgDQogICAgICAgIFBSVWlu
dDMyIGZuX2NvdW50OyAgICAgDQogICAgICAgIFBSVWludDMyIGZuX2NvcHk7
ICAgICAgDQogICAgfTsNCn07DQoNClhQVENfUFVCTElDX0FQSShuc3Jlc3Vs
dCkNClhQVENfSW52b2tlQnlJbmRleChuc0lTdXBwb3J0cyogdGhhdCwgUFJV
aW50MzIgbWV0aG9kSW5kZXgsDQogICAgICAgICAgICAgICAgICAgUFJVaW50
MzIgcGFyYW1Db3VudCwgbnNYUFRDVmFyaWFudCogcGFyYW1zKQ0Kew0KICAg
IFBSVWludDMyIHJlc3VsdDsNCiAgICBzdHJ1Y3QgbXlfcGFyYW1zX3N0cnVj
dCBteV9wYXJhbXM7DQogICAgbXlfcGFyYW1zLnRoYXQgPSB0aGF0Ow0KICAg
IG15X3BhcmFtcy5JbmRleCA9IG1ldGhvZEluZGV4Ow0KICAgIG15X3BhcmFt
cy5Db3VudCA9IHBhcmFtQ291bnQ7DQogICAgbXlfcGFyYW1zLnBhcmFtcyA9
IHBhcmFtczsNCiAgICBteV9wYXJhbXMuZm5fY29weSA9IChQUlVpbnQzMikg
Jmludm9rZV9jb3B5X3RvX3N0YWNrOw0KICAgIG15X3BhcmFtcy5mbl9jb3Vu
dCA9IChQUlVpbnQzMikgJmludm9rZV9jb3VudF93b3JkczsNCg0KLyogVGhp
cyBpcyB0byBjYWxsIGEgZ2l2ZW4gbWV0aG9kIG9mIGNsYXNzIHRoYXQuDQog
KiBUaGUgcGFyYW1ldGVycyBhcmUgaW4gcGFyYW1zLCB0aGUgbnVtYmVyIGlz
IGluIHBhcmFtQ291bnQuDQogKiBUaGUgcm91dGluZSB3aWxsIGlzc3VlIGNh
bGxzIHRvIGNvdW50IHRoZSBudW1iZXIgb2Ygd29yZHMNCiAqIHJlcXVpcmVk
IGZvciBhcmd1bWVudCBwYXNzaW5nIGFuZCB0byBjb3B5IHRoZSBhcmd1bWVu
dHMgdG8NCiAqIHRoZSBzdGFjay4NCiAqIFNpbmNlIEFQQ1MgcGFzc2VzIHRo
ZSBmaXJzdCAzIHBhcmFtcyBpbiByMS1yMywgd2UgbmVlZCB0bw0KICogbG9h
ZCB0aGUgZmlyc3QgdGhyZWUgd29yZHMgZnJvbSB0aGUgc3RhY2sgYW5kIGNv
cnJlY3QgdGhlIHN0YWNrDQogKiBwb2ludGVyIChzcCkgaW4gdGhlIGFwcHJv
cHJpYXRlIHdheS4gVGhpcyBtZWFuczoNCiAqDQogKiAxLikgbW9yZSB0aGFu
IDMgYXJndW1lbnRzOiBsb2FkIHIxLXIzLCBjb3JyZWN0IHNwIGFuZCByZW1l
bWJlciBOby4NCiAqCQkJICAgICAgb2YgYnl0ZXMgbGVmdCBvbiB0aGUgc3Rh
Y2sgaW4gcjQNCiAqDQogKiAyLikgPD0gMiBhcmdzOiBsb2FkIHIxLXIzICh3
ZSB3b24ndCBiZSBjYXVzaW5nIGEgc3RhY2sgb3ZlcmZsb3cgSSBob3BlKSwN
CiAqCQkgIHJlc3RvcmUgc3AgYXMgaWYgbm90aGluZyBoYWQgaGFwcGVuZWQg
YW5kIHNldCB0aGUgbWFya2VyIHI0IHRvIHplcm8uDQogKg0KICogQWZ0ZXJ3
YXJkcyBzcCB3aWxsIGJlIHJlc3RvcmVkIHVzaW5nIHRoZSB2YWx1ZSBpbiBy
NCAod2hpY2ggaXMgbm90IGEgdGVtcG9yYXJ5IHJlZ2lzdGVyDQogKiBhbmQg
d2lsbCBiZSBwcmVzZXJ2ZWQgYnkgdGhlIGZ1bmN0aW9uL21ldGhvZCBjYWxs
ZWQgYWNjb3JkaW5nIHRvIEFQQ1MgW0FSTSBQcm9jZWR1cmUNCiAqIENhbGxp
bmcgU3RhbmRhcmRdKS4NCiAqDQogKiAhISEgSU1QT1JUQU5UICEhIQ0KICog
VGhpcyByb3V0aW5lIG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IHRoZSB2dGFi
bGUgbGF5b3V0IG9mIHRoZSBjKysgY29tcGlsZXIuIEl0J3MgaW1wbGVtZW50
ZWQNCiAqIGZvciBhcm0tbGludXggR05VIGcrKyA+PSAyLjguMSAoaW5jbHVk
aW5nIGVnY3MgYW5kIGdjYy0yLjk1LlsxLTNdKSENCiAqDQogKi8NCiANCiAg
X19hc21fXyBfX3ZvbGF0aWxlX18oDQogICAgImxkcglyMSwgWyUxLCAjMTJd
CVxuXHQiCS8qIHByZXBhcmUgdG8gY2FsbCBpbnZva2VfY291bnRfd29yZHMJ
Ki8NCiAgICAibGRyCWlwLCBbJTEsICMxNl0JXG5cdCIJLyogcjA9cGFyYW1D
b3VudCwgcjE9cGFyYW1zCQkqLw0KICAgICJsZHIJcjAsIFslMSwgICM4XQlc
blx0Ig0KICAgICJtb3YJbHIsIHBjCQlcblx0IgkvKiBjYWxsIGl0Li4uCQkJ
CSovDQogICAgIm1vdglwYywgaXAJCVxuXHQiDQogICAgIm1vdglyNCwgcjAs
IGxzbCAjMglcblx0IgkvKiBUaGlzIGlzIHRoZSBhbW91bnQgb2YgYnl0ZXMg
bmVlZGVkLgkqLw0KICAgICJzdWIJc3AsIHNwLCByNAlcblx0IgkvKiB1c2Ug
c3RhY2sgc3BhY2UgZm9yIHRoZSBhcmdzLi4uCSovDQogICAgIm1vdglyMCwg
c3AJCVxuXHQiCS8qIHByZXBhcmUgYSBwb2ludGVyIGFuIHRoZSBzdGFjawkq
Lw0KICAgICJsZHIJcjEsIFslMSwgICM4XQlcblx0IgkvKiA9cGFyYW1Db3Vu
dAkJCQkqLw0KICAgICJsZHIJcjIsIFslMSwgIzEyXQlcblx0IgkvKiA9cGFy
YW1zCQkJCSovDQogICAgImxkcglpcCwgWyUxLCAjMjBdCVxuXHQiCS8qID1p
bnZva2VfY29weV90b19zdGFjawkJKi8NCiAgICAibW92CWxyLCBwYwkJXG5c
dCIJLyogY29weSBhcmdzIHRvIHRoZSBzdGFjayBsaWtlIHRoZQkqLw0KICAg
ICJtb3YJcGMsIGlwCQlcblx0IgkvKiBjb21waWxlciB3b3VsZC4JCQkqLw0K
ICAgICJsZHIJcjAsIFslMV0JXG5cdCIJLyogPXRoYXQJCQkJKi8NCiAgICAi
bGRyCXIxLCBbcjAsICMwXQlcblx0IgkvKiBnZXQgdGhhdC0+dnRhYmxlIG9m
ZnNldAkJKi8NCiAgICAibGRyCXIyLCBbJTEsICM0XQlcblx0Ig0KICAgICJt
b3YJcjIsIHIyLCBsc2wgIzIJXG5cdCIJLyogYSB2dGFibGVfZW50cnkoeCk9
OCArICg0IGJ5dGVzICogeCkJKi8NCiNpZiBkZWZpbmVkKF9fR1hYX0FCSV9W
RVJTSU9OKSAmJiBfX0dYWF9BQklfVkVSU0lPTiA+PSAxMDAgLyogRysrIFYz
IEFCSSAqLw0KICAgICJsZHIgICAgICAgIGlwLCBbcjEsIHIyXSAgICBcblx0
IiAgIC8qIGdldCBtZXRob2QgYWRyZXNzIGZyb20gdnRhYmxlICAgICAgICAq
Lw0KI2Vsc2UgLyogbm9uIEcrKyBWMyBBQkkgKi8NCiAgICAiYWRkCXIyLCBy
MiwgIzgJXG5cdCIJLyogd2l0aCB0aGlzIGNvbXBpbGVycwkJCSovDQogICAg
ImxkcglpcCwgW3IxLCByMl0JXG5cdCIJLyogZ2V0IG1ldGhvZCBhZHJlc3Mg
ZnJvbSB2dGFibGUJKi8NCiNlbmRpZg0KICAgICJjbXAJcjQsICMxMgkJXG5c
dCIJLyogbW9yZSB0aGFuIDMgYXJndW1lbnRzPz8/CQkqLw0KICAgICJsZG1n
dGlhCXNwISwge3IxLCByMiwgcjN9XG5cdCIJLyogeWVzOiBsb2FkIGFyZ3Vt
ZW50cyBmb3IgcjEtcjMJKi8NCiAgICAic3ViZ3QJcjQsIHI0LCAjMTIJXG5c
dCIJLyogICAgICBhbmQgY29ycmVjdCB0aGUgc3RhY2sgcG9pbnRlcgkqLw0K
ICAgICJsZG1sZWlhCXNwLCB7cjEsIHIyLCByM31cblx0IgkvKiBubzogIGxv
YWQgcjEtcjMgZnJvbSBzdGFjawkJKi8gDQogICAgImFkZGxlCXNwLCBzcCwg
cjQJXG5cdCIJLyogICAgICBhbmQgcmVzdG9yZSBzdGFjayBwb2ludGVyCSov
DQogICAgIm1vdmxlCXI0LCAjMAkJXG5cdCIJLyoJYSBtYXJrIGZvciByZXN0
b3Jpbmcgc3AJCSovDQogICAgImxkcglyMCwgWyUxLCAjMF0JXG5cdCIJLyog
Z2V0IChzZWxmKQkJCQkqLw0KICAgICJtb3YJbHIsIHBjCQlcblx0IgkvKiBj
YWxsIG1hdGhvZAkJCQkqLw0KICAgICJtb3YJcGMsIGlwCQlcblx0Ig0KICAg
ICJhZGQJc3AsIHNwLCByNAlcblx0IgkvKiByZXN0b3JlIHN0YWNrIHBvaW50
ZXIJCSovDQogICAgIm1vdgklMCwgcjAJCVxuXHQiCS8qIHRoZSByZXN1bHQu
Li4JCQkqLw0KICAgIDogIj1yIiAocmVzdWx0KQ0KICAgIDogInIiICgmbXlf
cGFyYW1zKQ0KICAgIDogInIwIiwgInIxIiwgInIyIiwgInIzIiwgInI0Iiwg
ImlwIiwgImxyIiwgInNwIg0KICAgICk7DQogICAgDQogIHJldHVybiByZXN1
bHQ7DQp9ICAgIA0K

--0-13309285-1086169295=:200
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="xptcstubs_arm.cpp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.60.0406021041351.200@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="xptcstubs_arm.cpp"

LyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9k
ZTogbmlsOyBjLWJhc2ljLW9mZnNldDogNCAtKi0gKi8NCi8qICoqKioqIEJF
R0lOIExJQ0VOU0UgQkxPQ0sgKioqKioNCiAqIFZlcnNpb246IE5QTCAxLjEv
R1BMIDIuMC9MR1BMIDIuMQ0KICoNCiAqIFRoZSBjb250ZW50cyBvZiB0aGlz
IGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE5ldHNjYXBlIFB1YmxpYyBMaWNl
bnNlDQogKiBWZXJzaW9uIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkg
bm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluDQogKiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdA0KICogaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9OUEwvDQog
Kg0KICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywNCiAqIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGlt
cGxpZWQuIFNlZSB0aGUgTGljZW5zZQ0KICogZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUNCiAqIExpY2Vuc2UuDQogKg0KICogVGhlIE9yaWdpbmFsIENvZGUg
aXMgbW96aWxsYS5vcmcgY29kZS4NCiAqDQogKiBUaGUgSW5pdGlhbCBEZXZl
bG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgDQogKiBOZXRzY2FwZSBD
b21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4NCiAqIFBvcnRpb25zIGNyZWF0
ZWQgYnkgdGhlIEluaXRpYWwgRGV2ZWxvcGVyIGFyZSBDb3B5cmlnaHQgKEMp
IDE5OTkNCiAqIHRoZSBJbml0aWFsIERldmVsb3Blci4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4NCiAqDQogKiBDb250cmlidXRvcihzKToNCiAqIFJ1c3NlbGwg
S2luZyAgPHJta0Bhcm0ubGludXgub3JnLnVrPg0KICoNCiAqIEFsdGVybmF0
aXZlbHksIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgbWF5IGJlIHVzZWQg
dW5kZXIgdGhlIHRlcm1zIG9mDQogKiBlaXRoZXIgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMiBvciBsYXRlciAodGhlICJHUEwi
KSwgb3IgDQogKiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIFZlcnNpb24gMi4xIG9yIGxhdGVyICh0aGUgIkxHUEwiKSwNCiAqIGlu
IHdoaWNoIGNhc2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIEdQTCBvciB0aGUg
TEdQTCBhcmUgYXBwbGljYWJsZSBpbnN0ZWFkDQogKiBvZiB0aG9zZSBhYm92
ZS4gSWYgeW91IHdpc2ggdG8gYWxsb3cgdXNlIG9mIHlvdXIgdmVyc2lvbiBv
ZiB0aGlzIGZpbGUgb25seQ0KICogdW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhl
ciB0aGUgR1BMIG9yIHRoZSBMR1BMLCBhbmQgbm90IHRvIGFsbG93IG90aGVy
cyB0bw0KICogdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBOUEwsIGluZGljYXRlIHlvdXINCiAqIGRlY2lz
aW9uIGJ5IGRlbGV0aW5nIHRoZSBwcm92aXNpb25zIGFib3ZlIGFuZCByZXBs
YWNlIHRoZW0gd2l0aCB0aGUgbm90aWNlDQogKiBhbmQgb3RoZXIgcHJvdmlz
aW9ucyByZXF1aXJlZCBieSB0aGUgR1BMIG9yIHRoZSBMR1BMLiBJZiB5b3Ug
ZG8gbm90IGRlbGV0ZQ0KICogdGhlIHByb3Zpc2lvbnMgYWJvdmUsIGEgcmVj
aXBpZW50IG1heSB1c2UgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRl
cg0KICogdGhlIHRlcm1zIG9mIGFueSBvbmUgb2YgdGhlIE5QTCwgdGhlIEdQ
TCBvciB0aGUgTEdQTC4NCiAqDQogKiAqKioqKiBFTkQgTElDRU5TRSBCTE9D
SyAqKioqKiAqLw0KDQovKiBJbXBsZW1lbnQgc2hhcmVkIHZ0YmwgbWV0aG9k
cy4gKi8NCg0KI2luY2x1ZGUgInhwdGNwcml2YXRlLmgiDQoNCiNpZiAhZGVm
aW5lZChMSU5VWCkgfHwgIWRlZmluZWQoX19hcm1fXykNCiNlcnJvciAiVGhp
cyBjb2RlIGlzIGZvciBMaW51eCBBUk0gb25seS4gUGxlYXNlIGNoZWNrIGlm
IGl0IHdvcmtzIGZvciB5b3UsIHRvby5cbkRlcGVuZHMgc3Ryb25nbHkgb24g
Z2NjIGJlaGF2aW91ci4iDQojZW5kaWYNCg0KLyogU3BlY2lmeSBleHBsaWNp
dGx5IGEgc3ltYm9sIGZvciB0aGlzIGZ1bmN0aW9uLCBkb24ndCB0cnkgdG8g
Z3Vlc3MgdGhlIGMrKyBtYW5nbGVkIHN5bWJvbC4gICovDQpzdGF0aWMgbnNy
ZXN1bHQgUHJlcGFyZUFuZERpc3BhdGNoKG5zWFBUQ1N0dWJCYXNlKiBzZWxm
LCB1aW50MzIgbWV0aG9kSW5kZXgsIFBSVWludDMyKiBhcmdzKSBhc20oIl9Q
cmVwYXJlQW5kRGlzcGF0Y2giKTsNCg0Kc3RhdGljIG5zcmVzdWx0DQpQcmVw
YXJlQW5kRGlzcGF0Y2gobnNYUFRDU3R1YkJhc2UqIHNlbGYsIHVpbnQzMiBt
ZXRob2RJbmRleCwgUFJVaW50MzIqIGFyZ3MpDQp7DQojZGVmaW5lIFBBUkFN
X0JVRkZFUl9DT1VOVCAgICAgMTYNCg0KICAgIG5zWFBUQ01pbmlWYXJpYW50
IHBhcmFtQnVmZmVyW1BBUkFNX0JVRkZFUl9DT1VOVF07DQogICAgbnNYUFRD
TWluaVZhcmlhbnQqIGRpc3BhdGNoUGFyYW1zID0gTlVMTDsNCiAgICBuc0lJ
bnRlcmZhY2VJbmZvKiBpZmFjZV9pbmZvID0gTlVMTDsNCiAgICBjb25zdCBu
c1hQVE1ldGhvZEluZm8qIGluZm87DQogICAgUFJVaW50OCBwYXJhbUNvdW50
Ow0KICAgIFBSVWludDggaTsNCiAgICBuc3Jlc3VsdCByZXN1bHQgPSBOU19F
UlJPUl9GQUlMVVJFOw0KDQogICAgTlNfQVNTRVJUSU9OKHNlbGYsIm5vIHNl
bGYiKTsNCg0KICAgIHNlbGYtPkdldEludGVyZmFjZUluZm8oJmlmYWNlX2lu
Zm8pOw0KICAgIE5TX0FTU0VSVElPTihpZmFjZV9pbmZvLCJubyBpbnRlcmZh
Y2UgaW5mbyIpOw0KDQogICAgaWZhY2VfaW5mby0+R2V0TWV0aG9kSW5mbyhQ
UlVpbnQxNihtZXRob2RJbmRleCksICZpbmZvKTsNCiAgICBOU19BU1NFUlRJ
T04oaW5mbywibm8gaW50ZXJmYWNlIGluZm8iKTsNCg0KICAgIHBhcmFtQ291
bnQgPSBpbmZvLT5HZXRQYXJhbUNvdW50KCk7DQoNCiAgICAvLyBzZXR1cCB2
YXJpYW50IGFycmF5IHBvaW50ZXINCiAgICBpZihwYXJhbUNvdW50ID4gUEFS
QU1fQlVGRkVSX0NPVU5UKQ0KICAgICAgICBkaXNwYXRjaFBhcmFtcyA9IG5l
dyBuc1hQVENNaW5pVmFyaWFudFtwYXJhbUNvdW50XTsNCiAgICBlbHNlDQog
ICAgICAgIGRpc3BhdGNoUGFyYW1zID0gcGFyYW1CdWZmZXI7DQogICAgTlNf
QVNTRVJUSU9OKGRpc3BhdGNoUGFyYW1zLCJubyBwbGFjZSBmb3IgcGFyYW1z
Iik7DQoNCiAgICBQUlVpbnQzMiogYXAgPSBhcmdzOw0KICAgIGZvcihpID0g
MDsgaSA8IHBhcmFtQ291bnQ7IGkrKywgYXArKykNCiAgICB7DQogICAgICAg
IGNvbnN0IG5zWFBUUGFyYW1JbmZvJiBwYXJhbSA9IGluZm8tPkdldFBhcmFt
KGkpOw0KICAgICAgICBjb25zdCBuc1hQVFR5cGUmIHR5cGUgPSBwYXJhbS5H
ZXRUeXBlKCk7DQogICAgICAgIG5zWFBUQ01pbmlWYXJpYW50KiBkcCA9ICZk
aXNwYXRjaFBhcmFtc1tpXTsNCg0KICAgICAgICBpZihwYXJhbS5Jc091dCgp
IHx8ICF0eXBlLklzQXJpdGhtZXRpYygpKQ0KICAgICAgICB7DQogICAgICAg
ICAgICBkcC0+dmFsLnAgPSAodm9pZCopICphcDsNCiAgICAgICAgICAgIGNv
bnRpbnVlOw0KICAgICAgICB9DQogICAgICAgIC8vIGVsc2UNCiAgICAgICAg
c3dpdGNoKHR5cGUpDQogICAgICAgIHsNCiAgICAgICAgY2FzZSBuc1hQVFR5
cGU6OlRfSTggICAgIDogZHAtPnZhbC5pOCAgPSAqKChQUkludDgqKSAgYXAp
OyAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTE2
ICAgIDogZHAtPnZhbC5pMTYgPSAqKChQUkludDE2KikgYXApOyAgICAgICBi
cmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTMyICAgIDogZHAt
PnZhbC5pMzIgPSAqKChQUkludDMyKikgYXApOyAgICAgICBicmVhazsNCiAg
ICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTY0ICAgIDogZHAtPnZhbC5pNjQg
PSAqKChQUkludDY0KikgYXApOyBhcCsrOyBicmVhazsNCiAgICAgICAgY2Fz
ZSBuc1hQVFR5cGU6OlRfVTggICAgIDogZHAtPnZhbC51OCAgPSAqKChQUlVp
bnQ4KikgYXApOyAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5
cGU6OlRfVTE2ICAgIDogZHAtPnZhbC51MTYgPSAqKChQUlVpbnQxNiopYXAp
OyAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfVTMy
ICAgIDogZHAtPnZhbC51MzIgPSAqKChQUlVpbnQzMiopYXApOyAgICAgICBi
cmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfVTY0ICAgIDogZHAt
PnZhbC51NjQgPSAqKChQUlVpbnQ2NCopYXApOyBhcCsrOyBicmVhazsNCiAg
ICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfRkxPQVQgIDogZHAtPnZhbC5mICAg
PSAqKChmbG9hdCopICAgYXApOyAgICAgICBicmVhazsNCiAgICAgICAgY2Fz
ZSBuc1hQVFR5cGU6OlRfRE9VQkxFIDogZHAtPnZhbC5kICAgPSAqKChkb3Vi
bGUqKSAgYXApOyBhcCsrOyBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5
cGU6OlRfQk9PTCAgIDogZHAtPnZhbC5iICAgPSAqKChQUkJvb2wqKSAgYXAp
OyAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfQ0hB
UiAgIDogZHAtPnZhbC5jICAgPSAqKChjaGFyKikgICAgYXApOyAgICAgICBi
cmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfV0NIQVIgIDogZHAt
PnZhbC53YyAgPSAqKCh3Y2hhcl90KikgYXApOyAgICAgICBicmVhazsNCiAg
ICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgIE5TX0FTU0VSVElPTigwLCAi
YmFkIHR5cGUiKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQog
ICAgfQ0KDQogICAgcmVzdWx0ID0gc2VsZi0+Q2FsbE1ldGhvZCgoUFJVaW50
MTYpbWV0aG9kSW5kZXgsIGluZm8sIGRpc3BhdGNoUGFyYW1zKTsNCg0KICAg
IE5TX1JFTEVBU0UoaWZhY2VfaW5mbyk7DQoNCiAgICBpZihkaXNwYXRjaFBh
cmFtcyAhPSBwYXJhbUJ1ZmZlcikNCiAgICAgICAgZGVsZXRlIFtdIGRpc3Bh
dGNoUGFyYW1zOw0KDQogICAgcmV0dXJuIHJlc3VsdDsNCn0NCg0KLyoNCiAq
IFRoaXMgaXMgb3VyIHNoYXJlZCBzdHViLg0KICoNCiAqIHIwID0gU2VsZi4N
CiAqDQogKiBUaGUgUnVsZXM6DQogKiAgIFdlIHBhc3MgYW4gKHVuZGVmaW5l
ZCkgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbnRvIHRoaXMgZnVuY3Rpb24uDQog
KiAgIFRoZSBmaXJzdCAzIEMrKyBhcmd1bWVudHMgYXJlIGluIHIxIC0gcjMs
IHRoZSByZXN0IGFyZSBidWlsdA0KICogICBieSB0aGUgY2FsbGluZyBmdW5j
dGlvbiBvbiB0aGUgc3RhY2suDQogKg0KICogICBXZSBhcmUgYWxsb3dlZCB0
byBjb3JydXB0IHIwIC0gcjMsIGlwLCBhbmQgbHIuDQogKg0KICogT3RoZXIg
SW5mbzoNCiAqICAgV2UgcGFzcyB0aGUgc3R1YiBudW1iZXIgaW4gdXNpbmcg
YGlwJy4NCiAqDQogKiBJbXBsZW1lbnRhdGlvbjoNCiAqIC0gV2Ugc2F2ZSBy
MSB0byByMyBpbmNsdXNpdmUgb250byB0aGUgc3RhY2ssIHdoaWNoIHdpbGwg
YmUNCiAqICAgaW1tZWRpYXRlbHkgYmVsb3cgdGhlIGNhbGxlciBzYXZlZCBh
cmd1bWVudHMuDQogKiAtIHNldHVwIHIyIChQcmVwYXJlQW5kRGlzcGF0Y2gn
cyBhcmdzIHBvaW50ZXIpIHRvIHBvaW50IGF0DQogKiAgIHRoZSBiYXNlIG9m
IGFsbCB0aGVzZSBhcmd1bWVudHMNCiAqIC0gU2F2ZSBMUiAoZm9yIHRoZSBy
ZXR1cm4gYWRkcmVzcykNCiAqIC0gU2V0IHIxIChQcmVwYXJlQW5kRGlzcGF0
Y2gncyBtZXRob2RpbmRleCBhcmd1bWVudCkgZnJvbSBpcA0KICogLSByMCBp
cyBwYXNzZWQgdGhyb3VnaCAoc2VsZikNCiAqIC0gQ2FsbCBQcmVwYXJlQW5k
RGlzcGF0Y2gNCiAqIC0gV2hlbiB0aGUgY2FsbCByZXR1cm5zLCB3ZSByZXR1
cm4gYnkgbG9hZGluZyB0aGUgUEMgb2ZmIHRoZQ0KICogICBzdGFjaywgYW5k
IHVuZG9pbmcgdGhlIHN0YWNrIChvbmUgaW5zdHJ1Y3Rpb24pIQ0KICoNCiAq
Lw0KX19hc21fXyAoIlxuXA0KU2hhcmVkU3R1YjoJCQkJCQkJXG5cDQoJc3Rt
ZmQJc3AhLCB7cjEsIHIyLCByM30JCQkJXG5cDQoJbW92CXIyLCBzcAkJCQkJ
CVxuXA0KCXN0cglsciwgW3NwLCAjLTRdIQkJCQkJXG5cDQoJbW92CXIxLCBp
cAkJCQkJCVxuXA0KCWJsCV9QcmVwYXJlQW5kRGlzcGF0Y2gJICAgICAgICAg
ICAgICAgICAgICAgICAgXG5cDQoJbGRyCXBjLCBbc3BdLCAjMTYiKTsNCg0K
LyoNCiAqIENyZWF0ZSBzZXRzIG9mIHN0dWJzIHRvIGNhbGwgdGhlIFNoYXJl
ZFN0dWIuDQogKiBXZSBkb24ndCB0b3VjaCB0aGUgc3RhY2sgaGVyZSwgbm9y
IGFueSByZWdpc3RlcnMsIG90aGVyIHRoYW4gSVAuDQogKiBJUCBpcyBkZWZp
bmVkIHRvIGJlIGNvcnJ1cHRhYmxlIGJ5IGEgY2FsbGVkIGZ1bmN0aW9uLCBz
byB3ZSBhcmUNCiAqIHNhZmUgdG8gdXNlIGl0Lg0KICoNCiAqIFRoaXMgd2ls
bCB3b3JrIHdpdGggb3Igd2l0aG91dCBvcHRpbWlzYXRpb24uDQogKi8NCiNp
ZiBkZWZpbmVkKF9fR1hYX0FCSV9WRVJTSU9OKSAmJiBfX0dYWF9BQklfVkVS
U0lPTiA+PSAxMDAgLyogRysrIFYzIEFCSSAqLw0KLyoNCiAqIE5vdGUgOiBB
cyBHKyszIEFCSSBjb250YWlucyB0aGUgbGVuZ3RoIG9mIHRoZSBmdW5jdGlv
bm5hbWUgaW4gdGhlDQogKiAgbWFuZ2xlZCBuYW1lLCBpdCBpcyBkaWZmaWN1
bHQgdG8gZ2V0IGEgZ2VuZXJpYyBhc3NlbWJsZXIgbWVjaGFuaXNtIGxpa2UN
CiAqICBpbiB0aGUgRysrIDIuOTUgY2FzZS4NCiAqICBDcmVhdGUgbmFtZXMg
d291bGQgYmUgbGlrZSA6DQogKiAgICBfWk4xNG5zWFBUQ1N0dWJCYXNlNVN0
dWI5RXYNCiAqICAgIF9aTjE0bnNYUFRDU3R1YkJhc2U2U3R1YjEzRXYNCiAq
ICAgIF9aTjE0bnNYUFRDU3R1YkJhc2U3U3R1YjE0NEV2DQogKiAgVXNlIHRo
ZSBhc3NlbWJsZXIgZGlyZWN0aXZlcyB0byBnZXQgdGhlIG5hbWVzIHJpZ2h0
Li4uDQogKi8NCg0KI2RlZmluZSBTVFVCX0VOVFJZKG4pCQkJCQkJXA0KICBf
X2FzbV9fKAkJCQkJCQlcDQoJIi5zZWN0aW9uIFwiLnRleHRcIlxuIgkJCQkJ
XA0KIgkuYWxpZ24gMlxuIgkJCQkJCVwNCiIJLmlmbHQgKCIjbiIgLSAxMClc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQoiCS5n
bG9ibAlfWk4xNG5zWFBUQ1N0dWJCYXNlNVN0dWIiI24iRXZcbiIJCVwNCiIJ
LnR5cGUJX1pOMTRuc1hQVENTdHViQmFzZTVTdHViIiNuIkV2LCNmdW5jdGlv
blxuIglcDQoiX1pOMTRuc1hQVENTdHViQmFzZTVTdHViIiNuIkV2OlxuIgkJ
CQlcDQoiCS5lbHNlXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXA0KIgkuaWZsdCAgKCIjbiIgLSAxMDApXG4i
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiIJLmdsb2Js
CV9aTjE0bnNYUFRDU3R1YkJhc2U2U3R1YiIjbiJFdlxuIgkJXA0KIgkudHlw
ZQlfWk4xNG5zWFBUQ1N0dWJCYXNlNlN0dWIiI24iRXYsI2Z1bmN0aW9uXG4i
CVwNCiJfWk4xNG5zWFBUQ1N0dWJCYXNlNlN0dWIiI24iRXY6XG4iCQkJCVwN
CiIJLmVsc2VcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcDQoiCS5pZmx0ICgiI24iIC0gMTAwMClcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KIgkuZ2xvYmwJX1pO
MTRuc1hQVENTdHViQmFzZTdTdHViIiNuIkV2XG4iCQlcDQoiCS50eXBlCV9a
TjE0bnNYUFRDU3R1YkJhc2U3U3R1YiIjbiJFdiwjZnVuY3Rpb25cbiIJXA0K
Il9aTjE0bnNYUFRDU3R1YkJhc2U3U3R1YiIjbiJFdjpcbiIJCQkJXA0KIgku
ZWxzZVxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwNCiIJLmVyciBcInN0dWIgbnVtYmVyICIjbiI+IDEwMDAg
bm90IHlldCBzdXBwb3J0ZWRcIlxuIiAgICBcDQoiCS5lbmRpZlxuIiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K
IgkuZW5kaWZcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwNCiIJLmVuZGlmXG4iICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQoiCW1vdglpcCwgIyIj
biJcbiIJCQkJCVwNCiIJYglTaGFyZWRTdHViXG5cdCIpOw0KDQojaWYgMA0K
LyoNCiAqIFRoaXMgcGFydCBpcyBsZWZ0IGluIGFzIGNvbW1lbnQgOiB0aGlz
IGlzIGhvdyB0aGUgbWV0aG9kIGRlZmluaXRpb24NCiAqIHNob3VsZCBsb29r
IGxpa2UuDQogKi8NCg0KI2RlZmluZSBTVFVCX0VOVFJZKG4pICBcDQpuc3Jl
c3VsdCBuc1hQVENTdHViQmFzZTo6U3R1YiMjbiAoKSAgXA0KeyBcDQogIF9f
YXNtX18gKAkgIAkJICAgICAgICBcDQoiCW1vdglpcCwgIyIjbiJcbiIJCQkJ
CVwNCiIJYglTaGFyZWRTdHViXG5cdCIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcDQogIHJldHVybiAwOyAvKiBhdm9pZCB3YXJuaW5ncyAq
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KfQ0KI2VuZGlm
DQoNCiNlbHNlIC8qIEcrKzIuOTUgQUJJICovDQoNCiNkZWZpbmUgU1RVQl9F
TlRSWShuKQkJCQkJCVwNCiAgX19hc21fXygJCQkJCQkJXA0KCSIuc2VjdGlv
biBcIi50ZXh0XCJcbiIJCQkJCVwNCiIJLmFsaWduXG4iCQkJCQkJXA0KIgku
Z2xvYmwJU3R1YiIjbiJfXzE0bnNYUFRDU3R1YkJhc2VcbiIJCQlcDQoiCS50
eXBlCVN0dWIiI24iX18xNG5zWFBUQ1N0dWJCYXNlLCNmdW5jdGlvblxuXG4i
CVwNCiJTdHViIiNuIl9fMTRuc1hQVENTdHViQmFzZTpcbiIJCQkJCVwNCiIJ
bW92CWlwLCAjIiNuIlxuIgkJCQkJXA0KIgliCVNoYXJlZFN0dWJcblx0Iik7
DQoNCiNlbmRpZg0KDQojZGVmaW5lIFNFTlRJTkVMX0VOVFJZKG4pIFwNCm5z
cmVzdWx0IG5zWFBUQ1N0dWJCYXNlOjpTZW50aW5lbCMjbigpIFwNCnsgXA0K
ICAgIE5TX0FTU0VSVElPTigwLCJuc1hQVENTdHViQmFzZTo6U2VudGluZWwg
Y2FsbGVkIik7IFwNCiAgICByZXR1cm4gTlNfRVJST1JfTk9UX0lNUExFTUVO
VEVEOyBcDQp9DQoNCiNpbmNsdWRlICJ4cHRjc3R1YnNkZWYuaW5jIg0K

--0-13309285-1086169295=:200
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="xptcinvoke_arm_netbsd.cpp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.60.0406021041352.200@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="xptcinvoke_arm_netbsd.cpp"

LyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9k
ZTogbmlsOyBjLWJhc2ljLW9mZnNldDogNCAtKi0gKi8NCi8qICoqKioqIEJF
R0lOIExJQ0VOU0UgQkxPQ0sgKioqKioNCiAqIFZlcnNpb246IE5QTCAxLjEv
R1BMIDIuMC9MR1BMIDIuMQ0KICoNCiAqIFRoZSBjb250ZW50cyBvZiB0aGlz
IGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE5ldHNjYXBlIFB1YmxpYyBMaWNl
bnNlDQogKiBWZXJzaW9uIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkg
bm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluDQogKiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdA0KICogaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9OUEwvDQog
Kg0KICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywNCiAqIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGlt
cGxpZWQuIFNlZSB0aGUgTGljZW5zZQ0KICogZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUNCiAqIExpY2Vuc2UuDQogKg0KICogVGhlIE9yaWdpbmFsIENvZGUg
aXMgbW96aWxsYS5vcmcgY29kZS4NCiAqDQogKiBUaGUgSW5pdGlhbCBEZXZl
bG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgDQogKiBOZXRzY2FwZSBD
b21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4NCiAqIFBvcnRpb25zIGNyZWF0
ZWQgYnkgdGhlIEluaXRpYWwgRGV2ZWxvcGVyIGFyZSBDb3B5cmlnaHQgKEMp
IDE5OTgNCiAqIHRoZSBJbml0aWFsIERldmVsb3Blci4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4NCiAqDQogKiBDb250cmlidXRvcihzKToNCiAqDQogKiBBbHRl
cm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1
c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZg0KICogZWl0aGVyIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAi
R1BMIiksIG9yIA0KICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBWZXJzaW9uIDIuMSBvciBsYXRlciAodGhlICJMR1BMIiksDQog
KiBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBHUEwgb3Ig
dGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZA0KICogb2YgdGhvc2Ug
YWJvdmUuIElmIHlvdSB3aXNoIHRvIGFsbG93IHVzZSBvZiB5b3VyIHZlcnNp
b24gb2YgdGhpcyBmaWxlIG9ubHkNCiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiBl
aXRoZXIgdGhlIEdQTCBvciB0aGUgTEdQTCwgYW5kIG5vdCB0byBhbGxvdyBv
dGhlcnMgdG8NCiAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTlBMLCBpbmRpY2F0ZSB5b3VyDQogKiBk
ZWNpc2lvbiBieSBkZWxldGluZyB0aGUgcHJvdmlzaW9ucyBhYm92ZSBhbmQg
cmVwbGFjZSB0aGVtIHdpdGggdGhlIG5vdGljZQ0KICogYW5kIG90aGVyIHBy
b3Zpc2lvbnMgcmVxdWlyZWQgYnkgdGhlIEdQTCBvciB0aGUgTEdQTC4gSWYg
eW91IGRvIG5vdCBkZWxldGUNCiAqIHRoZSBwcm92aXNpb25zIGFib3ZlLCBh
IHJlY2lwaWVudCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUg
dW5kZXINCiAqIHRoZSB0ZXJtcyBvZiBhbnkgb25lIG9mIHRoZSBOUEwsIHRo
ZSBHUEwgb3IgdGhlIExHUEwuDQogKg0KICogKioqKiogRU5EIExJQ0VOU0Ug
QkxPQ0sgKioqKiogKi8NCg0KLyogUGxhdGZvcm0gc3BlY2lmaWMgY29kZSB0
byBpbnZva2UgWFBDT00gbWV0aG9kcyBvbiBuYXRpdmUgb2JqZWN0cyAqLw0K
DQojaW5jbHVkZSAieHB0Y3ByaXZhdGUuaCINCg0KLy8gUmVtZW1iZXIgdGhh
dCB0aGVzZSAnd29yZHMnIGFyZSAzMmJpdCBEV09SRFMNCg0Kc3RhdGljIFBS
VWludDMyDQppbnZva2VfY291bnRfd29yZHMoUFJVaW50MzIgcGFyYW1Db3Vu
dCwgbnNYUFRDVmFyaWFudCogcykNCnsNCiAgICBQUlVpbnQzMiByZXN1bHQg
PSAwOw0KICAgIGZvcihQUlVpbnQzMiBpID0gMDsgaSA8IHBhcmFtQ291bnQ7
IGkrKywgcysrKQ0KICAgIHsNCiAgICAgICAgaWYocy0+SXNQdHJEYXRhKCkp
DQogICAgICAgIHsNCiAgICAgICAgICAgIHJlc3VsdCsrOw0KICAgICAgICAg
ICAgY29udGludWU7DQogICAgICAgIH0NCiAgICAgICAgc3dpdGNoKHMtPnR5
cGUpDQogICAgICAgIHsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTgg
ICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTE2ICAgIDoNCiAg
ICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfSTMyICAgIDoNCiAgICAgICAgICAg
IHJlc3VsdCsrOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2Ug
bnNYUFRUeXBlOjpUX0k2NCAgICA6DQogICAgICAgICAgICByZXN1bHQrPTI7
DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6
OlRfVTggICAgIDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfVTE2ICAg
IDoNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfVTMyICAgIDoNCiAgICAg
ICAgICAgIHJlc3VsdCsrOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAg
IGNhc2UgbnNYUFRUeXBlOjpUX1U2NCAgICA6DQogICAgICAgICAgICByZXN1
bHQrPTI7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSBuc1hQ
VFR5cGU6OlRfRkxPQVQgIDoNCiAgICAgICAgICAgIHJlc3VsdCsrOw0KICAg
ICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX0RP
VUJMRSA6DQogICAgICAgICAgICByZXN1bHQrPTI7DQogICAgICAgICAgICBi
cmVhazsNCiAgICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfQk9PTCAgIDoNCiAg
ICAgICAgY2FzZSBuc1hQVFR5cGU6OlRfQ0hBUiAgIDoNCiAgICAgICAgY2Fz
ZSBuc1hQVFR5cGU6OlRfV0NIQVIgIDoNCiAgICAgICAgICAgIHJlc3VsdCsr
Ow0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGRlZmF1bHQ6DQogICAg
ICAgICAgICAvLyBhbGwgdGhlIG90aGVycyBhcmUgcGxhaW4gcG9pbnRlciB0
eXBlcw0KICAgICAgICAgICAgcmVzdWx0Kys7DQogICAgICAgICAgICBicmVh
azsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gcmVzdWx0Ow0KfQ0K
DQpzdGF0aWMgdm9pZA0KaW52b2tlX2NvcHlfdG9fc3RhY2soUFJVaW50MzIq
IGQsIFBSVWludDMyIHBhcmFtQ291bnQsIG5zWFBUQ1ZhcmlhbnQqIHMpDQp7
DQogICAgZm9yKFBSVWludDMyIGkgPSAwOyBpIDwgcGFyYW1Db3VudDsgaSsr
LCBkKyssIHMrKykNCiAgICB7DQogICAgICAgIGlmKHMtPklzUHRyRGF0YSgp
KQ0KICAgICAgICB7DQogICAgICAgICAgICAqKCh2b2lkKiopZCkgPSBzLT5w
dHI7DQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgfQ0KICAgICAg
ICBzd2l0Y2gocy0+dHlwZSkNCiAgICAgICAgew0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9JOCAgICAgOiAqKChQUkludDgqKSAgZCkgPSBzLT52YWwu
aTg7ICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9JMTYgICAgOiAqKChQUkludDE2KikgZCkgPSBzLT52YWwuaTE2OyAgICAg
ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9JMzIgICAg
OiAqKChQUkludDMyKikgZCkgPSBzLT52YWwuaTMyOyAgICAgICAgIGJyZWFr
Ow0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9JNjQgICAgOiAqKChQUklu
dDY0KikgZCkgPSBzLT52YWwuaTY0OyBkKys7ICAgIGJyZWFrOw0KICAgICAg
ICBjYXNlIG5zWFBUVHlwZTo6VF9VOCAgICAgOiAqKChQUlVpbnQ4KikgZCkg
PSBzLT52YWwudTg7ICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9VMTYgICAgOiAqKChQUlVpbnQxNiopZCkgPSBzLT52YWwu
dTE2OyAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9VMzIgICAgOiAqKChQUlVpbnQzMiopZCkgPSBzLT52YWwudTMyOyAgICAg
ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9VNjQgICAg
OiAqKChQUlVpbnQ2NCopZCkgPSBzLT52YWwudTY0OyBkKys7ICAgIGJyZWFr
Ow0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9GTE9BVCAgOiAqKChmbG9h
dCopICAgZCkgPSBzLT52YWwuZjsgICAgICAgICAgIGJyZWFrOw0KICAgICAg
ICBjYXNlIG5zWFBUVHlwZTo6VF9ET1VCTEUgOiAqKChkb3VibGUqKSAgZCkg
PSBzLT52YWwuZDsgICBkKys7ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5z
WFBUVHlwZTo6VF9CT09MICAgOiAqKChQUkJvb2wqKSAgZCkgPSBzLT52YWwu
YjsgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6
VF9DSEFSICAgOiAqKChjaGFyKikgICAgZCkgPSBzLT52YWwuYzsgICAgICAg
ICAgIGJyZWFrOw0KICAgICAgICBjYXNlIG5zWFBUVHlwZTo6VF9XQ0hBUiAg
OiAqKCh3Y2hhcl90KikgZCkgPSBzLT52YWwud2M7ICAgICAgICAgIGJyZWFr
Ow0KICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgLy8gYWxsIHRoZSBv
dGhlcnMgYXJlIHBsYWluIHBvaW50ZXIgdHlwZXMNCiAgICAgICAgICAgICoo
KHZvaWQqKilkKSA9IHMtPnZhbC5wOw0KICAgICAgICAgICAgYnJlYWs7DQog
ICAgICAgIH0NCiAgICB9DQp9DQoNCmV4dGVybiAiQyIgDQpzdHJ1Y3QgbXlf
cGFyYW1zX3N0cnVjdCB7DQogICAgbnNJU3VwcG9ydHMqIHRoYXQ7ICAgICAg
DQogICAgUFJVaW50MzIgSW5kZXg7ICAgICAgICAgDQogICAgUFJVaW50MzIg
Q291bnQ7ICAgICAgICAgDQogICAgbnNYUFRDVmFyaWFudCogcGFyYW1zOyAg
DQogICAgUFJVaW50MzIgZm5fY291bnQ7ICAgICANCiAgICBQUlVpbnQzMiBm
bl9jb3B5OyAgICAgIA0KfTsNCg0KWFBUQ19QVUJMSUNfQVBJKG5zcmVzdWx0
KQ0KWFBUQ19JbnZva2VCeUluZGV4KG5zSVN1cHBvcnRzKiB0aGF0LCBQUlVp
bnQzMiBtZXRob2RJbmRleCwNCiAgICAgICAgICAgICAgICAgICBQUlVpbnQz
MiBwYXJhbUNvdW50LCBuc1hQVENWYXJpYW50KiBwYXJhbXMpDQp7DQogICAg
UFJVaW50MzIgcmVzdWx0Ow0KICAgIHN0cnVjdCBteV9wYXJhbXNfc3RydWN0
IG15X3BhcmFtczsNCiAgICBteV9wYXJhbXMudGhhdCA9IHRoYXQ7DQogICAg
bXlfcGFyYW1zLkluZGV4ID0gbWV0aG9kSW5kZXg7DQogICAgbXlfcGFyYW1z
LkNvdW50ID0gcGFyYW1Db3VudDsNCiAgICBteV9wYXJhbXMucGFyYW1zID0g
cGFyYW1zOw0KICAgIG15X3BhcmFtcy5mbl9jb3B5ID0gKFBSVWludDMyKSAm
aW52b2tlX2NvcHlfdG9fc3RhY2s7DQogICAgbXlfcGFyYW1zLmZuX2NvdW50
ID0gKFBSVWludDMyKSAmaW52b2tlX2NvdW50X3dvcmRzOw0KDQovKiBUaGlz
IGlzIHRvIGNhbGwgYSBnaXZlbiBtZXRob2Qgb2YgY2xhc3MgdGhhdC4NCiAq
IFRoZSBwYXJhbWV0ZXJzIGFyZSBpbiBwYXJhbXMsIHRoZSBudW1iZXIgaXMg
aW4gcGFyYW1Db3VudC4NCiAqIFRoZSByb3V0aW5lIHdpbGwgaXNzdWUgY2Fs
bHMgdG8gY291bnQgdGhlIG51bWJlciBvZiB3b3Jkcw0KICogcmVxdWlyZWQg
Zm9yIGFyZ3VtZW50IHBhc3NpbmcgYW5kIHRvIGNvcHkgdGhlIGFyZ3VtZW50
cyB0bw0KICogdGhlIHN0YWNrLg0KICogU2luY2UgQVBDUyBwYXNzZXMgdGhl
IGZpcnN0IDMgcGFyYW1zIGluIHIxLXIzLCB3ZSBuZWVkIHRvDQogKiBsb2Fk
IHRoZSBmaXJzdCB0aHJlZSB3b3JkcyBmcm9tIHRoZSBzdGFjayBhbmQgY29y
cmVjdCB0aGUgc3RhY2sNCiAqIHBvaW50ZXIgKHNwKSBpbiB0aGUgYXBwcm9w
cmlhdGUgd2F5LiBUaGlzIG1lYW5zOg0KICoNCiAqIDEuKSBtb3JlIHRoYW4g
MyBhcmd1bWVudHM6IGxvYWQgcjEtcjMsIGNvcnJlY3Qgc3AgYW5kIHJlbWVt
YmVyIE5vLg0KICoJCQkgICAgICBvZiBieXRlcyBsZWZ0IG9uIHRoZSBzdGFj
ayBpbiByNA0KICoNCiAqIDIuKSA8PSAyIGFyZ3M6IGxvYWQgcjEtcjMgKHdl
IHdvbid0IGJlIGNhdXNpbmcgYSBzdGFjayBvdmVyZmxvdyBJIGhvcGUpLA0K
ICoJCSAgcmVzdG9yZSBzcCBhcyBpZiBub3RoaW5nIGhhZCBoYXBwZW5lZCBh
bmQgc2V0IHRoZSBtYXJrZXIgcjQgdG8gemVyby4NCiAqDQogKiBBZnRlcndh
cmRzIHNwIHdpbGwgYmUgcmVzdG9yZWQgdXNpbmcgdGhlIHZhbHVlIGluIHI0
ICh3aGljaCBpcyBub3QgYSB0ZW1wb3JhcnkgcmVnaXN0ZXINCiAqIGFuZCB3
aWxsIGJlIHByZXNlcnZlZCBieSB0aGUgZnVuY3Rpb24vbWV0aG9kIGNhbGxl
ZCBhY2NvcmRpbmcgdG8gQVBDUyBbQVJNIFByb2NlZHVyZQ0KICogQ2FsbGlu
ZyBTdGFuZGFyZF0pLg0KICoNCiAqICEhISBJTVBPUlRBTlQgISEhDQogKiBU
aGlzIHJvdXRpbmUgbWFrZXMgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIHZ0YWJs
ZSBsYXlvdXQgb2YgdGhlIGMrKyBjb21waWxlci4gSXQncyBpbXBsZW1lbnRl
ZA0KICogZm9yIGFybS1saW51eCBHTlUgZysrID49IDIuOC4xIChpbmNsdWRp
bmcgZWdjcyBhbmQgZ2NjLTIuOTUuWzEtM10pIQ0KICoNCiAqLw0KIA0KICBf
X2FzbV9fIF9fdm9sYXRpbGVfXygNCiAgICAibGRyCXIxLCBbJTEsICMxMl0J
XG5cdCIJLyogcHJlcGFyZSB0byBjYWxsIGludm9rZV9jb3VudF93b3Jkcwkq
Lw0KICAgICJsZHIJaXAsIFslMSwgIzE2XQlcblx0IgkvKiByMD1wYXJhbUNv
dW50LCByMT1wYXJhbXMJCSovDQogICAgImxkcglyMCwgWyUxLCAgIzhdCVxu
XHQiDQogICAgIm1vdglsciwgcGMJCVxuXHQiCS8qIGNhbGwgaXQuLi4JCQkJ
Ki8NCiAgICAibW92CXBjLCBpcAkJXG5cdCINCiAgICAibW92CXI0LCByMCwg
bHNsICMyCVxuXHQiCS8qIFRoaXMgaXMgdGhlIGFtb3VudCBvZiBieXRlcyBu
ZWVkZWQuCSovDQogICAgInN1YglzcCwgc3AsIHI0CVxuXHQiCS8qIHVzZSBz
dGFjayBzcGFjZSBmb3IgdGhlIGFyZ3MuLi4JKi8NCiAgICAibW92CXIwLCBz
cAkJXG5cdCIJLyogcHJlcGFyZSBhIHBvaW50ZXIgYW4gdGhlIHN0YWNrCSov
DQogICAgImxkcglyMSwgWyUxLCAgIzhdCVxuXHQiCS8qID1wYXJhbUNvdW50
CQkJCSovDQogICAgImxkcglyMiwgWyUxLCAjMTJdCVxuXHQiCS8qID1wYXJh
bXMJCQkJKi8NCiAgICAibGRyCWlwLCBbJTEsICMyMF0JXG5cdCIJLyogPWlu
dm9rZV9jb3B5X3RvX3N0YWNrCQkqLw0KICAgICJtb3YJbHIsIHBjCQlcblx0
IgkvKiBjb3B5IGFyZ3MgdG8gdGhlIHN0YWNrIGxpa2UgdGhlCSovDQogICAg
Im1vdglwYywgaXAJCVxuXHQiCS8qIGNvbXBpbGVyIHdvdWxkLgkJCSovDQog
ICAgImxkcglyMCwgWyUxXQlcblx0IgkvKiA9dGhhdAkJCQkqLw0KICAgICJs
ZHIJcjEsIFtyMCwgIzBdCVxuXHQiCS8qIGdldCB0aGF0LT52dGFibGUgb2Zm
c2V0CQkqLw0KICAgICJsZHIJcjIsIFslMSwgIzRdCVxuXHQiDQogICAgImFk
ZAlyMiwgcjEsIHIyLCBsc2wgIzNcblx0IgkvKiBhIHZ0YWJsZV9lbnRyeSh4
KT04ICsgKDggYnl0ZXMgKiB4KQkqLw0KICAgICJhZGQJcjIsIHIyLCAjOAlc
blx0IgkvKiB3aXRoIHRoaXMgY29tcGlsZXJzCQkJKi8NCiAgICAibGRyCXIz
LCBbcjJdCVxuXHQiCS8qIGdldCB2aXJ0dWFsIG9mZnNldCBmcm9tIHZ0YWJs
ZQkqLw0KICAgICJtb3YJcjMsIHIzLCBsc2wgIzE2CVxuXHQiDQogICAgImFk
ZAlyMCwgcjAsIHIzLCBhc3IgIzE2XG5cdCINCiAgICAibGRyCWlwLCBbcjIs
ICM0XQlcblx0IgkvKiBnZXQgbWV0aG9kIGFkZHJlc3MgZnJvbSB2dGFibGUJ
Ki8NCiAgICAiY21wCXI0LCAjMTIJCVxuXHQiCS8qIG1vcmUgdGhhbiAzIGFy
Z3VtZW50cz8/PwkJKi8NCiAgICAibGRtZ3RpYQlzcCEsIHtyMSwgcjIsIHIz
fVxuXHQiCS8qIHllczogbG9hZCBhcmd1bWVudHMgZm9yIHIxLXIzCSovDQog
ICAgInN1Ymd0CXI0LCByNCwgIzEyCVxuXHQiCS8qICAgICAgYW5kIGNvcnJl
Y3QgdGhlIHN0YWNrIHBvaW50ZXIJKi8NCiAgICAibGRtbGVpYQlzcCwge3Ix
LCByMiwgcjN9XG5cdCIJLyogbm86ICBsb2FkIHIxLXIzIGZyb20gc3RhY2sJ
CSovIA0KICAgICJhZGRsZQlzcCwgc3AsIHI0CVxuXHQiCS8qICAgICAgYW5k
IHJlc3RvcmUgc3RhY2sgcG9pbnRlcgkqLw0KICAgICJtb3ZsZQlyNCwgIzAJ
CVxuXHQiCS8qCWEgbWFyayBmb3IgcmVzdG9yaW5nIHNwCQkqLw0KICAgICJt
b3YJbHIsIHBjCQlcblx0IgkvKiBjYWxsIG1hdGhvZAkJCQkqLw0KICAgICJt
b3YJcGMsIGlwCQlcblx0Ig0KICAgICJhZGQJc3AsIHNwLCByNAlcblx0Igkv
KiByZXN0b3JlIHN0YWNrIHBvaW50ZXIJCSovDQogICAgIm1vdgklMCwgcjAJ
CVxuXHQiCS8qIHRoZSByZXN1bHQuLi4JCQkqLw0KICAgIDogIj1yIiAocmVz
dWx0KQ0KICAgIDogInIiICgmbXlfcGFyYW1zKQ0KICAgIDogInIwIiwgInIx
IiwgInIyIiwgInIzIiwgInI0IiwgImlwIiwgImxyIg0KICAgICk7DQogICAg
DQogIHJldHVybiByZXN1bHQ7DQp9ICAgIA0K

--0-13309285-1086169295=:200
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="xptcstubs_arm_netbsd.cpp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.60.0406021041353.200@localhost>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="xptcstubs_arm_netbsd.cpp"

LyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9k
ZTogbmlsOyBjLWJhc2ljLW9mZnNldDogNCAtKi0gKi8NCi8qICoqKioqIEJF
R0lOIExJQ0VOU0UgQkxPQ0sgKioqKioNCiAqIFZlcnNpb246IE5QTCAxLjEv
R1BMIDIuMC9MR1BMIDIuMQ0KICoNCiAqIFRoZSBjb250ZW50cyBvZiB0aGlz
IGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE5ldHNjYXBlIFB1YmxpYyBMaWNl
bnNlDQogKiBWZXJzaW9uIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkg
bm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluDQogKiBjb21wbGlhbmNlIHdp
dGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUg
TGljZW5zZSBhdA0KICogaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9OUEwvDQog
Kg0KICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug
aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywNCiAqIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGlt
cGxpZWQuIFNlZSB0aGUgTGljZW5zZQ0KICogZm9yIHRoZSBzcGVjaWZpYyBs
YW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9ucyB1bmRl
ciB0aGUNCiAqIExpY2Vuc2UuDQogKg0KICogVGhlIE9yaWdpbmFsIENvZGUg
aXMgbW96aWxsYS5vcmcgY29kZS4NCiAqDQogKiBUaGUgSW5pdGlhbCBEZXZl
bG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgDQogKiBOZXRzY2FwZSBD
b21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4NCiAqIFBvcnRpb25zIGNyZWF0
ZWQgYnkgdGhlIEluaXRpYWwgRGV2ZWxvcGVyIGFyZSBDb3B5cmlnaHQgKEMp
IDE5OTkNCiAqIHRoZSBJbml0aWFsIERldmVsb3Blci4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4NCiAqDQogKiBDb250cmlidXRvcihzKToNCiAqDQogKiBBbHRl
cm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1
c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZg0KICogZWl0aGVyIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAi
R1BMIiksIG9yIA0KICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBWZXJzaW9uIDIuMSBvciBsYXRlciAodGhlICJMR1BMIiksDQog
KiBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBHUEwgb3Ig
dGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZA0KICogb2YgdGhvc2Ug
YWJvdmUuIElmIHlvdSB3aXNoIHRvIGFsbG93IHVzZSBvZiB5b3VyIHZlcnNp
b24gb2YgdGhpcyBmaWxlIG9ubHkNCiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiBl
aXRoZXIgdGhlIEdQTCBvciB0aGUgTEdQTCwgYW5kIG5vdCB0byBhbGxvdyBv
dGhlcnMgdG8NCiAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTlBMLCBpbmRpY2F0ZSB5b3VyDQogKiBk
ZWNpc2lvbiBieSBkZWxldGluZyB0aGUgcHJvdmlzaW9ucyBhYm92ZSBhbmQg
cmVwbGFjZSB0aGVtIHdpdGggdGhlIG5vdGljZQ0KICogYW5kIG90aGVyIHBy
b3Zpc2lvbnMgcmVxdWlyZWQgYnkgdGhlIEdQTCBvciB0aGUgTEdQTC4gSWYg
eW91IGRvIG5vdCBkZWxldGUNCiAqIHRoZSBwcm92aXNpb25zIGFib3ZlLCBh
IHJlY2lwaWVudCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUg
dW5kZXINCiAqIHRoZSB0ZXJtcyBvZiBhbnkgb25lIG9mIHRoZSBOUEwsIHRo
ZSBHUEwgb3IgdGhlIExHUEwuDQogKg0KICogKioqKiogRU5EIExJQ0VOU0Ug
QkxPQ0sgKioqKiogKi8NCg0KLyogSW1wbGVtZW50IHNoYXJlZCB2dGJsIG1l
dGhvZHMuICovDQoNCiNpbmNsdWRlICJ4cHRjcHJpdmF0ZS5oIg0KDQpuc3Jl
c3VsdA0KUHJlcGFyZUFuZERpc3BhdGNoKG5zWFBUQ1N0dWJCYXNlKiBzZWxm
LCB1aW50MzIgbWV0aG9kSW5kZXgsIFBSVWludDMyKiBhcmdzKQ0Kew0KI2Rl
ZmluZSBQQVJBTV9CVUZGRVJfQ09VTlQgICAgIDE2DQoNCiAgICBuc1hQVENN
aW5pVmFyaWFudCBwYXJhbUJ1ZmZlcltQQVJBTV9CVUZGRVJfQ09VTlRdOw0K
ICAgIG5zWFBUQ01pbmlWYXJpYW50KiBkaXNwYXRjaFBhcmFtcyA9IE5VTEw7
DQogICAgbnNJSW50ZXJmYWNlSW5mbyogaWZhY2VfaW5mbyA9IE5VTEw7DQog
ICAgY29uc3QgbnNYUFRNZXRob2RJbmZvKiBpbmZvOw0KICAgIFBSVWludDgg
cGFyYW1Db3VudDsNCiAgICBQUlVpbnQ4IGk7DQogICAgbnNyZXN1bHQgcmVz
dWx0ID0gTlNfRVJST1JfRkFJTFVSRTsNCg0KICAgIE5TX0FTU0VSVElPTihz
ZWxmLCJubyBzZWxmIik7DQoNCiAgICBzZWxmLT5HZXRJbnRlcmZhY2VJbmZv
KCZpZmFjZV9pbmZvKTsNCiAgICBOU19BU1NFUlRJT04oaWZhY2VfaW5mbywi
bm8gaW50ZXJmYWNlIGluZm8iKTsNCg0KICAgIGlmYWNlX2luZm8tPkdldE1l
dGhvZEluZm8oUFJVaW50MTYobWV0aG9kSW5kZXgpLCAmaW5mbyk7DQogICAg
TlNfQVNTRVJUSU9OKGluZm8sIm5vIGludGVyZmFjZSBpbmZvIik7DQoNCiAg
ICBwYXJhbUNvdW50ID0gaW5mby0+R2V0UGFyYW1Db3VudCgpOw0KDQogICAg
Ly8gc2V0dXAgdmFyaWFudCBhcnJheSBwb2ludGVyDQogICAgaWYocGFyYW1D
b3VudCA+IFBBUkFNX0JVRkZFUl9DT1VOVCkNCiAgICAgICAgZGlzcGF0Y2hQ
YXJhbXMgPSBuZXcgbnNYUFRDTWluaVZhcmlhbnRbcGFyYW1Db3VudF07DQog
ICAgZWxzZQ0KICAgICAgICBkaXNwYXRjaFBhcmFtcyA9IHBhcmFtQnVmZmVy
Ow0KICAgIE5TX0FTU0VSVElPTihkaXNwYXRjaFBhcmFtcywibm8gcGxhY2Ug
Zm9yIHBhcmFtcyIpOw0KDQogICAgUFJVaW50MzIqIGFwID0gYXJnczsNCiAg
ICBmb3IoaSA9IDA7IGkgPCBwYXJhbUNvdW50OyBpKyssIGFwKyspDQogICAg
ew0KICAgICAgICBjb25zdCBuc1hQVFBhcmFtSW5mbyYgcGFyYW0gPSBpbmZv
LT5HZXRQYXJhbShpKTsNCiAgICAgICAgY29uc3QgbnNYUFRUeXBlJiB0eXBl
ID0gcGFyYW0uR2V0VHlwZSgpOw0KICAgICAgICBuc1hQVENNaW5pVmFyaWFu
dCogZHAgPSAmZGlzcGF0Y2hQYXJhbXNbaV07DQoNCiAgICAgICAgaWYocGFy
YW0uSXNPdXQoKSB8fCAhdHlwZS5Jc0FyaXRobWV0aWMoKSkNCiAgICAgICAg
ew0KICAgICAgICAgICAgZHAtPnZhbC5wID0gKHZvaWQqKSAqYXA7DQogICAg
ICAgICAgICBjb250aW51ZTsNCiAgICAgICAgfQ0KICAgICAgICAvLyBlbHNl
DQogICAgICAgIHN3aXRjaCh0eXBlKQ0KICAgICAgICB7DQogICAgICAgIGNh
c2UgbnNYUFRUeXBlOjpUX0k4ICAgICA6IGRwLT52YWwuaTggID0gKigoUFJJ
bnQ4KikgIGFwKTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRU
eXBlOjpUX0kxNiAgICA6IGRwLT52YWwuaTE2ID0gKigoUFJJbnQxNiopIGFw
KTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX0kz
MiAgICA6IGRwLT52YWwuaTMyID0gKigoUFJJbnQzMiopIGFwKTsgICAgICAg
YnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX0k2NCAgICA6IGRw
LT52YWwuaTY0ID0gKigoUFJJbnQ2NCopIGFwKTsgYXArKzsgYnJlYWs7DQog
ICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX1U4ICAgICA6IGRwLT52YWwudTgg
ID0gKigoUFJVaW50OCopIGFwKTsgICAgICAgYnJlYWs7DQogICAgICAgIGNh
c2UgbnNYUFRUeXBlOjpUX1UxNiAgICA6IGRwLT52YWwudTE2ID0gKigoUFJV
aW50MTYqKWFwKTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRU
eXBlOjpUX1UzMiAgICA6IGRwLT52YWwudTMyID0gKigoUFJVaW50MzIqKWFw
KTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX1U2
NCAgICA6IGRwLT52YWwudTY0ID0gKigoUFJVaW50NjQqKWFwKTsgYXArKzsg
YnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX0ZMT0FUICA6IGRw
LT52YWwuZiAgID0gKigoZmxvYXQqKSAgIGFwKTsgICAgICAgYnJlYWs7DQog
ICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX0RPVUJMRSA6IGRwLT52YWwuZCAg
ID0gKigoZG91YmxlKikgIGFwKTsgYXArKzsgYnJlYWs7DQogICAgICAgIGNh
c2UgbnNYUFRUeXBlOjpUX0JPT0wgICA6IGRwLT52YWwuYiAgID0gKigoUFJC
b29sKikgIGFwKTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRU
eXBlOjpUX0NIQVIgICA6IGRwLT52YWwuYyAgID0gKigoY2hhciopICAgIGFw
KTsgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgbnNYUFRUeXBlOjpUX1dD
SEFSICA6IGRwLT52YWwud2MgID0gKigod2NoYXJfdCopIGFwKTsgICAgICAg
YnJlYWs7DQogICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICBOU19BU1NF
UlRJT04oMCwgImJhZCB0eXBlIik7DQogICAgICAgICAgICBicmVhazsNCiAg
ICAgICAgfQ0KICAgIH0NCg0KICAgIHJlc3VsdCA9IHNlbGYtPkNhbGxNZXRo
b2QoKFBSVWludDE2KW1ldGhvZEluZGV4LCBpbmZvLCBkaXNwYXRjaFBhcmFt
cyk7DQoNCiAgICBOU19SRUxFQVNFKGlmYWNlX2luZm8pOw0KDQogICAgaWYo
ZGlzcGF0Y2hQYXJhbXMgIT0gcGFyYW1CdWZmZXIpDQogICAgICAgIGRlbGV0
ZSBbXSBkaXNwYXRjaFBhcmFtczsNCg0KICAgIHJldHVybiByZXN1bHQ7DQp9
DQoNCi8qDQogKiBUaGVzZSBzdHVicyBtb3ZlIGp1c3QgbW92ZSB0aGUgdmFs
dWVzIHBhc3NlZCBpbiByZWdpc3RlcnMgb250byB0aGUgc3RhY2ssDQogKiBz
byB0aGV5IGFyZSBjb250aWd1b3VzIHdpdGggdmFsdWVzIHBhc3NlZCBvbiB0
aGUgc3RhY2ssIGFuZCB0aGVuIGNhbGxzDQogKiBQcmVwYXJlQW5kRGlzcGF0
Y2goKSB0byBkbyB0aGUgZGlydHkgd29yay4NCiAqLw0KI2lmbmRlZglfX0VM
Rl9fDQojZGVmaW5lCVNZTUJPTFBSRUZJWAkiXyINCiNlbHNlDQojZGVmaW5l
CVNZTUJPTFBSRUZJWA0KI2VuZGlmDQoNCiNkZWZpbmUgU1RVQl9FTlRSWShu
KQkJCQkJCQlcDQpfX2FzbV9fKAkJCQkJCQkJXA0KICAgICIuZ2xvYmFsCSJT
WU1CT0xQUkVGSVgiU3R1YiIjbiJfXzE0bnNYUFRDU3R1YkJhc2Vcblx0IgkJ
XA0KU1lNQk9MUFJFRklYIlN0dWIiI24iX18xNG5zWFBUQ1N0dWJCYXNlOlxu
XHQiCQkJCVwNCiAgICAic3RtZmQJc3AhLCB7cjEsIHIyLCByM30JXG5cdCIJ
CQkJXA0KICAgICJtb3YJaXAsIHNwCQkJXG5cdCIJCQkJXA0KICAgICJzdG1m
ZAlzcCEsIHtmcCwgaXAsIGxyLCBwY30JXG5cdCIJCQkJXA0KICAgICJzdWIJ
ZnAsIGlwLCAjNAkJXG5cdCIJCQkJXA0KICAgICJtb3YJcjEsICMiI24iCQlc
blx0IiAgICAvKiA9IG1ldGhvZEluZGV4IAkqLyBcDQogICAgImFkZAlyMiwg
c3AsICMxNgkJXG5cdCIJCQkJXA0KICAgICJibAkJIlNZTUJPTFBSRUZJWCJQ
cmVwYXJlQW5kRGlzcGF0Y2hfX0ZQMTRuc1hQVENTdHViQmFzZVVpUFVpICAg
XG5cdCIJXA0KICAgICJsZG1lYQlmcCwge2ZwLCBzcCwgbHJ9CVxuXHQiCQkJ
CVwNCiAgICAiYWRkCXNwLCBzcCwgIzEyCQlcblx0IgkJCQlcDQogICAgIm1v
dglwYywgbHIJCQlcblx0IgkJCQlcDQopOw0KDQojZGVmaW5lIFNFTlRJTkVM
X0VOVFJZKG4pIFwNCm5zcmVzdWx0IG5zWFBUQ1N0dWJCYXNlOjpTZW50aW5l
bCMjbigpIFwNCnsgXA0KICAgIE5TX0FTU0VSVElPTigwLCJuc1hQVENTdHVi
QmFzZTo6U2VudGluZWwgY2FsbGVkIik7IFwNCiAgICByZXR1cm4gTlNfRVJS
T1JfTk9UX0lNUExFTUVOVEVEOyBcDQp9DQoNCiNpbmNsdWRlICJ4cHRjc3R1
YnNkZWYuaW5jIg0K

--0-13309285-1086169295=:200--