drahn f5ecdc2e7a Instead of using a data symbol to find the last mapped section of the
executable, use _end. This is done other places in the file, and works
with latest ELF linker changes, (This only affects OpenBSD/ELF). ok todd@
2003-01-17 21:00:45 +00:00

23 lines
560 B
Plaintext

$OpenBSD: patch-os_dep_c,v 1.3 2003/01/17 21:00:45 drahn Exp $
--- os_dep.c.orig Wed Jul 31 17:13:18 2002
+++ os_dep.c Thu Jan 9 16:14:45 2003
@@ -233,6 +233,18 @@ static void *tiny_sbrk(ptrdiff_t increme
}
#endif
+#if defined(OPENBSD) && defined(__ELF__)
+ ptr_t GC_data_start;
+
+ void GC_init_openbsd_elf()
+ {
+ extern ptr_t GC_find_limit();
+ /* This may need to be environ, without the underscore, for */
+ /* some versions. */
+ GC_data_start = GC_find_limit((ptr_t)&end, FALSE);
+ }
+#endif
+
# ifdef OS2
# include <stddef.h>