On Thu, Feb 17, 2011 at 2:48 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
Gaah, I didn't realize that we've never had to do anything like this before, and that the exception table is all arch-specific code. So we don't have any way to "output that damned pointer and stop whining about it" model at all.
Actually, I don't think the problem is about ".word" vs ".xword". We should be able to just use ".long" everywhere. But the symbol _name_ may have different prefixes, and when we use "asm()" at the top level, we can't use the expressions to fix it up. So a asm(".long %0":'i" (symbol)) doesn't work (ignore the lack of section naming, that's not important), and neither can we just do something like #define output_asm_pointer(section, symbol) \ asm(".long " #symbol) portably, because some linker formats want to see prepended underscores etc. Grr. Where in gcc is the alignment expansion logic? I'd like to see what the rules are, just for my own perverse satisfaction. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html