summaryrefslogtreecommitdiff
path: root/Build/source/m4/kpse-asm.m4
blob: 4b5add4c4bcca0fb28aa759a16a92017838cce32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Private macro for the teTeX / TeX live (TL) tree.
# by Peter Breitenlohner, April 15, 1996.
# Copyright (C) 1996 - 2009 Peter Breitenlohner <tex-live@tug.org>
#
# This file is free software; the copyright holder
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# serial 3

# KPSE_ASM_UNDERSCORE
# -------------------
# Check if gcc asm for i386 needs external symbols with an underscore.
AC_DEFUN([KPSE_ASM_UNDERSCORE],
[AC_CACHE_CHECK([whether gcc asm needs underscore],
                [pb_cv_asm_underscore],
                [
# Some versions of GCC asm for i386 need an underscore prepended to
# external symbols. Figure out if this is so.
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
extern char val ;
extern void sub () ;
#if defined (__i386__) && defined (__GNUC__) 
asm("        .align 4\n"
".globl sub\n"
"sub:\n"
"        movb \$][1,val\n"
"        ret\n");
#else
void sub () { val = 1; }
#endif /* assembler */
char val ;]],
                                [[sub (); return 0;]])],
               [pb_cv_asm_underscore=no],
               [pb_cv_asm_underscore=yes])])
if test "x$pb_cv_asm_underscore" = xyes; then
  AC_DEFINE([ASM_NEEDS_UNDERSCORE], 1,
            [web2c: Define if gcc asm needs _ on external symbols.])
fi
]) # KPSE_ASM_UNDERSCORE