>From: Wangnan (F) [mailto:wangn...@huawei.com] >On 2016/1/22 13:56, 平松雅巳 / HIRAMATU,MASAMI wrote: >>> From: Wangnan (F) [mailto:wangn...@huawei.com] >>> I think this problem is not introduced by my patch. In fact >>> there's a fundamental problem in get_arch_regstr() that it is >>> impossible to switch sub ISA. >> Right, but I guess this can fixed by switching %sp (for x86-64) >> and +0(%sp) (for x86-32) instead of $stack. >> > >It may not work. > >No matter how we change regoffset_table, when get_arch_regstr() >get a register number 4, how can it know whether we are looking >for x86_32 register and return $stack or return %si for x86_64?
I think we can also use elf header to get the ISA of the target binary. >The fundamental problem is: we need a way to map dwarf's register >number to register names so uprobe know which register we are >looking for, but the API we designed for this can't distinguish >the sub ISAs dwarf are using. As I said, we can read the elf header and get the Class or Machine and switch the table according to it. Can't it? Thanks,