diff options
| -rw-r--r-- | sys/sys/linker_set.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/sys/linker_set.h b/sys/sys/linker_set.h index 01b8e6af4e12..2ee690e1d306 100644 --- a/sys/sys/linker_set.h +++ b/sys/sys/linker_set.h @@ -44,24 +44,18 @@ */ #ifdef __ELF__ -/* - * Alpha GAS needs an align before the section change. It seems to assume - * that after the .previous, it is aligned, so the following .align 3 is - * ignored. Since the previous instructions often contain strings, this is - * a problem. - */ - #if defined(__alpha__) || defined(__ia64__) #define MAKE_SET(set, sym) \ static void const * const __set_##set##_sym_##sym = &sym; \ - __asm(".p2align 3"); \ __asm(".section .set." #set ",\"aw\""); \ + __asm(".p2align 3"); \ __asm(".quad " #sym); \ __asm(".previous") #else #define MAKE_SET(set, sym) \ static void const * const __set_##set##_sym_##sym = &sym; \ __asm(".section .set." #set ",\"aw\""); \ + __asm(".p2align 2"); \ __asm(".long " #sym); \ __asm(".previous") #endif |
