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>
|
||||
|
||||
* check/lightning.c: Add a hopefully temporary kludge to not use
|
||||
|
|
|
@ -3952,6 +3952,16 @@ main(int argc, char *argv[])
|
|||
int opt_short;
|
||||
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];
|
||||
|
||||
init_jit(progname);
|
||||
|
|
|
@ -639,8 +639,12 @@ static void _prolog(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)
|
||||
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);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue