x86_64-m32 internal error for multi-thread-step.exp [Re: [PATCH v10 06/28] btrace: change branch trace data structure]
Metzger, Markus T
markus.t.metzger@intel.com
Fri Jan 23 16:33:00 GMT 2015
> -----Original Message-----
> From: Metzger, Markus T
> Sent: Friday, January 23, 2015 8:46 AM
> To: Jan Kratochvil
> It looks like the is_kernel_addr heuristic gets it wrong for 32bit inferiors
> on 64-bit systems. The heuristic checks whether the most significant bit
> is set. On 64-bit systems, the kernel is loaded into the high 64-bit area
> leaving the entire 32-bit address space to 32-bit processes. GDB checks
> bit 31 since it is a 32-bit inferior. It should still check bit 63 since it is a 64-bit
> kernel. Does GDB even know that the 32-bit inferior is running on a 64-bit
> system?
If we can fix that heuristic, it's just a matter of increasing the trace buffer
size - the trace is bigger on 32-bit systems.
I get the pointer size of the inferior via gdbarch_ptr_bit(). Does GDB also
know the pointer size of the kernel that runs the inferior?
Thanks,
Markus.
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
More information about the Gdb-patches
mailing list