aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-05-19 17:31:42 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2018-05-19 17:38:50 +0100
commit787d8d240bbeaa812bcf37deeedb3c467be468a3 (patch)
treeef2574872a63a0ca9c8f0fc91baf092fd1906ec2 /configure.ac
parent138734e5b9a6f93098291c09cf54d95ec3d301e7 (diff)
downloadportable-787d8d240bbeaa812bcf37deeedb3c467be468a3.tar.gz
portable-787d8d240bbeaa812bcf37deeedb3c467be468a3.tar.bz2
portable-787d8d240bbeaa812bcf37deeedb3c467be468a3.zip
__warn_references: tweak assembly for "gnu.warning" section
On some targets ';' (like hppa) is treated as a comment in assembly files. This occasionally causes the following assembly failures: ``` Error: can't resolve `.gnu.warning.EVP_DecryptFinal' {.gnu.warning.EVP_DecryptFinal section} - `.Ltext0' {.text section} ``` Note how branch (or other reference) attempts to cross the boundary across two section types: '.text' and '.gnu.warning'. Tobias Ulmer notes that openbsd already uses newlines for similar macro: https://github.com/openbsd/src/blob/master/sys/arch/hppa/include/cdefs.h This change switches from ';' to newline as well. Tested on hppa2.0 and x86_64. Reported-by: Jeroen Roovers Bug: https://bugs.gentoo.org/656104 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac2
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index b74b8a1..16ed825 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,7 +91,7 @@ AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
91AC_MSG_CHECKING([if .gnu.warning accepts long strings]) 91AC_MSG_CHECKING([if .gnu.warning accepts long strings])
92AC_LINK_IFELSE([AC_LANG_SOURCE([[ 92AC_LINK_IFELSE([AC_LANG_SOURCE([[
93extern void SSLv3_method(); 93extern void SSLv3_method();
94__asm__(".section .gnu.warning.SSLv3_method; .ascii \"SSLv3_method is insecure\" ; .text"); 94__asm__(".section .gnu.warning.SSLv3_method\n\t.ascii \"SSLv3_method is insecure\"\n\t.text");
95int main() {return 0;} 95int main() {return 0;}
96]])], [ 96]])], [
97 AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.]) 97 AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])