From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12490 invoked by alias); 10 Jun 2013 15:18:23 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 12420 invoked by uid 89); 10 Jun 2013 15:18:18 -0000 X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL autolearn=ham version=3.3.1 Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 10 Jun 2013 15:18:18 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1Um3rM-0002zW-FU from Luis_Gustavo@mentor.com ; Mon, 10 Jun 2013 08:18:16 -0700 Received: from NA1-MAIL.mgc.mentorg.com ([147.34.98.181]) by svr-orw-fem-01.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 10 Jun 2013 08:18:15 -0700 Received: from [172.30.64.168] ([172.30.64.168]) by NA1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 10 Jun 2013 08:18:15 -0700 Message-ID: <51B5EE29.90500@codesourcery.com> Date: Mon, 10 Jun 2013 15:18:00 -0000 From: Luis Machado Reply-To: lgustavo@codesourcery.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 MIME-Version: 1.0 To: Mark Kettenis CC: gdb@sourceware.org Subject: Re: Assuming types for PC References: <51B5E06A.8020807@codesourcery.com> <201306101431.r5AEVAfb007850@glazunov.sibelius.xs4all.nl> <51B5E3D4.9010105@codesourcery.com> <201306101504.r5AF4pJJ010320@glazunov.sibelius.xs4all.nl> In-Reply-To: <201306101504.r5AF4pJJ010320@glazunov.sibelius.xs4all.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2013-06/txt/msg00027.txt.bz2 On 06/10/2013 05:04 PM, Mark Kettenis wrote: >> Date: Mon, 10 Jun 2013 16:33:56 +0200 >> From: Luis Machado >> >> On 06/10/2013 04:31 PM, Mark Kettenis wrote: >>>> Date: Mon, 10 Jun 2013 16:19:22 +0200 >>>> From: Luis Machado >>>> >>>> Hi, >>>> >>>> I see gdb.base/ptype.exp assuming PC needs to be of type void (*)(). >>>> >>>> # Test ptype of user register >>>> gdb_test "ptype \$pc" "void \\(\\*\\)\\(\\)" "ptype \$pc" >>>> >>>> Is there any reason we should assume that? Some targets use "long long" >>>> or "int32_t" for PC. >>> >>> I consider that to be a bug. Fixing that bug turned out to be >>> somewhat difficult on some architectures that have a 32-bit/64-bit >>> identity crisis; see the x32 discussions from last year. >> >> Architectures are free to deal with the types of their PC's as they >> please. Some keep the standard while others don't. I don't have a strong >> opinion here, but i wouldn't call this a bug immediately. > > When the PC type is "code_ptr", GDB does some useful pretty printing > that it doesn't do if it is a simple integer type. Like printing the > function name thet the PC points to. I think GDB should do that for > all architectures. > >>>> If PC should not have a fixed type, i think it would be best to remove >>>> this check. >>> >>> Please don't. >> >> Is there a more elaborate reasoning for not removing this check? > > It serves a s a reminder that there are still issues to fix for some > of the architectures. Perhaps we should add a KFAIL for architectures > that have the 32-bit/64-bit identity crisis I mentioned. But other > architectures should just change the PC type to "code_ptr". > Thanks. That makes sense. Well, oddball architectures may just have to ignore this, or fix it some other way. Regards, Luis