[llvm-commits] [PATCH]: .cfi_register and .cfi_undefined
Roman Divacky
rdivacky at freebsd.org
Wed Nov 14 07:51:39 PST 2012
Hi,
The attached patch implements .cfi_register and .cfi_undefined. It's based
on a patch from PaX team.
I am getting these test results with it:
test case:
.cfi_startproc
.cfi_register %rdi, %rax
nop
.cfi_undefined %rdx
.cfi_endproc
gnu as:
# Section 4
(('sh_name', 0x00000031) # '.eh_frame'
('sh_type', 0x00000001)
('sh_flags', 0x0000000000000002)
('sh_addr', 0x0000000000000000)
('sh_offset', 0x0000000000000048)
('sh_size', 0x0000000000000030)
('sh_link', 0x00000000)
('sh_info', 0x00000000)
('sh_addralign', 0x0000000000000008)
('sh_entsize', 0x0000000000000000)
('_section_data', '18000000 00000000 017a5200 01781001 1b0c0708 90010905 00000000 10000000 20000000 00000000 01000000 00410701')
),
llvm as:
# Section 4
(('sh_name', 0x00000011) # '.eh_frame'
('sh_type', 0x00000001)
('sh_flags', 0x0000000000000002)
('sh_addr', 0x0000000000000000)
('sh_offset', 0x0000000000000048)
('sh_size', 0x0000000000000030)
('sh_link', 0x00000000)
('sh_info', 0x00000000)
('sh_addralign', 0x0000000000000008)
('sh_entsize', 0x0000000000000000)
('_section_data', '14000000 00000000 017a5200 01781001 1b0c0708 90010000 14000000 1c000000 00000000 01000000 00800141 07010000')
The output for cfi_undefined is the same (0701), the cfi_register differs, but it's implemented
using already existing code.
What do you think?
Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm.mc.cfi.patch
Type: text/x-diff
Size: 8725 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121114/0c30a67e/attachment.patch>
More information about the llvm-commits
mailing list