annotate m4/ld-version-script.m4 @ 16869:38e6d30d7e4d

poll/select: prevent busy-waiting 2012-05-21 Paolo Bonzini <bonzini@gnu.org> poll/select: prevent busy-waiting. SwitchToThread() only gives away the rest of the current time slice to another thread in the current process. So if the thread that feeds the file decscriptor we're polling is not in the current process, we get busy-waiting. * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread(). Patch from Theodore Leblond. * lib/select.c: Split polling out of the loop that sets the output fd_sets. Check for zero result and loop if the wait timeout is infinite.
author Paolo Bonzini <bonzini@gnu.org>
date Mon, 21 May 2012 09:52:42 +0200
parents 0acb9b939828
children e542fd46ad6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16243
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
1 # ld-version-script.m4 serial 3
16201
8250f2777afc maint: update all copyright year number ranges
Jim Meyering <meyering@redhat.com>
parents: 14079
diff changeset
2 dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
11254
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
3 dnl This file is free software; the Free Software Foundation
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
4 dnl gives unlimited permission to copy and/or distribute it,
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
5 dnl with or without modifications, as long as this notice is preserved.
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
6
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
7 dnl From Simon Josefsson
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
8
11448
91c23a0be4a4 lib-symbol-versions: Add comment about false positive on mingw.
Simon Josefsson <simon@josefsson.org>
parents: 11254
diff changeset
9 # FIXME: The test below returns a false positive for mingw
91c23a0be4a4 lib-symbol-versions: Add comment about false positive on mingw.
Simon Josefsson <simon@josefsson.org>
parents: 11254
diff changeset
10 # cross-compiles, 'local:' statements does not reduce number of
91c23a0be4a4 lib-symbol-versions: Add comment about false positive on mingw.
Simon Josefsson <simon@josefsson.org>
parents: 11254
diff changeset
11 # exported symbols in a DLL. Use --disable-ld-version-script to work
91c23a0be4a4 lib-symbol-versions: Add comment about false positive on mingw.
Simon Josefsson <simon@josefsson.org>
parents: 11254
diff changeset
12 # around the problem.
91c23a0be4a4 lib-symbol-versions: Add comment about false positive on mingw.
Simon Josefsson <simon@josefsson.org>
parents: 11254
diff changeset
13
11254
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
14 # gl_LD_VERSION_SCRIPT
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
15 # --------------------
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
16 # Check if LD supports linker scripts, and define automake conditional
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
17 # HAVE_LD_VERSION_SCRIPT if so.
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
18 AC_DEFUN([gl_LD_VERSION_SCRIPT],
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
19 [
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
20 AC_ARG_ENABLE([ld-version-script],
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
21 AS_HELP_STRING([--enable-ld-version-script],
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
22 [enable linker version script (default is enabled when possible)]),
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
23 [have_ld_version_script=$enableval], [])
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
24 if test -z "$have_ld_version_script"; then
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
25 AC_MSG_CHECKING([if LD -Wl,--version-script works])
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
26 save_LDFLAGS="$LDFLAGS"
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
27 LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
28 cat > conftest.map <<EOF
16243
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
29 foo
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
30 EOF
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
31 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
32 [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
33 if test "$accepts_syntax_errors" = no; then
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
34 cat > conftest.map <<EOF
11254
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
35 VERS_1 {
12421
e8d2c6fc33ad Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents: 11448
diff changeset
36 global: sym;
11254
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
37 };
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
38
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
39 VERS_2 {
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
40 global: sym;
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
41 } VERS_1;
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
42 EOF
16243
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
43 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
44 [have_ld_version_script=yes], [have_ld_version_script=no])
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
45 else
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
46 have_ld_version_script=no
0acb9b939828 Fix for mingw with MSVC9.
Simon Josefsson <simon@josefsson.org>
parents: 16201
diff changeset
47 fi
11254
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
48 rm -f conftest.map
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
49 LDFLAGS="$save_LDFLAGS"
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
50 AC_MSG_RESULT($have_ld_version_script)
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
51 fi
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
52 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
28202c1cd52d Add new module ld-version-script. Fix doc for visibility.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
53 ])