From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32682 invoked by alias); 10 Jun 2013 15:04:59 -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 32672 invoked by uid 89); 10 Jun 2013 15:04:59 -0000 X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 10 Jun 2013 15:04:58 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3) with ESMTP id r5AF4qZB029999; Mon, 10 Jun 2013 17:04:52 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3/Submit) id r5AF4pJJ010320; Mon, 10 Jun 2013 17:04:51 +0200 (CEST) Date: Mon, 10 Jun 2013 15:04:00 -0000 Message-Id: <201306101504.r5AF4pJJ010320@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: lgustavo@codesourcery.com CC: gdb@sourceware.org In-reply-to: <51B5E3D4.9010105@codesourcery.com> (message from Luis Machado on Mon, 10 Jun 2013 16:33:56 +0200) Subject: Re: Assuming types for PC References: <51B5E06A.8020807@codesourcery.com> <201306101431.r5AEVAfb007850@glazunov.sibelius.xs4all.nl> <51B5E3D4.9010105@codesourcery.com> X-SW-Source: 2013-06/txt/msg00026.txt.bz2 > 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".