Commit 1851417e authored by Niels Möller's avatar Niels Möller

Check for COFF type directive, and use in assembly RPOLOGUE.

Fixes problem with windows dll linking.
parent 3445687d
2014-05-31 Niels Möller <nisse@lysator.liu.se>
* configure.ac: Check for COFF type directives.
(ASM_COFF_STYLE): New substituted variable.
* config.m4.in: Set COFF_STYLE from configure.
* asm.m4 (PROLOGUE): Use COFF type directive, if enabled by
configure. Fixes problem with windows dll linking.
* asm.m4: Deleted unused offsets for struct aes_ctx.
2014-05-28 Niels Möller <nisse@lysator.liu.se>
......
......@@ -19,6 +19,13 @@ define(<PROLOGUE>,
<.globl C_NAME($1)
.type C_NAME($1),TYPE_FUNCTION
C_NAME($1):>,
COFF_STYLE, <yes>,
<.globl C_NAME($1)
.def C_NAME($1)
.scl 2
.type 32
.endef
C_NAME($1):>,
<.globl C_NAME($1)
C_NAME($1):>)>)
......
define(<srcdir>, <<@srcdir@>>)dnl
define(<C_NAME>, <@ASM_SYMBOL_PREFIX@><$1>)dnl
define(<ELF_STYLE>, <@ASM_ELF_STYLE@>)dnl
define(<COFF_STYLE>, <@ASM_COFF_STYLE@>)dnl
define(<TYPE_FUNCTION>, <@ASM_TYPE_FUNCTION@>)dnl
define(<TYPE_PROGBITS>, <@ASM_TYPE_PROGBITS@>)dnl
define(<ALIGN_LOG>, <@ASM_ALIGN_LOG@>)dnl
......
......@@ -487,6 +487,7 @@ AC_SUBST([CCPIC_MAYBE])
ASM_SYMBOL_PREFIX=''
ASM_ELF_STYLE='no'
ASM_COFF_STYLE='no'
# GNU as default is to use @
ASM_TYPE_FUNCTION='@function'
ASM_TYPE_PROGBITS='@progbits'
......@@ -554,6 +555,23 @@ foo:
fi
fi
AC_CACHE_CHECK([for COFF-style .type directive],
[nettle_cv_asm_coff_type],
[GMP_TRY_ASSEMBLE([
.text
.globl _foo
.def _foo
.scl 2
.type 32
.endef
_foo:
],
[nettle_cv_asm_coff_type=yes],
[nettle_cv_asm_coff_type=no])])
if test "x$nettle_cv_asm_coff_type" = "xyes" ; then
ASM_COFF_STYLE=yes
fi
AC_CACHE_CHECK([if we should use a .note.GNU-stack section],
nettle_cv_asm_gnu_stack,
[ # Default
......@@ -589,6 +607,7 @@ fi
AC_SUBST(ASM_SYMBOL_PREFIX)
AC_SUBST(ASM_ELF_STYLE)
AC_SUBST(ASM_COFF_STYLE)
AC_SUBST(ASM_TYPE_FUNCTION)
AC_SUBST(ASM_TYPE_PROGBITS)
AC_SUBST(ASM_MARK_NOEXEC_STACK)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment