diff --git a/configure b/configure index 89b5e2a87..859b8da16 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for GNU lightning 1.2a. +# Generated by GNU Autoconf 2.59 for GNU lightning 1.2b. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU lightning' PACKAGE_TARNAME='lightning' -PACKAGE_VERSION='1.2a' -PACKAGE_STRING='GNU lightning 1.2a' +PACKAGE_VERSION='1.2b' +PACKAGE_STRING='GNU lightning 1.2b' PACKAGE_BUGREPORT='bonzini@gnu.org' ac_unique_file="lightning.h" @@ -743,7 +743,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU lightning 1.2a to adapt to many kinds of systems. +\`configure' configures GNU lightning 1.2b to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -810,7 +810,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU lightning 1.2a:";; + short | recursive ) echo "Configuration of GNU lightning 1.2b:";; esac cat <<\_ACEOF @@ -931,7 +931,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -GNU lightning configure 1.2a +GNU lightning configure 1.2b generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -945,7 +945,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU lightning $as_me 1.2a, which was +It was created by GNU lightning $as_me 1.2b, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1674,7 +1674,7 @@ fi # Define the identity of the package. PACKAGE='lightning' - VERSION='1.2a' + VERSION='1.2b' cat >>confdefs.h <<_ACEOF @@ -3997,7 +3997,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by GNU lightning $as_me 1.2a, which was +This file was extended by GNU lightning $as_me 1.2b, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4063,7 +4063,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -GNU lightning config.status 1.2a +GNU lightning config.status 1.2b configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index e8f2a4c13..5ed1b5c82 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ dnl Process this file with autoconf to produce a configure script. dnl ----------------------------- HOST SYSTEM ----------------------------------- AC_PREREQ(2.54) -AC_INIT([GNU lightning], 1.2a, bonzini@gnu.org, lightning) +AC_INIT([GNU lightning], 1.2b, bonzini@gnu.org, lightning) AC_CONFIG_AUX_DIR(config) AC_CONFIG_SRCDIR([lightning.h]) diff --git a/doc/lightningize.1 b/doc/lightningize.1 index 4a41c091a..04926e83f 100644 --- a/doc/lightningize.1 +++ b/doc/lightningize.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28. -.TH LIGHTNINGIZE "1" "July 2006" "lightningize 1.2a" "User Commands" +.TH LIGHTNINGIZE "1" "July 2006" "lightningize 1.2b" "User Commands" .SH NAME -lightningize \- manual page for lightningize 1.2a +lightningize \- manual page for lightningize 1.2b .SH SYNOPSIS .B lightningize [\fIOPTION\fR]... diff --git a/doc/version.texi b/doc/version.texi index 3e367655a..25aa291bb 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ @set UPDATED 21 June 2005 @set UPDATED-MONTH June 2005 -@set EDITION 1.2a -@set VERSION 1.2a +@set EDITION 1.2b +@set VERSION 1.2b diff --git a/tests/Makefile.am b/tests/Makefile.am index bfee98e9b..a61e8969b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -noinst_PROGRAMS = fibit incr printf printf2 rpn fib fibdelay add bp testfp funcfp rpnfp modi -noinst_DATA = fibit.ok incr.ok printf.ok printf2.ok rpn.ok fib.ok fibdelay.ok testfp.ok funcfp.ok rpnfp.ok add.ok bp.ok modi.ok +check_PROGRAMS = fibit incr printf printf2 rpn fib fibdelay add bp testfp funcfp rpnfp modi ldxi +noinst_DATA = fibit.ok incr.ok printf.ok printf2.ok rpn.ok fib.ok fibdelay.ok testfp.ok funcfp.ok rpnfp.ok add.ok bp.ok modi.ok ldxi.ok EXTRA_DIST = $(noinst_DATA) run-test if DISASS @@ -9,6 +9,6 @@ LDADD = $(top_builddir)/opcode/libdisass.a endif if REGRESSION_TESTING -TESTS = fib fibit fibdelay incr printf printf2 rpn add bp testfp funcfp rpnfp modi +TESTS = fib fibit fibdelay incr printf printf2 rpn add bp testfp funcfp rpnfp modi ldxi TESTS_ENVIRONMENT=$(srcdir)/run-test endif diff --git a/tests/Makefile.in b/tests/Makefile.in index 4c3427f1b..333660534 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -14,7 +14,6 @@ @SET_MAKE@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -38,10 +37,10 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -noinst_PROGRAMS = fibit$(EXEEXT) incr$(EXEEXT) printf$(EXEEXT) \ +check_PROGRAMS = fibit$(EXEEXT) incr$(EXEEXT) printf$(EXEEXT) \ printf2$(EXEEXT) rpn$(EXEEXT) fib$(EXEEXT) fibdelay$(EXEEXT) \ add$(EXEEXT) bp$(EXEEXT) testfp$(EXEEXT) funcfp$(EXEEXT) \ - rpnfp$(EXEEXT) modi$(EXEEXT) + rpnfp$(EXEEXT) modi$(EXEEXT) ldxi$(EXEEXT) subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -51,7 +50,6 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -PROGRAMS = $(noinst_PROGRAMS) add_SOURCES = add.c add_OBJECTS = add.$(OBJEXT) add_LDADD = $(LDADD) @@ -81,6 +79,10 @@ incr_SOURCES = incr.c incr_OBJECTS = incr.$(OBJEXT) incr_LDADD = $(LDADD) @DISASS_TRUE@incr_DEPENDENCIES = $(top_builddir)/opcode/libdisass.a +ldxi_SOURCES = ldxi.c +ldxi_OBJECTS = ldxi.$(OBJEXT) +ldxi_LDADD = $(LDADD) +@DISASS_TRUE@ldxi_DEPENDENCIES = $(top_builddir)/opcode/libdisass.a modi_SOURCES = modi.c modi_OBJECTS = modi.$(OBJEXT) modi_LDADD = $(LDADD) @@ -113,10 +115,10 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = add.c bp.c fib.c fibdelay.c fibit.c funcfp.c incr.c modi.c \ - printf.c printf2.c rpn.c rpnfp.c testfp.c -DIST_SOURCES = add.c bp.c fib.c fibdelay.c fibit.c funcfp.c incr.c \ +SOURCES = add.c bp.c fib.c fibdelay.c fibit.c funcfp.c incr.c ldxi.c \ modi.c printf.c printf2.c rpn.c rpnfp.c testfp.c +DIST_SOURCES = add.c bp.c fib.c fibdelay.c fibit.c funcfp.c incr.c \ + ldxi.c modi.c printf.c printf2.c rpn.c rpnfp.c testfp.c DATA = $(noinst_DATA) ETAGS = etags CTAGS = ctags @@ -216,10 +218,10 @@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -noinst_DATA = fibit.ok incr.ok printf.ok printf2.ok rpn.ok fib.ok fibdelay.ok testfp.ok funcfp.ok rpnfp.ok add.ok bp.ok modi.ok +noinst_DATA = fibit.ok incr.ok printf.ok printf2.ok rpn.ok fib.ok fibdelay.ok testfp.ok funcfp.ok rpnfp.ok add.ok bp.ok modi.ok ldxi.ok EXTRA_DIST = $(noinst_DATA) run-test @DISASS_TRUE@LDADD = $(top_builddir)/opcode/libdisass.a -@REGRESSION_TESTING_TRUE@TESTS = fib fibit fibdelay incr printf printf2 rpn add bp testfp funcfp rpnfp modi +@REGRESSION_TESTING_TRUE@TESTS = fib fibit fibdelay incr printf printf2 rpn add bp testfp funcfp rpnfp modi ldxi @REGRESSION_TESTING_TRUE@TESTS_ENVIRONMENT = $(srcdir)/run-test all: all-am @@ -255,8 +257,8 @@ $(top_srcdir)/configure: $(am__configure_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) add$(EXEEXT): $(add_OBJECTS) $(add_DEPENDENCIES) @rm -f add$(EXEEXT) $(LINK) $(add_LDFLAGS) $(add_OBJECTS) $(add_LDADD) $(LIBS) @@ -278,6 +280,9 @@ funcfp$(EXEEXT): $(funcfp_OBJECTS) $(funcfp_DEPENDENCIES) incr$(EXEEXT): $(incr_OBJECTS) $(incr_DEPENDENCIES) @rm -f incr$(EXEEXT) $(LINK) $(incr_LDFLAGS) $(incr_OBJECTS) $(incr_LDADD) $(LIBS) +ldxi$(EXEEXT): $(ldxi_OBJECTS) $(ldxi_DEPENDENCIES) + @rm -f ldxi$(EXEEXT) + $(LINK) $(ldxi_LDFLAGS) $(ldxi_OBJECTS) $(ldxi_LDADD) $(LIBS) modi$(EXEEXT): $(modi_OBJECTS) $(modi_DEPENDENCIES) @rm -f modi$(EXEEXT) $(LINK) $(modi_LDFLAGS) $(modi_OBJECTS) $(modi_LDADD) $(LIBS) @@ -310,6 +315,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fibit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/funcfp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/incr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldxi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf2.Po@am__quote@ @@ -481,9 +487,10 @@ distdir: $(DISTFILES) fi; \ done check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am -all-am: Makefile $(PROGRAMS) $(DATA) +all-am: Makefile $(DATA) installdirs: install: install-am install-exec: install-exec-am @@ -511,7 +518,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am +clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -559,7 +566,7 @@ ps-am: uninstall-am: uninstall-info-am .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ - clean-generic clean-noinstPROGRAMS ctags distclean \ + clean-checkPROGRAMS clean-generic ctags distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-exec install-exec-am \ diff --git a/tests/ldxi.c b/tests/ldxi.c new file mode 100644 index 000000000..92fe4e0fa --- /dev/null +++ b/tests/ldxi.c @@ -0,0 +1,62 @@ +/******************************** -*- C -*- **************************** + * + * Test jit_ldxi_i + * + ***********************************************************************/ + + +/* Contributed by Ludovic Courtes. */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include "lightning.h" + +typedef char (* loader_t) (int); + +/* Check `ldxi' with a big operand (OPERAND is assumed to be ``big'', e.g., + more than one octet-long on PowerPC). */ +static loader_t +generate_ldxi_big_operand (void *operand) +{ + static char buffer[1024]; + loader_t result; + int arg; + + /* printf ("si?=%i ui?=%i\n", _siP (16, operand), _uiP (16, operand)); */ + + result = (loader_t)(jit_set_ip (buffer).iptr); + jit_leaf (1); + arg = jit_arg_i (); + jit_getarg_i (JIT_R1, arg); + + jit_ldxi_c (JIT_R0, JIT_R1, operand); + jit_movr_i (JIT_RET, JIT_R0); + + jit_ret (); + jit_flush_code (buffer, jit_get_ip ().ptr); + + return result; +} + + +int +main (int argc, char *argv[]) +{ + static const char the_array[] = "GNU Lightning"; + unsigned i; + loader_t array_loader = generate_ldxi_big_operand ((void *)the_array); + + for (i = 0; i < sizeof (the_array) - 1; i++) + { + printf ("array[%i] = %c, array_loader (%i) = %c\n", + i, the_array[i], i, array_loader (i)); + if (the_array[i] != array_loader (i)) + return 1; + } + + return 0; +} diff --git a/tests/ldxi.ok b/tests/ldxi.ok new file mode 100644 index 000000000..ec7bf557f --- /dev/null +++ b/tests/ldxi.ok @@ -0,0 +1,13 @@ +array[0] = G, array_loader (0) = G +array[1] = N, array_loader (1) = N +array[2] = U, array_loader (2) = U +array[3] = , array_loader (3) = +array[4] = L, array_loader (4) = L +array[5] = i, array_loader (5) = i +array[6] = g, array_loader (6) = g +array[7] = h, array_loader (7) = h +array[8] = t, array_loader (8) = t +array[9] = n, array_loader (9) = n +array[10] = i, array_loader (10) = i +array[11] = n, array_loader (11) = n +array[12] = g, array_loader (12) = g