18 Commits

Author SHA1 Message Date
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
2001629c3f Updated copyright years.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344
2009-03-10 22:02:09 +00:00
Julian Seward
5679a22410 Update copyright dates ("200X-2007" --> "200X-2008").
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398
2008-02-11 11:34:59 +00:00
Julian Seward
06d8004b23 Make ppc32/64-aix5 work again following recent VG_(tt_fast) rearrangement.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6606
2007-02-20 19:23:19 +00:00
Julian Seward
517d5c52e8 Fix ppc64-linux dispatcher following r6582.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6583
2007-02-11 09:09:20 +00:00
Julian Seward
0850d32443 Merge r6217 (also comment cosmetics):
Use 'ctr' rather than 'lr' for indirect jumps, so as not to trash the
branch predictor(s) for returns from generated code.  Makes a big
difference on ppc970 (and POWER4).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6291
2006-10-17 02:08:26 +00:00
Tom Hughes
f5f7215ba4 Add .type and .size directives for VG_(run_innerloop) and
VG_(run_a_noredir_translation) on all platforms where they are
missing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5873
2006-05-01 09:28:39 +00:00
Julian Seward
eeb7eaa4e1 Set fpscr back to a known state after running generated code (64-bit mode).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5615
2006-02-06 05:31:37 +00:00
Julian Seward
4c5b33c685 Followup to r5605: fixes for ppc64
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5606
2006-02-03 19:14:33 +00:00
Julian Seward
f6738169ca Fix profiling dispatcher.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5587
2006-01-23 00:09:07 +00:00
Julian Seward
295cb8afea Fix copy-n-paste error.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5533
2006-01-17 01:59:43 +00:00
Julian Seward
5e77fedd75 Fix more ppc64-linux function wrapping and symbol-table bits and pieces.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5523
2006-01-12 21:15:35 +00:00
Julian Seward
65c73f3155 Fix up ppc64 dispatcher following the changes made by r5441.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5460
2005-12-30 04:16:37 +00:00
Julian Seward
15987382dc Save %CIA correctly (caused ppc64-linux to loop at the first syscall,
entertainingly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5399
2005-12-22 03:33:16 +00:00
Cerion Armour-Brown
cd0478d807 Rewrite ppc64 dispatch loop to avoid profiling overhead, as per ppc32 rewrite (r5352).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5393
2005-12-20 20:48:50 +00:00
Cerion Armour-Brown
0d3d66a4ac More V setup for ppc64
- client stack setup
 - init_thread1state: set TOC ptr



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5314
2005-12-08 03:24:37 +00:00
Cerion Armour-Brown
b714685c63 Take ppc64 startup further along the road
- fixed launcher.c to recognise ppc32/64-linux platforms properly
 - lots of assembly fixes to handle func descriptors, toc references, 64bit regs.
 - fixed var types in vki-ppc64-linux

Now gets as far as VG_(translate), but dies from a case of invalid orig_addr.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5299
2005-12-06 19:07:08 +00:00
Julian Seward
8ba9a34088 Add framework for ppc64 support. Apologies in advance for the
inevitable breakage to other platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250
2005-11-29 13:05:56 +00:00