From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27679 invoked by alias); 19 Oct 2002 19:26:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 27660 invoked by uid 71); 19 Oct 2002 19:26:01 -0000 Resent-Date: 19 Oct 2002 19:26:01 -0000 Resent-Message-ID: <20021019192601.27659.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, joel.soete@tiscali.be Received: (qmail 26053 invoked by uid 61); 19 Oct 2002 19:19:02 -0000 Message-Id: <20021019191902.26052.qmail@sources.redhat.com> Date: Sat, 19 Oct 2002 12:26:00 -0000 From: joel.soete@tiscali.be Reply-To: joel.soete@tiscali.be To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c/8288: gcc asm extension on hppa lakes to access parts of 64bits int X-SW-Source: 2002-10/txt/msg00748.txt.bz2 List-Id: >Number: 8288 >Category: c >Synopsis: gcc asm extension on hppa lakes to access parts of 64bits int >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Oct 19 12:26:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Joel Soete >Release: 3.0 (and later) >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: (see PR 8162) 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: I would like to have enough knowledge to make it available :-) >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/x-csrc; 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=