mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
x86: Build and pass all tests on 32 bit cygwin
* check/lightning.c: Add workaround to conflicting global optind variable in cygwin binutils that have an internal getopt* implementation. * lib/jit_x86-cpu.c: Add a simple define ffsl ffs if building for 32 bit and there is no ffsl function.
This commit is contained in:
parent
f469a5c87b
commit
4d0e4b32a1
3 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2014-09-24 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
|
* check/lightning.c: Add workaround to conflicting global
|
||||||
|
optind variable in cygwin binutils that have an internal
|
||||||
|
getopt* implementation.
|
||||||
|
|
||||||
|
* lib/jit_x86-cpu.c: Add a simple define ffsl ffs if building
|
||||||
|
for 32 bit and there is no ffsl function.
|
||||||
|
|
||||||
2014-09-24 Paulo Andrade <pcpa@gnu.org>
|
2014-09-24 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
* check/lightning.c: Add a hopefully temporary kludge to not use
|
* check/lightning.c: Add a hopefully temporary kludge to not use
|
||||||
|
|
|
@ -3952,6 +3952,16 @@ main(int argc, char *argv[])
|
||||||
int opt_short;
|
int opt_short;
|
||||||
char cmdline[8192];
|
char cmdline[8192];
|
||||||
|
|
||||||
|
#if __WORDSIZE == 32 && defined(__CYGWIN__)
|
||||||
|
/* Cause a compile warning about redefinition without dllimport
|
||||||
|
* attribute, *but* cause correct linkage if liblightning.a is
|
||||||
|
* linked to binutils (that happens to have an internal
|
||||||
|
* getopt* implementation and an apparently conflicting
|
||||||
|
* optind global variable) */
|
||||||
|
extern int optind;
|
||||||
|
optind = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
progname = argv[0];
|
progname = argv[0];
|
||||||
|
|
||||||
init_jit(progname);
|
init_jit(progname);
|
||||||
|
|
|
@ -639,9 +639,13 @@ static void _prolog(jit_state_t*, jit_node_t*);
|
||||||
static void _epilog(jit_state_t*, jit_node_t*);
|
static void _epilog(jit_state_t*, jit_node_t*);
|
||||||
# define patch_at(node, instr, label) _patch_at(_jit, node, instr, label)
|
# define patch_at(node, instr, label) _patch_at(_jit, node, instr, label)
|
||||||
static void _patch_at(jit_state_t*, jit_node_t*, jit_word_t, jit_word_t);
|
static void _patch_at(jit_state_t*, jit_node_t*, jit_word_t, jit_word_t);
|
||||||
# if __WORDSIZE == 64 && !defined(HAVE_FFSL)
|
# if !defined(HAVE_FFSL)
|
||||||
|
# if __WORDSIZE == 32
|
||||||
|
# define ffsl(i) ffs(i)
|
||||||
|
# else
|
||||||
static int ffsl(long);
|
static int ffsl(long);
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CODE
|
#if CODE
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue