- Jan 18, 2008
-
-
rtoy authored
o Remove the part about precision control since this no longer exists.
-
rtoy authored
-
rtoy authored
o Change MAX-BITS to #xffffffff. This fixes (works around) the issue reported by Walter Pelissero, reported on cmucl-help, 2008-01-09. We will still have problems for sufficiently long strings. boot-2007-12-1.lisp: o Boot file to use for the above change.
-
rtoy authored
Config.linux_gencgc. This only appears to be an issue on Linux. FreeBSD and Darwin are ok. And it depends on the compiler. gcc 4.2.1 produces bad results, but gcc 3.4.6 is ok. Could be an aliasing issue. So use -O1 everywhere. -ffloat-store doesn't appear to matter so remove that too.
-
rtoy authored
platforms that need them. This is to make sure double-float precision is used throughout instead of extended precision, which will cause bad answers. Linux also appears to need -O1 instead of -O2, so use -O1 everywhere. (Should this be changed?)
-
- Jan 17, 2008
-
-
rtoy authored
sigcontext. This is a workaround for an issue on x86/darwin where loading of the control word enabling the invalid operation exception would cause that exception because the status word had that exception. Not sure why this is needed or why the invalid operation exception was set. It was happening in a call run-program while concatenating the files for the hemlock library.
-
- Jan 09, 2008
-
-
rtoy authored
some warnings.
-
- Jan 03, 2008
-
-
rtoy authored
-
rtoy authored
-
cshapiro authored
code. Rather than introduce a new FreeBSD case to the x86 sigcontext member accessor routines, collapse all of the system specific routines down to a common set of routines. * code/debug-int.lisp - Disable some Darwin-specific code to debug NULL mcontext pointers. * code/float-trap.lisp - Remove ancient FreeBSD-specific code for handling floating point signals. * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the SAP-REF-LONG setter by default on the x86. * code/x86-vm.lisp - Remove operating system specific sigcontext definitions and sigcontext accessors. Define the alien sigcontext as a system area pointer. Replace the sigcontext accessors with foreign function calls that mask the complexity of the underlying sigcontext member access. * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT. This function is used by the %SET-SAP-REF-LONG VOP that underlies the SAP-REF-LONG setter. * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG. In the case where there is not a distinct LONG-FLOAT type, admit DOUBLE-FLOAT values instead. The x87 automatically widens values pushed onto stack. This mirrors the behavior of the SAP-REF-LONG VOP. * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access sigcontext members of interest to Lisp. Delete the sc_reg function and replace its uses with os_sigcontext_reg which is more suitably typed. * lisp/FreeBSD-os.c - Define functions to access sigcontext members of interest to Lisp. We need to be careful about the SSE and non-SSE cases for retrieving x87 registers from the saved machine state. Define a low-level SIGFPE handler to intercept floating point traps and restore the cleared status word bits based on the signal code. Get rid of sc_reg for the reasons noted above. * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu function and define a specialized RESTORE_FPU macro. Remove the sc_reg prototype. * lisp/Linux-os.h - Remove the sc_reg prototype. * lisp/os.h - Add prototypes for the new os_sigcontext functions. * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the new os_sigcontext functions. Redfine SC_SP to expand out to SC_REG. Eliminate all platform-specific defintions of SC_PC and SC_SP.
-
- Dec 21, 2007
-
-
cshapiro authored
struct than the utsname struct in sys/utsname.h and the alien struct definition in Lisp. Instead of calling the exported uname, call the underlying __xuname that knows about with the post FreeBSD 4 struct.
-
- Dec 18, 2007
-
-
rtoy authored
check in for this condition in case it should appear again. Remove this at some later date if this doesn't happen anymore.
-
- Dec 17, 2007
-
-
cshapiro authored
h_errno. Like errno, it is left unspecified whether h_errno is a macro or an identifier declared with external linkage. Let the C compiler sort this out for us.
-
- Dec 15, 2007
-
-
rtoy authored
x86-lispregs.h: o Add SC_EFLAGS macro to access the eflags register (currently only for linux and darwin). x86-arch.c: o Use the SC_EFLAGS macro to enable/disable single-stepping. o If SC_EFLAGS is not defined, use the single-step helper stuff.
-
rtoy authored
issues like why the mcontext slot is 0 in the sigcontext from a function end breakpoint. This works around that problem for now. lisp/x86-arch.c: o Add documentation on how arch_do_displaced_inst works. o Darwin has the eflags register in the sigcontext so use that to enable and disable single-stepping using the eflags slot. This is how Linux works too. This change makes function start breakpoints work. code/debug-int.lisp: o In FIND-ESCAPED-FRAME, make sure the mcontext slot is not null (0) before we try to grab the cfp slot from it. This works around an issue where the mcontext slot is 0 on Darwin. code/ntrace.lisp: o Make *TRACE-ENCAPSULATE-DEFAULT* be :default again.
-
- Dec 14, 2007
- Dec 13, 2007
-
-
rtoy authored
default be encapsulation.
-
- Dec 10, 2007
- Dec 09, 2007
-
-
rtoy authored
o Change default compression to bzip instead of gzip, since we seem to always suppy bzipped binaries.
-
- Dec 07, 2007
-
-
cshapiro authored
in save.c dependent on FEATURE_EXECUTABLE.
-
- Dec 06, 2007
-
-
rtoy authored
the code from build.sh to here so we do the same thing. (Should this be moved out to a separate file?)
-
cshapiro authored
* Update the Config file to detect the GCC version at build time and use -iquote instead of -I- if we are not using GCC 2 or 3. This silences the unsilenceable deprecation message emitted by GCC 4. * Check the FreeBSD version at compile time and switch the protection violation signal to SIGSEGV if we are on a version of FreeBSD 7 that will deliver a SIGSEGV instead of a SIGBUS for access errors. * Install sigbus_handler to handle whatever UNIX signal the macro PROTECTION_VIOLATION_SIGNAL expands to. Get rid of the useless sigsegv_handler. Add the PROTECTION_VIOLATION_CODE macro so we do not have to conditionalize the check that guards the write barrier code.
-
- Dec 04, 2007
-
-
cshapiro authored
and clean-up some minor damage done by the code beautifier.
-
- Dec 03, 2007
-
-
pwerkowski authored
-
rtoy authored
the following example gets miscompiled: (defun foo () (let ((<= (symbol-function 'list))) (lambda (x y) (funcall <= x y)))) (assert (equal (funcall (foo) 'a 'b) '(a b))) It seems to me that the compiler inappropriately applies a source transformation because the local variable happens to have a function type. (This happens also for symbols other than <=, e.g. char= .) The following patch fixes that. It seems to me, that we can use the secondary return of VALIDATE-CALL-TYPE (info) to decide whether we deal with a global variable, because VALIDATE-CALL-TYPE indirectly calls RECOGNIZE-KNOWN-CALL which does the proper checks for a global variable.
-
rtoy authored
-
- Nov 28, 2007
-
-
rtoy authored
o Add usage message o Make sure we have exactly args
-
- Nov 27, 2007
- Nov 16, 2007
- Nov 15, 2007
-
-
rtoy authored
operations, store the result of the operation to the stack and reload it. This needs some work because the compiler there are a lot of redundant stores and loads. Also, I am unable to create code to exercise all of the possible conditions in the vops, so I am not 100% sure all of these are correct.
-
- Nov 14, 2007
-
-
rtoy authored
-
rtoy authored
rearrangement. Changes not tested, but there are no compiler warnings anymore. o Fix typo: It's fpstate, not ftpstate. o Fix dereferencing of the fpstate, which is not in the sigcontext anymore. It's in the sc-mcontext slot of the sigcontext now.
-
rtoy authored
o Add comments that we need to cross-compile on x86. o Load up boot-2007-11-1 for the x86 cross-compile to get rid of a warning. o Load up the default cross-x86-x86 script. exports.lisp: o Remove FLOAT-ACCURACY. It is now gone.
-