forked from OSchip/llvm-project
gcc_esp_i386 and gcc_ebp_i386 had their values backwards for
i386 eh_frame register numbering, encoding a darwin-specific bug in the register numbering. Update the definitions to be the correct values, Darwin can use the register numbers from debugserver. Patch from Tong Shen. llvm-svn: 215488
This commit is contained in:
parent
18355283ce
commit
06adbc4e0d
|
@ -34,8 +34,16 @@ enum
|
|||
gcc_ecx_i386,
|
||||
gcc_edx_i386,
|
||||
gcc_ebx_i386,
|
||||
gcc_ebp_i386, // Warning: these are switched from dwarf values
|
||||
gcc_esp_i386, //
|
||||
|
||||
// on Darwin esp & ebp are reversed in the eh_frame section for i386 (versus dwarf's reg numbering).
|
||||
// To be specific:
|
||||
// i386+darwin eh_frame: 4 is ebp, 5 is esp
|
||||
// i386+everyone else eh_frame: 4 is esp, 5 is ebp
|
||||
// i386 dwarf: 4 is esp, 5 is ebp
|
||||
// lldb will get the darwin-specific eh_frame reg numberings from debugserver instead of here so we
|
||||
// only encode the 4 == esp, 5 == ebp numbers in this generic header.
|
||||
gcc_esp_i386,
|
||||
gcc_ebp_i386,
|
||||
gcc_esi_i386,
|
||||
gcc_edi_i386,
|
||||
gcc_eip_i386,
|
||||
|
|
Loading…
Reference in New Issue