Re: Assuming types for PC

Luis Machado <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 06/10/2013 05:04 PM, Mark Kettenis wrote:
>> Date: Mon, 10 Jun 2013 16:33:56 +0200
>> From: Luis Machado <[email protected]>
>>
>> On 06/10/2013 04:31 PM, Mark Kettenis wrote:
>>>> Date: Mon, 10 Jun 2013 16:19:22 +0200
>>>> From: Luis Machado <[email protected]>
>>>>
>>>> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.