First Last Prev Next    No search results available
Details
: [interpreter] va_list values silently corrupted by functi...
Bug#: 234
: libraries
: Interpreter
Status: RESOLVED
Resolution: FIXED
: Macintosh
: MacOS X
: 1.1
: P2
: normal
: 1.2

:
: missing-feature
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Brian R. Gaeke <gaeke+bugs@uiuc.edu>
Assigned To: Brian R. Gaeke <gaeke+bugs@uiuc.edu>
:

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2004-02-13 01:11
The 2003-08-11-VaListArg UnitTest fails on the Interpreter, on x86 and powerpc.
------- Comment #1 From Chris Lattner 2004-02-25 10:50:41 -------
Do you think this bug is possible to fix, or is there some inherent limitation
in the interpeter?  Do you think it's a good candidate for being a 1.2 bug?

-Chris
------- Comment #2 From Brian R. Gaeke 2004-02-25 11:18:07 -------
I'm not sure -- I haven't successfully analyzed it yet. My only hunch so far is
that I think it only affects programs of the form:

bar (va_list ap) {
 ...stuff involving foo's varargs...
}

foo (arg, ...) {
 va_list ap;
 va_start (arg, ap);
 bar (ap);
 ...
}
------- Comment #3 From Chris Lattner 2004-02-25 11:24:39 -------
Ok, I vaguely remember talking about this at one point.  :)

-Chris
------- Comment #4 From Brian R. Gaeke 2004-02-25 16:46:54 -------
Analysis: The iterator into the array of VarArgs stored in the stack of
ExecutionContexts, which we were using as the Interpreter's va_list, could be
invalidated upon entering a new ExecutionContext (because the stack might need
to be resized, potentially making the VarArgs vector move in memory). 

First Last Prev Next    No search results available