]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agoAdd support for the POSIX message queue system calls.
Tom Hughes [Sat, 14 Aug 2004 18:52:27 +0000 (18:52 +0000)] 
Add support for the POSIX message queue system calls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2585

21 years agoMaek init_global_thread_specific_state as a constructor to try and ensure
Tom Hughes [Sat, 14 Aug 2004 15:37:59 +0000 (15:37 +0000)] 
Maek init_global_thread_specific_state as a constructor to try and ensure
that it is called as soon as libpthread.so is loaded even if pthread_create
is never called.

This ensures that pthread_exit will work correctly, and I think will also
cure the famous memory leak in the pthread specifics for the main thread.

CCMAIL: 86730-done@bugs.kde.org

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2584

21 years agoRather surprisingly we weren't actually calling pre_mem_write for the buffer
Tom Hughes [Sat, 14 Aug 2004 12:10:49 +0000 (12:10 +0000)] 
Rather surprisingly we weren't actually calling pre_mem_write for the buffer
argument to the read system call...

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2583

21 years agoMore x86 FP stuff, including conversion stuff to/from Ints.
Julian Seward [Sat, 14 Aug 2004 11:50:01 +0000 (11:50 +0000)] 
More x86 FP stuff, including conversion stuff to/from Ints.

git-svn-id: svn://svn.valgrind.org/vex/trunk@167

21 years agoUpdated list of system calls from the list in a 2.6.7 kernel.
Tom Hughes [Sat, 14 Aug 2004 10:49:43 +0000 (10:49 +0000)] 
Updated list of system calls from the list in a 2.6.7 kernel.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2582

21 years agoMove __pthread_clock_gettime and __pthread_clock_settime back to
Tom Hughes [Fri, 13 Aug 2004 22:49:11 +0000 (22:49 +0000)] 
Move __pthread_clock_gettime and __pthread_clock_settime back to
the GLIBC_2.2.3 section which is where they were in glibc before
they were moved to GLIBC_PRIVATE around the 2.2.5 time frame.

This makes older systems work correctly as librt will be looking
for the symbols with that version. In order to make newer systems
work we make GLIBC_PRIVATE a child of the most recent version in
the file (currently GLIBC_2.3.3) so that a librt which is looking
for the symbols with a version of GLIBC_PRIVATE will find them.

The real glibc pthread libraries have GLIBC_PRIVATE as a child of
the most recent version anyway, so this shouldn't cause any problems
and with this change librt seems to be OK both on old RedHat 7.1 systems
with glibc 2.2.3 and on Fedora Core 2 systems with glibc 2.3.3.

Hopefully this will fix FAQ 3.4 but I haven't removed that just yet.

CCMAIL: 86696-done@bugs.kde.org

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2581

21 years agoImprove handling of semctl, msgctl and shmctl so that all relevant
Tom Hughes [Fri, 13 Aug 2004 22:21:51 +0000 (22:21 +0000)] 
Improve handling of semctl, msgctl and shmctl so that all relevant
opcodes are properly validated. Using memcheck on ipcs now produces
no warnings on my machine.

This commit fixes bug #86987.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2580

21 years agoFix enough stuff to get the first x86 FP instruction through the
Julian Seward [Fri, 13 Aug 2004 00:18:58 +0000 (00:18 +0000)] 
Fix enough stuff to get the first x86 FP instruction through the
pipeline.

git-svn-id: svn://svn.valgrind.org/vex/trunk@166

21 years agoLots of spadework for getting x86 floating point to work.
Julian Seward [Thu, 12 Aug 2004 20:46:53 +0000 (20:46 +0000)] 
Lots of spadework for getting x86 floating point to work.

git-svn-id: svn://svn.valgrind.org/vex/trunk@165

21 years agoBig overhaul of the allocator. Much of the structure is the same, but
Nicholas Nethercote [Wed, 11 Aug 2004 09:40:52 +0000 (09:40 +0000)] 
Big overhaul of the allocator.  Much of the structure is the same, but
lots of the details changed.  Made the following generalisations:

- Recast everything to be entirely terms of bytes, instead of a mixture
  of (32-bit) words and bytes.  This is a bit easier to understand, and
  made the following generalisations possible...

- Almost 64-bit clean;  no longer assuming 32-bit words/pointers.  Only
  (I think) non-64-bit clean part is that VG_(malloc)() et al take an
  Int as the size arg, and size_t is 64-bits on 64-bit machines.

- Made the alignment of blocks returned by malloc() et al completely
  controlled by a single value, VG_MIN_MALLOC_SZB.  (Previously there
  were various magic numbers and assumptions about block alignment
  scattered throughout.) I tested this, all the regression tests pass
  with VG_MIN_MALLOC_SZB of 4, 8, 16, 32, 64.  One thing required for
  this was to make redzones elastic;  the asked-for redzone size is now
  the minimum size;  it will use bigger ones if necessary to get the
  required alignment.

Some other specific changes:

- Made use of types a bit more;  ie. actually using the type 'Block',
  rather than just having everything as arrays of words, so that should
  be a bit safer.

- Removed the a->rz_check field, which was redundant wrt. a->clientmem.

- Fixed up the decision about which list to use so the 4 lists which
  weren't ever being used now are -- the problem was that this hasn't
  been properly updated when alignment changed from 4 to 8 bytes.

- Added a regression test for memalign() and posix_memalign().
  memalign() was aborting if passed a bad alignment argument.

- Added some high-level comments in various places, explaining how the
  damn thing works.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2579

21 years agoChange VG_(scheduler)() slightly to remove two more global vars from
Nicholas Nethercote [Mon, 9 Aug 2004 13:13:31 +0000 (13:13 +0000)] 
Change VG_(scheduler)() slightly to remove two more global vars from
vg_include.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2578

21 years agoRemove some more global variables from vg_include.h, replacing them with
Nicholas Nethercote [Mon, 9 Aug 2004 12:21:57 +0000 (12:21 +0000)] 
Remove some more global variables from vg_include.h, replacing them with
(fewer) functions.

Also fixed execve() so that it works better with .in_place.

Also added a regression test for --trace-children=yes (there were none!)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2577

21 years agoPut VALGRIND_INTERNAL_PRINTF and VALGRIND_INTERNAL_PRINTF_BACKTRACE back in
Nicholas Nethercote [Mon, 9 Aug 2004 11:15:10 +0000 (11:15 +0000)] 
Put VALGRIND_INTERNAL_PRINTF and VALGRIND_INTERNAL_PRINTF_BACKTRACE back in
vg_include.h, where they must be otherwise vg_libtpthread.c has problems.
Added a comment explaining why they must be in vg_include.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2576

21 years agoMake VG_(last_run_tid) and VG_(sigstack) local.
Nicholas Nethercote [Sat, 7 Aug 2004 18:16:56 +0000 (18:16 +0000)] 
Make VG_(last_run_tid) and VG_(sigstack) local.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2575

21 years agoDe-globalise a few more counters.
Nicholas Nethercote [Sat, 7 Aug 2004 17:52:25 +0000 (17:52 +0000)] 
De-globalise a few more counters.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2574

21 years agoAdd some missing 'static' annotations. Thanks to Josef W for spotting them.
Nicholas Nethercote [Sat, 7 Aug 2004 15:54:53 +0000 (15:54 +0000)] 
Add some missing 'static' annotations.  Thanks to Josef W for spotting them.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2573

21 years agoMade cpu-feature detection simpler -- got rid of the confusing global state,
Nicholas Nethercote [Fri, 6 Aug 2004 17:06:14 +0000 (17:06 +0000)] 
Made cpu-feature detection simpler -- got rid of the confusing global state,
put it all into static state within a single function.  Also, now the callers
of get_cpu_features() don't have to worry about whether it's been called
before.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2572

21 years agoMake error messages more informative.
Nicholas Nethercote [Thu, 5 Aug 2004 12:16:13 +0000 (12:16 +0000)] 
Make error messages more informative.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2571

21 years agohandle_SCSS_change() need not be global.
Nicholas Nethercote [Wed, 4 Aug 2004 15:31:30 +0000 (15:31 +0000)] 
handle_SCSS_change() need not be global.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2570

21 years agoRemove sigshutdown_actions(), a hangover from the --stop-after days.
Nicholas Nethercote [Wed, 4 Aug 2004 15:26:38 +0000 (15:26 +0000)] 
Remove sigshutdown_actions(), a hangover from the --stop-after days.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2569

21 years agoVG_(get_current_thread_state) doesn't exist, remove declaration.
Nicholas Nethercote [Wed, 4 Aug 2004 14:14:52 +0000 (14:14 +0000)] 
VG_(get_current_thread_state) doesn't exist, remove declaration.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2568

21 years agois_valid_or_empty_tid() doesn't need to be global.
Nicholas Nethercote [Wed, 4 Aug 2004 14:03:16 +0000 (14:03 +0000)] 
is_valid_or_empty_tid() doesn't need to be global.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2567

21 years agoComment changes only -- compacting
Nicholas Nethercote [Wed, 4 Aug 2004 10:37:49 +0000 (10:37 +0000)] 
Comment changes only -- compacting

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2566

21 years agoRemove no-longer-used prefixes.
Nicholas Nethercote [Wed, 4 Aug 2004 10:07:47 +0000 (10:07 +0000)] 
Remove no-longer-used prefixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2565

21 years agocomment wibble
Nicholas Nethercote [Wed, 4 Aug 2004 09:57:31 +0000 (09:57 +0000)] 
comment wibble

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2564

21 years agoRemove VG_() from name of local function.
Nicholas Nethercote [Tue, 3 Aug 2004 23:44:12 +0000 (23:44 +0000)] 
Remove VG_() from name of local function.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2563

21 years agoTweaked sanity-checking: made function naming more consistent, removed
Nicholas Nethercote [Tue, 3 Aug 2004 23:14:00 +0000 (23:14 +0000)] 
Tweaked sanity-checking:  made function naming more consistent, removed
unnecessarily global functions from vg_include.h, etc.

Also tweaked printing of malloc stats.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2562

21 years agoTweak stats printing -- use more consistent function names, improve output
Nicholas Nethercote [Tue, 3 Aug 2004 18:08:50 +0000 (18:08 +0000)] 
Tweak stats printing -- use more consistent function names, improve output
formatting slightly, etc.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2561

21 years agoalloc_UCodeBlock didn't need to be in vg_include.h. Also tweaked how it works
Nicholas Nethercote [Tue, 3 Aug 2004 17:39:06 +0000 (17:39 +0000)] 
alloc_UCodeBlock didn't need to be in vg_include.h.  Also tweaked how it works
slightly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2560

21 years agoMoved *definitions* of VALGRIND_INTERNAL_PRINTF and
Nicholas Nethercote [Tue, 3 Aug 2004 17:26:39 +0000 (17:26 +0000)] 
Moved *definitions* of VALGRIND_INTERNAL_PRINTF and
VALGRIND_INTERNAL_PRINTF_BACKTRACE from vg_include.h to vg_messages.c.  The
*declarations* stayed.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2559

21 years agoSimplified the interface to VG_(translate)(), and merged it with
Nicholas Nethercote [Tue, 3 Aug 2004 17:16:51 +0000 (17:16 +0000)] 
Simplified the interface to VG_(translate)(), and merged it with
create_translation_for().  Cut about 40 lines of code as a side-effect.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2558

21 years agoPut UCodeBlock get functions in a more sensible place -- moved from vg_needs.c
Nicholas Nethercote [Tue, 3 Aug 2004 15:49:50 +0000 (15:49 +0000)] 
Put UCodeBlock get functions in a more sensible place -- moved from vg_needs.c
to vg_translate.c, where the other UCodeBlock functions live.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2557

21 years agoRemoved 6 global variables from vg_include.h without even having to add
Nicholas Nethercote [Tue, 3 Aug 2004 15:45:46 +0000 (15:45 +0000)] 
Removed 6 global variables from vg_include.h without even having to add
anything, just by moving VG_(helper_offset)() from vg_from_ucode.c to
vg_main.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2556

21 years agoComment changes only: s/skin/tool/
Nicholas Nethercote [Tue, 3 Aug 2004 13:29:09 +0000 (13:29 +0000)] 
Comment changes only: s/skin/tool/

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2555

21 years agoFactor out differences between VG_(system) and PRE(execve). Required moving
Nicholas Nethercote [Tue, 3 Aug 2004 13:08:31 +0000 (13:08 +0000)] 
Factor out differences between VG_(system) and PRE(execve).  Required moving
mash_colon_env() from vg_syscalls.c to vg_mylibc.c.  Saved 20 lines of code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2554

21 years agocomment wibble
Nicholas Nethercote [Mon, 2 Aug 2004 16:54:01 +0000 (16:54 +0000)] 
comment wibble

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2553

21 years agoRemoved cruft from vg_scheduler.c:
Nicholas Nethercote [Mon, 2 Aug 2004 16:27:40 +0000 (16:27 +0000)] 
Removed cruft from vg_scheduler.c:
 � things not used any more, eg. global variables
 - removed some things from vg_include.h, making them local -- functions,
   variables and macros
 - other minor clean-ups

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2552

21 years agoScheduler counts don't need to be in vg_include.h. Replace with a print
Nicholas Nethercote [Mon, 2 Aug 2004 15:27:22 +0000 (15:27 +0000)] 
Scheduler counts don't need to be in vg_include.h.  Replace with a print
function.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2551

21 years agowhoops, forgot to remove these in the last commit
Nicholas Nethercote [Mon, 2 Aug 2004 15:19:55 +0000 (15:19 +0000)] 
whoops, forgot to remove these in the last commit

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2550

21 years agosanity_*_count don't need to be in vg_include.h.
Nicholas Nethercote [Mon, 2 Aug 2004 15:17:43 +0000 (15:17 +0000)] 
sanity_*_count don't need to be in vg_include.h.

Also hide the reg-alloc counters, and replace with a printing function.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2549

21 years agoSanity counters don't need to be in vg_include.h.
Nicholas Nethercote [Mon, 2 Aug 2004 15:07:57 +0000 (15:07 +0000)] 
Sanity counters don't need to be in vg_include.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2548

21 years agoTweak to remove another global variable from vg_include.h
Nicholas Nethercote [Mon, 2 Aug 2004 13:15:26 +0000 (13:15 +0000)] 
Tweak to remove another global variable from vg_include.h

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2547

21 years agoMake VG_(n_errs_found) local; replace globally with a 'get' function. Renamed
Nicholas Nethercote [Mon, 2 Aug 2004 12:36:01 +0000 (12:36 +0000)] 
Make VG_(n_errs_found) local;  replace globally with a 'get' function.  Renamed
vg_n_errs_suppressed too.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2546

21 years agoMake the Supp and Error types local to vg_errcontext.h; they don't need to be
Nicholas Nethercote [Mon, 2 Aug 2004 12:21:09 +0000 (12:21 +0000)] 
Make the Supp and Error types local to vg_errcontext.h;  they don't need to be
global.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2545

21 years agoFold VG_(send_signal_to_thread)() into vg_scheduler.c, so it doesn't need to be
Nicholas Nethercote [Mon, 2 Aug 2004 12:10:01 +0000 (12:10 +0000)] 
Fold VG_(send_signal_to_thread)() into vg_scheduler.c, so it doesn't need to be
exported any more.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2544

21 years agoFactor out commonality between VG_(synth_fault*)().
Nicholas Nethercote [Sun, 1 Aug 2004 23:06:22 +0000 (23:06 +0000)] 
Factor out commonality between VG_(synth_fault*)().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2543

21 years agoReplaced three global variables in vg_include.h with a single global function;
Nicholas Nethercote [Sun, 1 Aug 2004 22:59:18 +0000 (22:59 +0000)] 
Replaced three global variables in vg_include.h with a single global function;
much neater.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2542

21 years agoCleaned up vg_include.h:
Nicholas Nethercote [Sun, 1 Aug 2004 22:36:40 +0000 (22:36 +0000)] 
Cleaned up vg_include.h:
- removed various things that are no longer used
- made (module-)local some things that were global
- improved the formatting in places

Removed about 160 lines of code, and non-trivially reduced the number
of global entities.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2541

21 years agoFix bug #86254 -- symtab sorting was going array in very obscure circumstances
Nicholas Nethercote [Sun, 1 Aug 2004 20:24:46 +0000 (20:24 +0000)] 
Fix bug #86254 -- symtab sorting was going array in very obscure circumstances
due to a signed/unsigned int problem.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2540

21 years agocalculate_eflags_all: fix stupid bug in CC_OP_COPY.
Julian Seward [Sat, 31 Jul 2004 20:40:23 +0000 (20:40 +0000)] 
calculate_eflags_all: fix stupid bug in CC_OP_COPY.

git-svn-id: svn://svn.valgrind.org/vex/trunk@164

21 years agoRemove redundant duplicates of stuff in vg_kerneliface.h.
Nicholas Nethercote [Fri, 30 Jul 2004 23:44:30 +0000 (23:44 +0000)] 
Remove redundant duplicates of stuff in vg_kerneliface.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2539

21 years agoRemoved unused VG_AR_CLIENT_STACKBASE_REDZONE_SZW.
Nicholas Nethercote [Fri, 30 Jul 2004 23:36:37 +0000 (23:36 +0000)] 
Removed unused VG_AR_CLIENT_STACKBASE_REDZONE_SZW.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2538

21 years agoRestructured the as_*() functions so they are simpler and there is no implicit
Nicholas Nethercote [Fri, 30 Jul 2004 21:50:15 +0000 (21:50 +0000)] 
Restructured the as_*() functions so they are simpler and there is no implicit
global state -- the state is threaded explicitly through via function arguments
and return values.  ume.c now has no global variables, which is nice.

Also removed a redundant as_pad() call in stage2's main() which meant
layout_client_space() could be merged with layout_remaining_space().

Also removed a couple of no-longer-used variables and #defines.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2537

21 years agoFix up generation of shldl/shldr instructions, and thereby
Julian Seward [Fri, 30 Jul 2004 16:17:28 +0000 (16:17 +0000)] 
Fix up generation of shldl/shldr instructions, and thereby
unbreak implementation of Shr64 for x86 targets.

git-svn-id: svn://svn.valgrind.org/vex/trunk@163

21 years agoFix silly error in instruction selection of Iop_DivModS64to32
Julian Seward [Fri, 30 Jul 2004 14:08:17 +0000 (14:08 +0000)] 
Fix silly error in instruction selection of Iop_DivModS64to32
and Iop_DivModU64to32.

git-svn-id: svn://svn.valgrind.org/vex/trunk@162

21 years agoFinally finish pissing around with x86 integer multiply instructions.
Julian Seward [Fri, 30 Jul 2004 10:17:50 +0000 (10:17 +0000)] 
Finally finish pissing around with x86 integer multiply instructions.
The amount of random illogical crap in the x86 instruction set is just
mind-numbing.  Anyway, 8/16/32-bit multiply and multiply longs should
now work correctly, including setting the flags.

git-svn-id: svn://svn.valgrind.org/vex/trunk@161

21 years agoRehash handling of multiply insns in the x86 front end, so as to make
Julian Seward [Fri, 30 Jul 2004 01:52:45 +0000 (01:52 +0000)] 
Rehash handling of multiply insns in the x86 front end, so as to make
the flags work right.

git-svn-id: svn://svn.valgrind.org/vex/trunk@160

21 years agoChange the x86 front end's implementation of shift instructions so
Julian Seward [Thu, 29 Jul 2004 23:41:47 +0000 (23:41 +0000)] 
Change the x86 front end's implementation of shift instructions so
that 16/8 bit shifts by amounts up to 31 work correctly, and without
requiring any IR-level shifts beyond the word size.

git-svn-id: svn://svn.valgrind.org/vex/trunk@159

21 years agoModify the ipc system call so that only those calls which may block
Tom Hughes [Thu, 29 Jul 2004 22:40:07 +0000 (22:40 +0000)] 
Modify the ipc system call so that only those calls which may block
are treated as blocking.

This fixes bug #86000 because shmat is no longer treated as blocking
and it is therefore no longer possible for two threads to try and use
the same address for the shared memory segment.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2536

21 years ago* Fix flag computation for neg instructions
Julian Seward [Thu, 29 Jul 2004 22:26:03 +0000 (22:26 +0000)] 
* Fix flag computation for neg instructions

* Fix flag and result computation for 16/8-bit shl/shr/sar by amounts
  greater than the word size, which inconveniently is a well-defined
  (if useless) operation on x86.  Sigh.  Unfortunately the solution
  depends on IR shifts behaving as per x86, whereas it would be better
  to define IR shifts only to make sense for values in 0 .. 2^word_size-1.
  This needs to be fixed.

* Implement another shrd case.  shrdl doesn't work correctly
  according to the QEMU test suite.  I don't know why.

git-svn-id: svn://svn.valgrind.org/vex/trunk@158

21 years agoFix carry flag computation for left rotates.
Julian Seward [Thu, 29 Jul 2004 22:22:31 +0000 (22:22 +0000)] 
Fix carry flag computation for left rotates.

git-svn-id: svn://svn.valgrind.org/vex/trunk@157

21 years agoComment-only change
Julian Seward [Thu, 29 Jul 2004 22:21:31 +0000 (22:21 +0000)] 
Comment-only change

git-svn-id: svn://svn.valgrind.org/vex/trunk@156

21 years agoModified the fcntl system call so that only those reason codes which
Tom Hughes [Thu, 29 Jul 2004 21:20:11 +0000 (21:20 +0000)] 
Modified the fcntl system call so that only those reason codes which
can block (ie F_SETLKW) are treated as blocking.

This resolves the F_SETOWN problem described in bug #85969.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2535

21 years agoFill in many more cases thrown up the QEMU test program.
Julian Seward [Thu, 29 Jul 2004 20:31:09 +0000 (20:31 +0000)] 
Fill in many more cases thrown up the QEMU test program.

git-svn-id: svn://svn.valgrind.org/vex/trunk@155

21 years agoAdd support for allowing the POST function for a system call to be called
Tom Hughes [Thu, 29 Jul 2004 17:44:23 +0000 (17:44 +0000)] 
Add support for allowing the POST function for a system call to be called
even when the system call fails, and allow the PRE function to modify the
system call flags.

Also fix nanosleep so that it only marks the returned time as defined
if the system call exited with EINTR due to be interrupted.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2534

21 years agoFill in / fix many x86->IR->x86 cases exposed by QEMU's test-i386 program.
Julian Seward [Thu, 29 Jul 2004 14:36:40 +0000 (14:36 +0000)] 
Fill in / fix many x86->IR->x86 cases exposed by QEMU's test-i386 program.

git-svn-id: svn://svn.valgrind.org/vex/trunk@154

21 years agoAdd enough more x86 integer stuff to make bzip2 and gzip work.
Julian Seward [Thu, 29 Jul 2004 01:40:11 +0000 (01:40 +0000)] 
Add enough more x86 integer stuff to make bzip2 and gzip work.

git-svn-id: svn://svn.valgrind.org/vex/trunk@153

21 years agoFix enough integer stuff to make bzip2 work, except for the
Julian Seward [Thu, 29 Jul 2004 00:09:58 +0000 (00:09 +0000)] 
Fix enough integer stuff to make bzip2 work, except for the
floating point bits.

git-svn-id: svn://svn.valgrind.org/vex/trunk@152

21 years agoPretty it up a bit (whitespace changes only).
Julian Seward [Wed, 28 Jul 2004 23:25:02 +0000 (23:25 +0000)] 
Pretty it up a bit (whitespace changes only).

git-svn-id: svn://svn.valgrind.org/vex/trunk@151

21 years agoImplement ROL/ROR and fix enough stuff to make ls -l work.
Julian Seward [Wed, 28 Jul 2004 17:09:04 +0000 (17:09 +0000)] 
Implement ROL/ROR and fix enough stuff to make ls -l work.

git-svn-id: svn://svn.valgrind.org/vex/trunk@150

21 years agoMerge equivalent if statements.
Nicholas Nethercote [Wed, 28 Jul 2004 16:03:29 +0000 (16:03 +0000)] 
Merge equivalent if statements.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2533

21 years agoFill in misc cases.
Julian Seward [Wed, 28 Jul 2004 07:13:38 +0000 (07:13 +0000)] 
Fill in misc cases.

git-svn-id: svn://svn.valgrind.org/vex/trunk@149

21 years agoFix bug in allocation of vregs for 64-bit IRTemps.
Julian Seward [Wed, 28 Jul 2004 07:12:30 +0000 (07:12 +0000)] 
Fix bug in allocation of vregs for 64-bit IRTemps.

git-svn-id: svn://svn.valgrind.org/vex/trunk@148

21 years agoFill in some add with carry and subtract with borrow cases.
Julian Seward [Wed, 28 Jul 2004 07:11:32 +0000 (07:11 +0000)] 
Fill in some add with carry and subtract with borrow cases.

git-svn-id: svn://svn.valgrind.org/vex/trunk@147

21 years agoFurther refine debug printing.
Julian Seward [Wed, 28 Jul 2004 07:09:58 +0000 (07:09 +0000)] 
Further refine debug printing.

git-svn-id: svn://svn.valgrind.org/vex/trunk@146

21 years agoImprove verbosity control, so that verbosity can be set individually
Julian Seward [Wed, 28 Jul 2004 01:51:10 +0000 (01:51 +0000)] 
Improve verbosity control, so that verbosity can be set individually
for each bb translated.  Exploit this in vg_translate.c.

git-svn-id: svn://svn.valgrind.org/vex/trunk@145

21 years agoAdd LOGICL.
Julian Seward [Wed, 28 Jul 2004 01:50:05 +0000 (01:50 +0000)] 
Add LOGICL.

git-svn-id: svn://svn.valgrind.org/vex/trunk@144

21 years agoOops. Fix silly bug in iselCondCode.
Julian Seward [Wed, 28 Jul 2004 01:49:14 +0000 (01:49 +0000)] 
Oops.  Fix silly bug in iselCondCode.

git-svn-id: svn://svn.valgrind.org/vex/trunk@143

21 years agoFix a couple more cases.
Julian Seward [Wed, 28 Jul 2004 01:48:34 +0000 (01:48 +0000)] 
Fix a couple more cases.

git-svn-id: svn://svn.valgrind.org/vex/trunk@142

21 years agoFix enough stuff so that 'hello world' works.
Julian Seward [Wed, 28 Jul 2004 00:15:44 +0000 (00:15 +0000)] 
Fix enough stuff so that 'hello world' works.

git-svn-id: svn://svn.valgrind.org/vex/trunk@141

21 years agoFix the skiplist brokenness Nick found:
Jeremy Fitzhardinge [Tue, 27 Jul 2004 21:49:23 +0000 (21:49 +0000)] 
Fix the skiplist brokenness Nick found:
 - use a simple memset to initialize the next pointer vector
 - fix some previously unexercised code as a result of the above
Still haven't verified we're actually getting skipping, but it doesn't
crash with a make regtest.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2532

21 years agoTrack file renaming.
Julian Seward [Tue, 27 Jul 2004 10:54:21 +0000 (10:54 +0000)] 
Track file renaming.

git-svn-id: svn://svn.valgrind.org/vex/trunk@140

21 years agoFix bug in generation of immediate shifts.
Julian Seward [Tue, 27 Jul 2004 10:50:38 +0000 (10:50 +0000)] 
Fix bug in generation of immediate shifts.

git-svn-id: svn://svn.valgrind.org/vex/trunk@139

21 years agoMore build fixes.
Julian Seward [Tue, 27 Jul 2004 10:43:34 +0000 (10:43 +0000)] 
More build fixes.

git-svn-id: svn://svn.valgrind.org/vex/trunk@138

21 years agoMake compilation work again after renaming files.
Julian Seward [Tue, 27 Jul 2004 10:29:41 +0000 (10:29 +0000)] 
Make compilation work again after renaming files.

git-svn-id: svn://svn.valgrind.org/vex/trunk@137

21 years agoMore file renaming (still borked)
Julian Seward [Tue, 27 Jul 2004 09:50:39 +0000 (09:50 +0000)] 
More file renaming (still borked)

git-svn-id: svn://svn.valgrind.org/vex/trunk@136

21 years agoRename some files.
Julian Seward [Tue, 27 Jul 2004 09:42:46 +0000 (09:42 +0000)] 
Rename some files.

git-svn-id: svn://svn.valgrind.org/vex/trunk@135

21 years agoReinstate the "xor %reg,%reg" idiom handler.
Julian Seward [Tue, 27 Jul 2004 09:30:31 +0000 (09:30 +0000)] 
Reinstate the "xor %reg,%reg" idiom handler.

git-svn-id: svn://svn.valgrind.org/vex/trunk@134

21 years agox86toIR: implement 'rep scas'
Julian Seward [Tue, 27 Jul 2004 00:15:59 +0000 (00:15 +0000)] 
x86toIR: implement 'rep scas'

git-svn-id: svn://svn.valgrind.org/vex/trunk@133

21 years agoPrint vex storage stats at the end.
Julian Seward [Mon, 26 Jul 2004 23:31:15 +0000 (23:31 +0000)] 
Print vex storage stats at the end.

git-svn-id: svn://svn.valgrind.org/vex/trunk@132

21 years agoImprove insn selection for shifts by literal amounts.
Julian Seward [Mon, 26 Jul 2004 23:27:08 +0000 (23:27 +0000)] 
Improve insn selection for shifts by literal amounts.

git-svn-id: svn://svn.valgrind.org/vex/trunk@131

21 years agoFix enough bits and pieces so "int main (void) { return 0; }" works.
Julian Seward [Mon, 26 Jul 2004 22:39:11 +0000 (22:39 +0000)] 
Fix enough bits and pieces so "int main (void) { return 0; }" works.

git-svn-id: svn://svn.valgrind.org/vex/trunk@130

21 years agoAdded some comments.
Nicholas Nethercote [Mon, 26 Jul 2004 15:43:57 +0000 (15:43 +0000)] 
Added some comments.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2531

21 years agoRename 'argv0' and 'argv1' to the more meaningful 'interp_name' and
Nicholas Nethercote [Mon, 26 Jul 2004 15:32:47 +0000 (15:32 +0000)] 
Rename 'argv0' and 'argv1' to the more meaningful 'interp_name' and
'interp_args'.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2530

21 years agoNeaten up ume.h: don't export readelf(), mapelf, and struct elfinfo; improve
Nicholas Nethercote [Mon, 26 Jul 2004 15:28:33 +0000 (15:28 +0000)] 
Neaten up ume.h:  don't export readelf(), mapelf, and struct elfinfo;  improve
formatting too.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2529

21 years agoRemove accidental double assignment. Also don't assume that VG_(client_base)
Nicholas Nethercote [Mon, 26 Jul 2004 12:44:35 +0000 (12:44 +0000)] 
Remove accidental double assignment.  Also don't assume that VG_(client_base)
is zero.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2528

21 years agoEr, actually make this test meaningful. It now aborts correctly if you try to
Nicholas Nethercote [Mon, 26 Jul 2004 11:11:56 +0000 (11:11 +0000)] 
Er, actually make this test meaningful.  It now aborts correctly if you try to
launch stage2 directly, rather than giving an obscure error about the tool
later on.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2527

21 years agoRemove unused global variable.
Nicholas Nethercote [Mon, 26 Jul 2004 10:22:33 +0000 (10:22 +0000)] 
Remove unused global variable.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2526

21 years agomake non-exported function static
Nicholas Nethercote [Mon, 26 Jul 2004 10:05:55 +0000 (10:05 +0000)] 
make non-exported function static

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2525

21 years agoTry and print a bit faster.
Julian Seward [Mon, 26 Jul 2004 02:05:49 +0000 (02:05 +0000)] 
Try and print a bit faster.

git-svn-id: svn://svn.valgrind.org/vex/trunk@129