diff options
author | Hans Boehm <Hans_Boehm@hp.com> | 2001-04-05 00:14:18 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-04-05 00:14:18 +0000 |
commit | 41029b884ae16a2fc2b36cedfd20d7a1e68cfdb6 (patch) | |
tree | 88a556f74fb0052ef40f7b32c7dc19756675fe56 /boehm-gc/gcconfig.h | |
parent | 48f9396dd6166819d204e931b4d2d9d2da704a73 (diff) | |
download | gcc-41029b884ae16a2fc2b36cedfd20d7a1e68cfdb6.zip gcc-41029b884ae16a2fc2b36cedfd20d7a1e68cfdb6.tar.gz gcc-41029b884ae16a2fc2b36cedfd20d7a1e68cfdb6.tar.bz2 |
finalize.c: - Accomodate finalization requests for static objects.
2001-04-04 Hans Boehm <hans_boehm@hp.com>
* finalize.c:
- Accomodate finalization requests for static objects.
(Will be required by hash synchronization. May be needed
in some configurations now.)
* gc_priv.h:
- Define MIN_WORDS. All allocation requests are rounded
up to at least this size. Removes a subtle assumption that
Java objects have a 2 word header.
* gcconfig.h:
- Adjust Linux/IA64 configuration for non-ancient kernels.
(Necessary fix for IA64.)
* linux_threads.c:
- Fix syntax error in currently unused code. Will be needed
for Linux/PA-RISC.
* malloc.c:
- Handle MIN_WORDS.
* misc.c:
- Handle MIN_WORDS.
- Change stack cleaning code to typically clear about one tenth
the memory it used to in the threads configuration. Occasionally
still clear more. (This is really a fix for a long-standing
and fairly significant performance bug with threads.)
* os_dep.c:
- Fix the code for finding the beginning of the data segment under
Linux. I believe this is necessary for some IA64 Linux
distributions. It will also helo other platforms, though those
may additionally require a gcconfig.h adjustment. (This basically
works around the absence of a data_start or __data_start
definition in glibc.)
* test.c:
- Handle rounding due to MIN_WORDS.
From-SVN: r41102
Diffstat (limited to 'boehm-gc/gcconfig.h')
-rw-r--r-- | boehm-gc/gcconfig.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/boehm-gc/gcconfig.h b/boehm-gc/gcconfig.h index 4cab9c7..84a4b3c 100644 --- a/boehm-gc/gcconfig.h +++ b/boehm-gc/gcconfig.h @@ -1116,11 +1116,20 @@ # define CPP_WORDSZ 64 /* This should really be done through /proc, but that */ /* requires we run on an IA64 kernel. */ -# define STACKBOTTOM ((ptr_t) 0xa000000000000000l) + /* The following works on NUE and older kernels: */ +/* # define STACKBOTTOM ((ptr_t) 0xa000000000000000l) */ + /* This does not work on NUE: */ +# define LINUX_STACKBOTTOM /* We also need the base address of the register stack */ - /* backing store. There is probably a better way to */ - /* get that, too ... */ -# define BACKING_STORE_BASE ((ptr_t) 0x9fffffff80000000l) + /* backing store. There should be a better way to get */ + /* this: */ +# define APPROX_BS_BASE ((word)GC_stackbottom-0x80000000) + /* We round to the next multiple of 1 MB, to compensate */ + /* for the fact that the stack base is displaced by */ + /* the environment, etc. */ +# define BACKING_STORE_BASE \ + (ptr_t)((APPROX_BS_BASE + 0xfffff) & ~0xfffff) + # if 1 # define SEARCH_FOR_DATA_START # define DATASTART GC_data_start |