Mercurial > hg > octave-shane > gnulib-hg
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 |
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 ]) |