This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

other/8162: gcc asm extension on hppa lakes to access parts of 64bits int


>Number:         8162
>Category:       other
>Synopsis:       gcc asm extension on hppa lakes to access parts of 64bits int
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 07 09:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     joel soete
>Release:        3.0 (think also for release 3.2 and latter)
>Organization:
>Environment:
hppa linux [Debian unstable];
gcc -v       
Reading specs from /usr/lib/gcc-lib/hppa-linux/3.0.4/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --enable-threads=posix --with-cpp-install-dir=bin --enable-objc-gc hppa-linux
Thread model: posix
gcc version 3.0.4
>Description:
On hppa linux (32bits), I try to implement evms tools to manage lvm. That works without problems until release 1.1.0 which used put_user(x,ptr) with x a 64bits long int (which seems to became 'legal'). But under hppa linux this code is not yet supported with a 32bits kernel (and it is written in asm extension).

Even thought mips 32bits implements it. There (linux/include/asm-mips/uaccess.h) I discover that it is possible with some prefix (D, M, L, IIRC) to access to the two (32bits) int part of a 64bits long int.

So I just try the small attached example to see if it is also foreseen with hppa release. As it failled by reporting me: Internal compiler error in print operand, at config/pa/pa.c
please submit a full bug report... , I do it because I reach to implement something working with pointer but it broken the  structure of the actual implementation and makes it also more complexe.

Thanks in advance for your attention and futher help,
    Joel
>How-To-Repeat:
gcc -Wall -o tu64 TU64-3.c
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="TU64-3.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="TU64-3.c"

I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5o
PgojaW5jbHVkZSA8ZXJybm8uaD4KCiNkZWZpbmUgS0VSTkVMX0RTICAgICAgICgobW1fc2VnbWVu
dF90KXswfSkKI2RlZmluZSBVU0VSX0RTICAgICAgICAgKChtbV9zZWdtZW50X3QpezF9KQoKI2Rl
ZmluZSBzZWdtZW50X2VxKGEsYikgKChhKS5zZWcgPT0gKGIpLnNlZykKCiNkZWZpbmUgZ2V0X2Rz
KCkgICAgICAgIChLRVJORUxfRFMpCiNkZWZpbmUgZ2V0X2ZzKCkgICAgICAgIChjdXJyZW50LT5h
ZGRyX2xpbWl0KQojZGVmaW5lIHNldF9mcyh4KSAgICAgICAoY3VycmVudC0+YWRkcl9saW1pdCA9
ICh4KSkKCiNkZWZpbmUgcHV0X3VzZXIgX19wdXRfdXNlcgoKLyoKI2RlZmluZSBTVERfVVNFUih4
LCBwdHIpIGRvIHsgCQkJCQlcCiAgICBfX3B1dF91c2VyX2FzbSgic3R3IiwodW5zaWduZWQgaW50
KSh4Pj4zMikgLHB0cik7ICAgICAgICAgXAogICAgX19wdXRfdXNlcl9hc20oInN0dyIsKHVuc2ln
bmVkIGludCkgeCwgKHVuc2lnbmVkIGludCAqKXB0cisxKTsgXAp9IHdoaWxlICgwKSAKCiNkZWZp
bmUgU1REX1VTRVIoeCwgcHRyKSAJCQkJCVwKKHsJCQkJCQkJCVwKICAgIHVuc2lnbmVkIGludCB2
YWwgPSAodW5zaWduZWQgaW50KSh4Pj4zMik7CQkJXAogICAgX19wdXRfdXNlcl9hc20oInN0dyIs
IHZhbCxwdHIpOyAgICAgICAgIFwKICAgIHZhbCA9ICh1bnNpZ25lZCBpbnQpIHggOyAJCQkJCVwK
ICAgIF9fcHV0X3VzZXJfYXNtKCJzdHciLCB2YWwsICh1bnNpZ25lZCBpbnQgKilwdHIrMSk7IFwK
fSkgCiovCgojZGVmaW5lIFNURF9VU0VSKHgsIHB0cikgIF9fcHV0X3VzZXJfYXNtXzY0KHgsIHB0
cikKCiNkZWZpbmUgX19wdXRfdXNlcih4LHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCih7CQkJCQkJCQlcCglyZWdpc3RlciBsb25nIF9fcHVfZXJyIF9fYXNtX18g
KCJyOCIpID0gMDsJCVwKCQkJCQkJCQlcCgkgICAgc3dpdGNoIChzaXplb2YoKihwdHIpKSkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKCSAgICBjYXNlIDE6IF9fcHV0X3VzZXJfYXNtKCJz
dGIiLHgscHRyKTsgYnJlYWs7ICAgICAgICAgXAoJICAgIGNhc2UgMjogX19wdXRfdXNlcl9hc20o
InN0aCIseCxwdHIpOyBicmVhazsgICAgICAgICBcCgkgICAgY2FzZSA0OiBfX3B1dF91c2VyX2Fz
bSgic3R3Iix4LHB0cik7IGJyZWFrOyAgICAgICAgIFwKCSAgICBjYXNlIDg6IFNURF9VU0VSKHgs
cHRyKTsgYnJlYWs7ICAgICAgICAgXAoJICAgIGRlZmF1bHQ6IHByaW50ZigiQnVnIik7IGJyZWFr
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKCSAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoJCQkJCQkJCVwKCV9fcHVfZXJyOwkJ
CQkJCVwKfSkKCi8qCiAqIFRoZSAiX19wdXRfdXNlci9rZXJuZWxfYXNtKCkiIG1hY3JvcyB0ZWxs
IGdjYyB0aGV5IHJlYWQgZnJvbSBtZW1vcnkKICogaW5zdGVhZCBvZiB3cml0aW5nLiBUaGlzIGlz
IGJlY2F1c2UgdGhleSBkbyBub3Qgd3JpdGUgdG8gYW55IG1lbW9yeQogKiBnY2Mga25vd3MgYWJv
dXQsIHNvIHRoZXJlIGFyZSBubyBhbGlhc2luZyBpc3N1ZXMuCiAqLwoKI2RlZmluZSBfX3B1dF91
c2VyX2FzbShzdHgseCxwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoJX19hc21fXyBf
X3ZvbGF0aWxlX18gKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKCQkiXG4xOlx0IiBz
dHggIlx0JTIsMCglJXNyMywlMSlcbiIgICAgICAgICAgIFwKCQkiMjpcbiIJCQkJCSAgICBcCgkJ
Ilx0LnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIiAgICAgICAgICAgICBcCgkJICJcdC53b3Jk
XHQxYlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkJICJcdC53b3JkXHQoMmItMWIp
KzFcbiIgICAgICAgICAgICAgICAgICAgICBcCgkJICJcdC5wcmV2aW91cyIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCgkJOiAiPXIiKF9fcHVfZXJyKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCgkJOiAiciIocHRyKSwgInIiKHgpLCAiMCIoX19wdV9lcnIpKQoKI2RlZmluZSBf
X3B1dF91c2VyX2FzbV82NCh4LCBwdHIpICAgICAgICAgICAgICAgICAgICAgIFwKCV9fYXNtX18g
X192b2xhdGlsZV9fICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCgkJIlxuMTpcdHN0
d1x0JTIsMCglJXNyMywlMSlcbiIgICAgICAgICAgIFwKCQkiMjpcdHN0d1x0JUQyLDQoJSVzcjMs
JTEpXG4iICAgICAgICAgICBcCgkJIjM6XG4iCQkJCQkgICAgXAoJCSJcdC5zZWN0aW9uIF9fZXhf
dGFibGUsXCJhXCJcbiIgICAgICAgICAgICAgXAoJCSAiXHQud29yZFx0MWJcbiIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAoJCSAiXHQud29yZFx0KDNiLTFiKSsxXG4iICAgICAgICAgICAg
ICAgICAgICAgXAoJCSAiXHQud29yZFx0MmJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAoJCSAiXHQud29yZFx0KDNiLTJiKSsxXG4iICAgICAgICAgICAgICAgICAgICAgXAoJCSAiXHQu
cHJldmlvdXMiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoJCTogIj1yIihfX3B1X2Vy
cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoJCTogInIiKHB0ciksICJyIih4KSwgIjAi
KF9fcHVfZXJyKSkKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHU2NDsKdHlwZWRlZiB1X2lu
dDhfdCAgQk9PTEVBTjsKCnR5cGVkZWYgc3RydWN0CnsKICAgIHVuc2lnbmVkIGNoYXIgYjcsIGI2
LCBiNSwgYjQsIGIzLCBiMiwgYjEsIGIwOwp9CkVpZ2h0Qnl0ZXM7CgovKgpzdGF0aWMgaW5saW5l
IGludCBwdXRfdXNlcl91NjQodW5zaWduZWQgbG9uZyBsb25nIHZhbCwgdW5zaWduZWQgbG9uZyBs
b25nICogIHB0cikKewogICAgaW50ICBlcnI7CiAgICBlcnIgPSAoaW50KSBwdXRfdXNlcigodW5z
aWduZWQgaW50KSh2YWw+PjMyKSAsKHVuc2lnbmVkIGludCAqKXB0cik7CiAgICBlcnIgfD0gKGlu
dCkgcHV0X3VzZXIoKHVuc2lnbmVkIGludCl2YWwsKHVuc2lnbmVkIGludCAqKXB0cisxKTsKICAg
IHJldHVybiBlcnI7Cn0KKi8KCmludCBtYWluKGludCBhcmdjLCBjaGFyICogKiBhcmd2LCBjaGFy
ICogKiBlbnYpIHsKCiAgICB1bnNpZ25lZCBsb25nIGxvbmcgVFU2NDsKICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyAqIFBUVTY0PSh1bnNpZ25lZCBsb25nIGxvbmcgKikgbWFsbG9jKHNpemVvZih1bnNp
Z25lZCBsb25nIGxvbmcpKTsKICAgIGludCBlcnI7CgogICAgdW5pb24KICAgIHsKCXVuc2lnbmVk
IGxvbmcgbG9uZyBVNjQ7CglFaWdodEJ5dGVzIEI4OwogICAgfQogICAgVXU2NDsKCiAgICBVdTY0
LlU2NCA9IDB4ZjdmNmY1ZjRmM2YyZjFmMDsKICAgIFRVNjQgPSBVdTY0LlU2NDsKCi8qICAgIGVy
ciA9IHB1dF91c2VyX3U2NChUVTY0LCBQVFU2NCk7ICovCiAgICBlcnIgPSBwdXRfdXNlcihUVTY0
LCBQVFU2NCk7CgovKgoqLwogICAgcHJpbnRmKCJUZXN0VTY0IGlzIG9mIGxlbjogJXVcbiIsIHNp
emVvZihVdTY0LlU2NCkpOwogICAgcHJpbnRmKCJBZGQgb2YgVGVzdFU2NDogJXBcbiIsICZUVTY0
KTsKCiAgICBwcmludGYoIlZhbCBvZiBVdTY0LlU2NDogJTBMeFxuIiwgVXU2NC5VNjQpOwoKICAg
IHByaW50ZigiVmFsIG9mIFV1NjQuVTY0bDogJTB4XG4iLCAodW5zaWduZWQgaW50KSBVdTY0LlU2
NCApOwoKICAgIHByaW50ZigiVmFsIG9mIFV1NjQuVTY0aDogJTB4XG4iLCAodW5zaWduZWQgaW50
KSAoVXU2NC5VNjQgPj4gMzIpICk7CgogICAgcHJpbnRmKCJWYWwgb2YgVXU2NC5VNjRiMDogJTB4
XG4iLCAodW5zaWduZWQgY2hhcikgVXU2NC5COC5iMCApOwoKICAgIHByaW50ZigiQWRkIG9mIFV1
NjQuVTY0OiAlcFxuIiwgJihVdTY0LlU2NCkpOwogICAgcHJpbnRmKCJBZGQgb2YgVXU2NC5VNjRi
NzogJXBcbiIsICYoVXU2NC5COC5iNykpOwogICAgcHJpbnRmKCJBZGQgb2YgVXU2NC5VNjRiMDog
JXBcbiIsICYoVXU2NC5COC5iMCkpOwoKICAgIHByaW50ZigiUFRVNjQgaXMgb2YgbGVuOiAldVxu
Iiwgc2l6ZW9mKCpQVFU2NCkpOwogICAgcHJpbnRmKCJBZGQgb2YgUFRVNjQ6ICVwXG4iLCBQVFU2
NCk7CiAgICBwcmludGYoIlZhbCBvZiBQVFU2NDogJTBMeFxuIiwgKlBUVTY0KTsKLyoKKi8KCiAg
ICByZXR1cm4gZXJyOwp9Cgo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]