From fe36a56422d474a00a58812ec886eb14f024ba0d Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Mon, 2 Aug 2004 17:28:24 +0000 Subject: [PATCH] 0.8.13.19: Alpha/Tru64 build now completes make-{host,target}-1.sh ... fix new LOGCOUNT vop (*cringe*) ... setpgrp() fix for RUN-PROGRAM's C support ... -taso flag now properly passed to cc ... assembly code rearranged to satisfy Digital's as --- src/compiler/alpha/arith.lisp | 4 ++-- src/runtime/Config.alpha-osf1 | 2 +- src/runtime/alpha-assem.S | 5 ++--- src/runtime/run-program.c | 2 +- src/runtime/runtime.h | 5 ----- version.lisp-expr | 2 +- 6 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/compiler/alpha/arith.lisp b/src/compiler/alpha/arith.lisp index df7d563..83c8f0b 100644 --- a/src/compiler/alpha/arith.lisp +++ b/src/compiler/alpha/arith.lisp @@ -294,13 +294,13 @@ (:translate logcount) (:note "inline (unsigned-byte 64) logcount") (:policy :fast-safe) - (:args (arg :scs (unsigned-reg) :target num)) + (:args (arg :scs (unsigned-reg))) (:arg-types unsigned-num) (:results (res :scs (unsigned-reg))) (:result-types positive-fixnum) (:guard (member :cix *backend-subfeatures*)) (:generator 1 - (inst ctpop zero arg res))) + (inst ctpop zero-tn arg res))) (define-vop (unsigned-byte-64-count) (:translate logcount) diff --git a/src/runtime/Config.alpha-osf1 b/src/runtime/Config.alpha-osf1 index a7721c1..e1d6e5e 100644 --- a/src/runtime/Config.alpha-osf1 +++ b/src/runtime/Config.alpha-osf1 @@ -10,7 +10,7 @@ CFLAGS += -Dalpha -Dosf1 -O0 -g -D_XOPEN_SOURCE=500 -D_OSF_SOURCE=500 ASFLAGS += -Dalpha -Dosf1 #-ULANGUAGE_ASSEMBLY LD = ld -taso -LINKFLAGS = -non_shared # dynamic -v -g -Wl,-T -Wl,ld-script.alpha-linux +LINKFLAGS = -taso -non_shared # dynamic -v -g -Wl,-T -Wl,ld-script.alpha-linux # Digital^WCompaq^WHP's cc declares `static inline' functions to exist # in multiple places in the binary; we add the '-g' flag to suppress all # internal (i.e. static) function names being spat out. GENESIS diff --git a/src/runtime/alpha-assem.S b/src/runtime/alpha-assem.S index 4741d36..c0ab2cc 100644 --- a/src/runtime/alpha-assem.S +++ b/src/runtime/alpha-assem.S @@ -257,9 +257,7 @@ start_of_tramps: */ .text .globl start_of_tramps - .globl closure_tramp .globl undefined_tramp - .globl closure_tramp_offset .globl undefined_tramp_offset .ent undefined_tramp_offset undefined_tramp_offset: @@ -284,9 +282,10 @@ undefined_tramp= call_into_lisp_LRA_page+0x140 /* The closure trampoline. */ .text .globl closure_tramp + .globl closure_tramp_offset .ent closure_tramp_offset -closure_tramp= call_into_lisp_LRA_page+0x150 closure_tramp_offset: +closure_tramp= call_into_lisp_LRA_page+0x150 ldl reg_LEXENV, FDEFN_FUN_OFFSET(reg_FDEFN) ldl reg_L0, CLOSURE_FUN_OFFSET(reg_LEXENV) addl reg_L0, SIMPLE_FUN_CODE_OFFSET, reg_LIP diff --git a/src/runtime/run-program.c b/src/runtime/run-program.c index 5e3bd8f..8fd0ae0 100644 --- a/src/runtime/run-program.c +++ b/src/runtime/run-program.c @@ -61,7 +61,7 @@ int spawn(char *program, char *argv[], char *envp[], char *pty_name, /* Put us in our own process group. */ #if defined(hpux) setsid(); -#elif defined(SVR4) || defined(__linux__) +#elif defined(SVR4) || defined(__linux__) || defined(__osf__) setpgrp(); #else setpgrp(0, getpid()); diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h index 105dbbb..f144291 100644 --- a/src/runtime/runtime.h +++ b/src/runtime/runtime.h @@ -103,11 +103,6 @@ native_pointer(lispobj obj) /* Too bad ANSI C doesn't define "bool" as C++ does.. */ typedef int boolean; -/* FIXME: There seems to be no reason that SymbolFunction can't be - * defined as (possibly inline) functions instead of macros. */ - -static inline lispobj SymbolValue(u32 sym, void *thread); -static inline void SetSymbolValue(u32 sym, lispobj val, void *thread); /* This only works for static symbols. */ /* FIXME: should be called StaticSymbolFunction, right? */ #define SymbolFunction(sym) \ diff --git a/version.lisp-expr b/version.lisp-expr index b94abc4..1222ad5 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.13.18" +"0.8.13.19" -- 1.7.10.4