[LLVMdev] symbols for exception handling

reed kotler rkotler at mips.com
Fri Nov 2 19:53:41 PDT 2012


mips16 has some unusual requirements for label symbols in .s.

I think that arm thumb has the same issue but have not located yet how 
this is handled.

When you have a label of an instruction in mips16, when you reference 
the label, the linker
adds a 1 to the address. When you call an odd numbered address, the 
procesor switches to mips16 mode and when you call an even numbered 
address it switches to mips32 mode.

This causes some problems in the exception tables.

Basically, labels that are not landing pad symbols that are inserted for 
exception handling
and dwarf purposes, must declared :

$mysym = .

as opposed to:

$mysym:

Has this problem of making this distinction already been solved in llvm 
and if so, how is this done?

Tia.

Reed






More information about the llvm-dev mailing list