summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/sys/linker_set.h10
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