Fix #14. Cast signed strings to unsigned to prevent ctype.h warning
Add generic dejagnu support for running benchmarks.

Adds a generic framework for running the benchmarks.  Have updated
the existing run.exp script (just run the benchmarks) to use the new
framework, and have added perf-stat.exp (uses the kernel perf counters
to measure instructions) and have rewritten measure.exp as
mageec-wand.exp to use the new framework.

ChangeLog:

	* beebs.test/measure.exp: Deleted.
	* beebs.test/mageec-wand.exp: New file.
	* beebs.test/perf-stat.exp: New file.
	* lib/beebs.exp: New file.
	* beebs.test/run.exp: Update to use beebs.exp support.
Merge pull request #15 from jpallister/newlib_tolower_fix

Fix #14. Cast signed strings to unsigned to prevent ctype.h warning
Split each benchmark into its own directory ... again.

Turns out that merging similar benchmarks into a single directory was
not a good idea.  This patch separates them again, but keeps the source
common.

All similar benchmarks now have different names, and the source lives in
a common central location, so, for example, we have benchmarks
`ctl-stack' and `ctl-vector', and the source for both lives in the `ctl'
directory.

ChangeLog:

	* configure.ac: Add split benchmarks to benchmark list.
	* configure: Regenerate.
	* src/ctl-stack/Makefile.am: New file.
	* src/ctl-stack/Makefile.in: New file.
	* src/ctl-vector/Makefile.am: New file.
	* src/ctl-vector/Makefile.in: New file.
	* src/ctl/Makefile.in: Removed.
	* src/ctl/Makefile.am: Removed.
	* src/matmult-float/Makefile.am: New file.
	* src/matmult-float/Makefile.in: New file.
	* src/matmult-int/Makefile.am: New file.
	* src/matmult-int/Makefile.in: New file.
	* src/matmult/Makefile.am: Removed.
	* src/matmult/Makefile.in: Removed.
	* src/sglib-arrayheapsort/Makefile.am: New file.
	* src/sglib-arrayheapsort/Makefile.in: New file.
	* src/sglib-arrayquicksort/Makefile.am: New file.
	* src/sglib-arrayquicksort/Makefile.in: New file.
	* src/sglib-arraysort/Makefile.in: Removed.
	* src/sglib-arraysort/Makefile.am: Removed.
	* src/trio-snprintf/Makefile.am: New file.
	* src/trio-snprintf/Makefile.in: New file.
	* src/trio-sscanf/Makefile.am: New file.
	* src/trio-sscanf/Makefile.in: New file.
	* src/trio/Makefile.in: Removed.
	* src/trio/Makefile.am: Removed.
Use global env in mageec-wand.exp.

Need to access the global value of env in order to see the environment
variables.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_cleanup_after_all_benchmarks):
	Pull in global env.
	(beebs_setup_before_benchmark_run): Likewise.
Restore the beebs_run_benchmark procedure.

The beebs_run_benchmark procedure was not being set to call
default_beebs_run_benchmark as it should.

ChangeLog

	* lib/beebs.exp (beebs_restore_default_procs): Restore
	beebs_run_benchmark too.
Delete the analysis directory.

Following feedback on the mailing list it seems the contents of the
`beebs/analysis` directory are no longer required.

ChangeLog:

	* analysis/Makefile.am: Deleted.
	* analysis/Makefile.in: Deleted.
	* analysis/all_stats.py: Deleted.
	* analysis/cmd.arm-none-eabi: Deleted.
	* analysis/cmd.avr-unknown-none: Deleted.
	* analysis/instruction_stats.py: Deleted.
	* analysis/simulator.in: Deleted.
Update README.md.

Things have moved on in BEEBS, and the README has fallen behind.  This
should bring things up to date.

ChangeLog:

	* README.md: Update for latest state of BEEBS.
Merge branch 'T-J-Teru-split-benchmarks'
Merge branch 'delete-analysis' of github.com:T-J-Teru/beebs into T-J-Teru-delete-analysis
Merge branch 'T-J-Teru-delete-analysis'
Merge branch 'update-readme' of github.com:T-J-Teru/beebs into T-J-Teru-update-readme
Merge branch 'T-J-Teru-update-readme'
Merge remote-tracking branch 'tjteru/master' into dejagnu3
Update new dejagnu to handle newly split benchmarks.

Benchmarks are now split, so one binary per directory.  This commit
updates the dejagnu work to reflect this.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_setup_before_benchmark_run):
	Rename to ...
	(beebs_setup_before_benchmark): ... this.
	(beebs_cleanup_after_benchmark_run): Rename to ...
	(beebs_cleanup_after_benchmark): ... this.
	(beebs_cleanup_after_benchmark_run): Update, use benchmark not
	filename to identify results.
	* beebs.test/perf-stat.exp (beebs_run_benchmark): Update
	parameters.  The filename is now a full path, use as such.  Use
	benchmark, not directory to identify results.
	* lib/beebs.exp (default_beebs_filter_benchmarks): Renamed to...
	(default_beebs_filter_benchmark): ...this. Rename parameters.
	(default_beebs_setup_before_benchmark): Add filename parameter.
	(default_beebs_cleanup_after_benchmark): Add filename parameter.
	(default_beebs_setup_before_benchmark_run): Deleted.
	(default_beebs_cleanup_after_benchmark_run): Deleted.
	(beebs_get_benchmark_files): Deleted.
	(default_beebs_announce): Remove directory parameter.
	(default_beebs_run_benchmark): Likewise.
	(beebs_run_all_benchmarks): Remove calls to deleted functions.
	Assume only one binary in each benchmark directory.  Update
	parameters on remaining calls.
	(beebs_restore_default_procs): Reorder procedures.  Update
	parameters.
Merge pull request #18 from T-J-Teru/dejagnu3

Merge in changes to support running the benchmarks using dejagnu.
Restore use of ENERGY_DATA in mageec-wand.exp.

The environment variable ENERGY_DATA used to control the placement of
the results file from the energytool script.  The last commit lost this
ability, this commit brings it back.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_setup_before_all_benchmarks):
	Restore use of ENERGY_DATA environment variable to control path to
	output file.
Initialise variables, and turn of strict-aliasing.

A few benchmarks cause gcc to raise strict aliasing warnings, which we
ask to have reported as errors (-Werror).  For these benchmarks I've
turned off strict-aliasing, rather than try to rewrite the code to avoid
the warnings.

There's a bunch of variable initialisation added to avoid more compiler
warnings.

In one case, ludcmp, I've increased the size of a global array.  The
compiler is warning that the code might access beyond the bounds of the
array.  Without spending more time looking at the code I can't tell if
the code is wrong, or just really smart and so we know that the accesses
are all fine.  Given that the sizes involved are all very small I've
just increased the sizes of the global arrays to prevent the warnings.
This is a HACK, but if we assume the code is correct then my change has
done nothing but waste a little memory.
Update list of excluded benchmarks for atmega328p.

The EXCLUDED_BENCHMARKS list for the atmega328p chip needed a few more
benchmarks adding, these all require too much data space and so don't
link.

ChangeLog:

	* config/avr/chips/atmega328p/chip.cfg (EXCLUDED_BENCHMARKS):
	Update list.
Add __end__ symbol to arm linker scripts.

Freshly built arm cross compiler seems to require and __end__ symbol.
Add one of the linker script.

ChangeLog:

	* config/arm/chips/stm32f051/chip.ld: Add __end__ symbol.
	* config/arm/chips/stm32f100/chip.ld: Add __end__ symbol.