Generating DWARF CIE info

Eric Botcazou ebotcazou@libertysurf.fr
Sat Jun 9 07:54:00 GMT 2007


> When I looked at what sparc-gcc was generating for the return
> address column, I discovered that it didn't generate anything.

At least it generates the RA column:

	.section	".eh_frame",#alloc,#write
.LLframe1:
	.uaword	.LLECIE1-.LLSCIE1	! Length of Common Information Entry
.LLSCIE1:
	.uaword	0x0	! CIE Identifier Tag
	.byte	0x1	! CIE Version
	.ascii "\0"	! CIE Augmentation
	.byte	0x1	! uleb128 0x1; CIE Code Alignment Factor
	.byte	0x7c	! sleb128 -4; CIE Data Alignment Factor
	.byte	0xf	! CIE RA Column
	.byte	0xc	! DW_CFA_def_cfa
	.byte	0xe	! uleb128 0xe
	.byte	0x0	! uleb128 0x0

> Is there any reason to discard it?

It's supposed to be a constant offset.

 -- Macro: RETURN_ADDR_OFFSET
     If defined, an integer-valued C expression for which rtl will be
     generated to add it to the exception handler address before it is
     searched in the exception handling tables, and to subtract it
     again from the address before using it to return to the exception
     handler.

See the expansion of __builtin_extract_return_addr in except.c.

-- 
Eric Botcazou



More information about the Gcc mailing list