[2/2] loader: Don't warn for limited user address space on ARM64

André Hentschel nerv at dawncrow.de
Fri Oct 20 14:14:52 CDT 2017


A likely limit is 512GB, but 256TB is possible, see https://www.kernel.org/doc/Documentation/arm64/memory.txt

Signed-off-by: André Hentschel <nerv at dawncrow.de>
---
 loader/preloader.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/loader/preloader.c b/loader/preloader.c
index 3caae32..9496df3 100644
--- a/loader/preloader.c
+++ b/loader/preloader.c
@@ -1338,7 +1338,11 @@ void* wld_start( void **stack )
                            MAP_FIXED | MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, -1, 0 ) == (void *)-1)
         {
             /* don't warn for low 64k */
-            if (preload_info[i].addr >= (void *)0x10000)
+            if (preload_info[i].addr >= (void *)0x10000
+#ifdef __aarch64__
+                && preload_info[i].addr < (void *)0x7fffffffff /* ARM64 address space might end here*/
+#endif
+            )
                 wld_printf( "preloader: Warning: failed to reserve range %p-%p\n",
                             preload_info[i].addr, (char *)preload_info[i].addr + preload_info[i].size );
             remove_preload_range( i );
-- 
2.7.4




More information about the wine-patches mailing list