[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: using USER(x...) in C ?
From:       Catalin Marinas <catalin.marinas () arm ! com>
Date:       2005-06-29 15:51:43
Message-ID: tnx1x6ltb3k.fsf () arm ! com
[Download RAW message or body]

Daniel Jacobowitz <dan@debian.org> wrote:
> On Wed, Jun 29, 2005 at 03:09:46PM +0100, Catalin Marinas wrote:
>> #define C_USER(x...) do {						\
>>  c_user_label:								\
>> 	x;								\
>> 	{								\
>> 		__attribute_used__					\
>> 		__attribute__ ((aligned (8)))				\
>> 		__attribute__ ((__section__ ("__ex_table")))		\
>> 		static struct exception_table_entry ex_tbl_entry = {	\
>> 			(unsigned long) &&c_user_label,			\
>> 			0x9001f						\
>> 		};							\
>> 	}								\
>> } while(0)
>> 
>> Let me know if it works.
>
> Unlikely.  The compiler has a great deal of freedom in moving labels
> around, especially labels which are not visibly used in control
> flow.

OK. In this case it might not be possible at all. I'm not aware of any
way to get the address of the generated code for a given C line.

-- 
Catalin


-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic