From 0cacb404c1393a5872f1066409771b80c369502e Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Thu, 4 Dec 2014 17:16:21 -0700 Subject: [PATCH] smp: share: bkpt.o --- README.txt | 7 +++++-- src/microcode/bkpt.c | 4 ++-- src/microcode/bkpt.h | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.txt b/README.txt index 71978046c..e4b1ed0a4 100644 --- a/README.txt +++ b/README.txt @@ -187,8 +187,11 @@ command line. The remaining 12 belong to the 7 microcode modules and OK. All state is thread-local now. bkpt.o: - 00000004 b One_Before - 00000000 B SP_List + 00000004 b One_Before __thread + 00000000 B SP_List __thread + + OK. All state is thread-local now. (What is this? It seems + stack-related and so is now machine-specific, but... ?) bignum.o: diff --git a/src/microcode/bkpt.c b/src/microcode/bkpt.c index 955a01b96..e9aecca3a 100644 --- a/src/microcode/bkpt.c +++ b/src/microcode/bkpt.c @@ -33,11 +33,11 @@ USA. #define sp_nil ((struct sp_record *) 0) -sp_record_list SP_List = sp_nil; +__thread sp_record_list SP_List = sp_nil; extern bool Add_a_Pop_Return_Breakpoint (SCHEME_OBJECT *); -static struct sp_record One_Before = +static __thread struct sp_record One_Before = { ((SCHEME_OBJECT *) 0), sp_nil diff --git a/src/microcode/bkpt.h b/src/microcode/bkpt.h index e7736a232..9ad1744e7 100644 --- a/src/microcode/bkpt.h +++ b/src/microcode/bkpt.h @@ -35,7 +35,7 @@ struct sp_record }; typedef struct sp_record * sp_record_list; -extern sp_record_list SP_List; +extern __thread sp_record_list SP_List; #define DEBUG_MAXSLOTS 100 -- 2.25.1