From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 708 invoked by alias); 23 Oct 2007 16:24:23 -0000 Received: (qmail 697 invoked by uid 22791); 23 Oct 2007 16:24:22 -0000 X-Spam-Check-By: sourceware.org Received: from nf-out-0910.google.com (HELO nf-out-0910.google.com) (64.233.182.190) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 23 Oct 2007 16:24:17 +0000 Received: by nf-out-0910.google.com with SMTP id b11so1242848nfh for ; Tue, 23 Oct 2007 09:24:12 -0700 (PDT) Received: by 10.78.156.6 with SMTP id d6mr4201874hue.1193156651783; Tue, 23 Oct 2007 09:24:11 -0700 (PDT) Received: by 10.78.188.17 with HTTP; Tue, 23 Oct 2007 09:24:11 -0700 (PDT) Message-ID: <4053daab0710230924o386935aer31a1a2fb4f70da31@mail.gmail.com> Date: Tue, 23 Oct 2007 16:46:00 -0000 From: "Pedro Alves" To: gdb-patches@sourceware.org Subject: Avoid gcc warning on sparc solaris 9 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_981_9292135.1193156651705" X-Google-Sender-Auth: 76eccc46f00cf8d9 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00541.txt.bz2 ------=_Part_981_9292135.1193156651705 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 2454 Hi, Building HEAD on a native gdb on sparc solaris 9 with gcc 3.4.6 stops due to: gcc -c -g -O2 -I. -I../../src/gdb -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I./../intl -DMI_OUT=1 -DTUI=1 -I/usr/local/include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-unused -Wno-switch -Wno-char-subscripts -Werror ../../src/gdb/sol-thread.c ../../src/gdb/sol-thread.c: In function `sol_thread_fetch_registers': ../../src/gdb/sol-thread.c:533: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [sol-thread.o] Error 1 gcc -v Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77 Thread model: posix gcc version 3.4.6 uname -a SunOS ol154 5.9 Generic_117171-13 sun4u sparc SUNW,Sun-Fire-480R Solaris The attached patch gets me going. config/sparc/nm-sol2.h has these, so it looks safe on sparc: #define GDB_GREGSET_T prgregset_t #define GDB_FPREGSET_T prfpregset_t Here's a simplified preprocessed output of sol-thread.c: typedef prgregset_t gdb_gregset_t; typedef prfpregset_t gdb_fpregset_t; extern void supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregs); extern void supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregs); static void sol_thread_fetch_registers (struct regcache *regcache, int regnum) { prgregset_t gregset; prfpregset_t fpregset; supply_gregset (regcache, (const gdb_gregset_t *) &gregset); supply_fpregset (regcache, (const gdb_fpregset_t *) &fpregset); } But I'm not sure it's correct, since the i386 sparc config files don't set GDB_{G|FP}REGSET, so they should be defaulting to: gregset.h: #ifndef GDB_GREGSET_T #define GDB_GREGSET_T gregset_t #endif #ifndef GDB_FPREGSET_T #define GDB_FPREGSET_T fpregset_t #endif I ran the testsuite on it, and this is what I got: === gdb Summary === # of expected passes 10898 # of unexpected failures 81 # of unexpected successes 2 # of expected failures 47 # of known failures 42 # of unresolved testcases 3 # of untested testcases 8 # of unsupported tests 25 ------=_Part_981_9292135.1193156651705 Content-Type: text/x-patch; name=solaris.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_f84m1bcg Content-Disposition: attachment; filename=solaris.diff Content-length: 1855 MjAwNy0xMC0yMyAgUGVkcm8gQWx2ZXMgIDxwZWRyb19hbHZlc0Bwb3J0dWdh bG1haWwucHQ+CgoJKiBzb2wtdGhyZWFkLmMgKHNvbF90aHJlYWRfZmV0Y2hf cmVnaXN0ZXJzKTogQXZvaWQgYWxpYXMgd2FybmluZy4KCUFkZCBhc3NlcnRp b24gdG8gdmVyaWZ5IGNvcnJlY3Qgc2l6ZSBvZiBnZGJfZ3JlZ3NldF90IGFu ZAoJZ2RiX2ZwcmVnc2V0X3QuCgotLS0KIGdkYi9zb2wtdGhyZWFkLmMgfCAg ICA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKSW5kZXg6IHNyYy9nZGIvc29sLXRocmVhZC5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNyYy5vcmlnL2dkYi9zb2wt dGhyZWFkLmMJMjAwNy0xMC0yMyAxNToxNDo0NC41MjkwMzgwMDAgKzAxMDAK KysrIHNyYy9nZGIvc29sLXRocmVhZC5jCTIwMDctMTAtMjMgMTU6MTU6NDku ODE5MjYzMDAwICswMTAwCkBAIC00ODQsNiArNDg0LDEwIEBAIHNvbF90aHJl YWRfZmV0Y2hfcmVnaXN0ZXJzIChzdHJ1Y3QgcmVnY2EKICAgdGRfZXJyX2Ug dmFsOwogICBwcmdyZWdzZXRfdCBncmVnc2V0OwogICBwcmZwcmVnc2V0X3Qg ZnByZWdzZXQ7CisKKyAgZ2RiX2Fzc2VydCAoc2l6ZW9mIChwcmdyZWdzZXRf dCkgPT0gc2l6ZW9mIChnZGJfZ3JlZ3NldF90KSk7CisgIGdkYl9hc3NlcnQg KHNpemVvZiAocHJmcHJlZ3NldF90KSA9PSBzaXplb2YgKGdkYl9mcHJlZ3Nl dF90KSk7CisKICNpZiAwCiAgIGludCB4cmVnc2l6ZTsKICAgY2FkZHJfdCB4 cmVnc2V0OwpAQCAtNTMwLDggKzUzNCw4IEBAIHNvbF90aHJlYWRfZmV0Y2hf cmVnaXN0ZXJzIChzdHJ1Y3QgcmVnY2EKICAgICAgY2FsbGluZyB0aGUgdGQg cm91dGluZXMgYmVjYXVzZSB0aGUgdGQgcm91dGluZXMgY2FsbCBwc19sZ2V0 KgogICAgICB3aGljaCBhZmZlY3QgdGhlIHZhbHVlcyBzdG9yZWQgaW4gdGhl IHJlZ2lzdGVycyBhcnJheS4gICovCiAKLSAgc3VwcGx5X2dyZWdzZXQgKHJl Z2NhY2hlLCAoY29uc3QgZ2RiX2dyZWdzZXRfdCAqKSAmZ3JlZ3NldCk7Ci0g IHN1cHBseV9mcHJlZ3NldCAocmVnY2FjaGUsIChjb25zdCBnZGJfZnByZWdz ZXRfdCAqKSAmZnByZWdzZXQpOworICBzdXBwbHlfZ3JlZ3NldCAocmVnY2Fj aGUsIChjb25zdCBnZGJfZ3JlZ3NldF90ICopICh2b2lkICopICZncmVnc2V0 KTsKKyAgc3VwcGx5X2ZwcmVnc2V0IChyZWdjYWNoZSwgKGNvbnN0IGdkYl9m cHJlZ3NldF90ICopICh2b2lkICopICZmcHJlZ3NldCk7CiAKICNpZiAwCiAg IC8qIEZJWE1FOiBsaWJ0aHJlYWRfZGIgZG9lc24ndCBzZWVtIHRvIGhhbmRs ZSB0aGlzIHJpZ2h0LiAgKi8K ------=_Part_981_9292135.1193156651705--