This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/RFT PATCH 0/3] Add TDB regset support


On 06/07/2013 02:44 PM, Andreas Arnez wrote:
> The new z/Architecture introduces restricted hardware transactional
> memory with the "transactional-execution facility".  Diagnostic
> capabilities of this feature include the "program interruption
> transaction diagnostic block" (TDB), which is written by the hardware
> whenever a transaction is aborted due to a program interruption.
> 
> This patch set makes the TDB accessible from GDB as a new register set.
> The first patch reworks the S/390 register map handling without any
> functional changes, the second adds the new TDB register set, and the
> third implements "dynamic regset" support.
> 
> The third patch changes GDB's approach for enumerating core file
> register note sections: Instead of a static array, an iterator function
> is now provided by the target-dependent code.  This allows for
> dynamically selecting a register set for inclusion in a core file
> (written with gcore), and making the selection dependent on the current
> register values.  This is needed for correct treatment of the TDB
> register set, because its register values are unavailable when the
> inferior was interrupted outside transactions, and then the TDB should
> *not* be written into the core file.
> 
> This last patch affects multiple architectures, specifically:
> 
> - GNU/Linux ARM
> - GNU/Linux PowerPC
> - GNU/Linux S/390
> - GNU/Linux x86
> 
> In most cases the patch simplifies the target-dependent logic.  I've
> tested on S/390 and x86 and did not find any regressions.
> 

Why isn't this exposed as a new target description that includes the
new register set?

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]