Stack segments for Aarch64
Luis Machado
luis.machado@arm.com
Thu Jun 6 10:29:08 GMT 2024
Right, "maint info sections" would complement "info proc mapping", if you want to have the visibility of all
the interacting pieces in exec, core file and memory.
On 6/6/24 11:27, Phil Phil wrote:
> Would you suggest that the output of maintenance info sections is more "complete" if you want to see all mapped memory regions?
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Luis Machado <luis.machado@arm.com>
> *Sent:* Thursday, June 6, 2024 10:15 AM
> *To:* Phil Phil <heidegg@hotmail.com>; gdb@sourceware.org <gdb@sourceware.org>
> *Subject:* Re: Stack segments for Aarch64
>
> On 6/6/24 10:57, Phil Phil wrote:
>> Should the stack segment still be there though? I compared a stackpointer to the memory areas from info proc mappings and I can't find a match.
>
> You'll likely find it in a core file section instead: maint info sections.
>
> For me:
>
> [28] 0xfffffffdf000->0x1000000000000 at 0x00191350: load13 ALLOC LOAD HAS_CONTENTS
>
> Does that help? GDB will look things up in the core file instead of memory, which is probably
> why the way it displays things is slightly different.
>
> It could be improved I suppose.
>
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>> *From:* Luis Machado <luis.machado@arm.com>
>> *Sent:* Thursday, June 6, 2024 9:41 AM
>> *To:* Phil Phil <heidegg@hotmail.com>; gdb@sourceware.org <gdb@sourceware.org>
>> *Subject:* Re: Stack segments for Aarch64
>>
>> Hi,
>>
>> On 6/6/24 10:33, Phil Phil wrote:
>>> GDB 12.1 coredump post mortem coredump debugging on an x64 Linux desktop. I do not see a perms column in info proc mappings.
>>>
>>
>> Ah, so it is corefile debugging. Checking on my end, I don't see the permissions column either. Now it escapes me if we have any
>> special reason for that or if it is just an oversight somewhere. As for the stack marker, I suppose we lose that reference
>> when the corefile is generated. That reference comes from /proc/<pid>/maps when we do "info proc mapping".
>>
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>> *From:* Luis Machado <luis.machado@arm.com>
>>> *Sent:* Thursday, June 6, 2024 9:23 AM
>>> *To:* Phil Phil <heidegg@hotmail.com>; gdb@sourceware.org <gdb@sourceware.org>
>>> *Subject:* Re: Stack segments for Aarch64
>>>
>>> Hi,
>>>
>>> On 6/6/24 10:17, Phil Phil via Gdb wrote:
>>>> Greetings,
>>>>
>>>> I'm trying get some memory info on an Aarch64 for a coredump. The aarch64 gdb produces this output for info proc mappings
>>>>
>>>> Start Addr End Addr Size Offset objfile
>>>> 0x557ead9000 0x5582dee000 0x4315000 0x0 /usr/bin/myproc
>>>> 0x5582dfe000 0x5582f0a000 0x10c000 0x4315000 /usr/bin/myproc
>>>> 0x5582f0a000 0x5582f24000 0x1a000 0x4421000 /usr/bin/myproc
>>>>
>>>> I'm missing at least two things here compared to the x64 output:
>>>>
>>>>
>>>> *
>>>> No read/write permissions
>>>> *
>>>> Stack segments are not shown.
>>>>
>>>> Any ideas on how to make these two things visible on Aarch64?
>>>>
>>>> Regards
>>>
>>> What aarch64 debugging setup do you have? Versions etc? Remote?
>>>
>>> For me, running native gdb on aarch64:
>>>
>>> process 1681741
>>> Mapped address spaces:
>>>
>>> Start Addr End Addr Size Offset Perms objfile
>>> 0xaaaaaaaa0000 0xaaaaac3c6000 0x1926000 0x0 r-xp /home/ubuntu/work/build/binutils-gdb-master/gdb/gdb
>>> 0xaaaaac3d5000 0xaaaaacd2a000 0x955000 0x1925000 r--p /home/ubuntu/work/build/binutils-gdb-master/gdb/gdb
>>> 0xaaaaacfc6000 0xaaaaad069000 0xa3000 0x0 rw-p [heap]
>>> ...
>>> 0xfffffffdf000 0x1000000000000 0x21000 0x0 rw-p [stack]
>>
>
More information about the Gdb
mailing list