# HG changeset patch # User Christian Kamm # Date 1232390091 -3600 # Node ID 77a3d6945f81304689e883b92be5d508cd11e7be # Parent e74e2e53ba3b2c03f25a95092495f2cb874dc457 Don't use /proc/self/map for finding the static data segment on x86-64 for now. Probably breaks shared libraries. Parsing the file needs to be rewritten! diff -r e74e2e53ba3b -r 77a3d6945f81 runtime/internal/memory.d --- a/runtime/internal/memory.d Sun Jan 18 14:14:40 2009 +0100 +++ b/runtime/internal/memory.d Mon Jan 19 19:34:51 2009 +0100 @@ -30,7 +30,11 @@ // does Posix suffice? version(Posix) { - version = GC_Use_Data_Proc_Maps; + //FIXME: proc map parsing is too naive to work on x86-64 + version(X86) + { + version = GC_Use_Data_Proc_Maps; + } } version(GC_Use_Data_Proc_Maps) @@ -278,6 +282,7 @@ else version( GC_Use_Data_Proc_Maps ) { // TODO: Exclude zero-mapped regions + //FIXME: proc map parsing is too naive to work on x86-64 int fd = open("/proc/self/maps", O_RDONLY); ptrdiff_t count; // %% need to configure ret for read..