Merge "Add min/max values for config values."
diff --git a/libc/libc.arm.brillo.map b/libc/libc.arm.brillo.map
index f81adca..2a1c2de 100644
--- a/libc/libc.arm.brillo.map
+++ b/libc/libc.arm.brillo.map
@@ -62,7 +62,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
diff --git a/libc/libc.arm.map b/libc/libc.arm.map
index 45d7539..02dd58c 100644
--- a/libc/libc.arm.map
+++ b/libc/libc.arm.map
@@ -62,7 +62,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
diff --git a/libc/libc.arm64.map b/libc/libc.arm64.map
index 37c475f..0f5f1e8 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -47,7 +47,6 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index 3179049..3a8f7d7 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -62,7 +62,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
@@ -75,7 +75,6 @@
__memrchr_chk;
__memset_chk;
__mmap2; # arm x86 mips
- __moddi3; # x86 mips
__ns_format_ttl; # arm x86 mips
__ns_get16; # arm x86 mips
__ns_get32; # arm x86 mips
diff --git a/libc/libc.mips.brillo.map b/libc/libc.mips.brillo.map
index 734f686..100b78e 100644
--- a/libc/libc.mips.brillo.map
+++ b/libc/libc.mips.brillo.map
@@ -59,7 +59,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
@@ -72,7 +72,6 @@
__memrchr_chk;
__memset_chk;
__mmap2; # arm x86 mips
- __moddi3; # x86 mips
__ns_format_ttl; # arm x86 mips
__ns_get16; # arm x86 mips
__ns_get32; # arm x86 mips
diff --git a/libc/libc.mips.map b/libc/libc.mips.map
index 86a2a59..0a92e1e 100644
--- a/libc/libc.mips.map
+++ b/libc/libc.mips.map
@@ -59,7 +59,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
@@ -72,7 +72,6 @@
__memrchr_chk;
__memset_chk;
__mmap2; # arm x86 mips
- __moddi3; # x86 mips
__ns_format_ttl; # arm x86 mips
__ns_get16; # arm x86 mips
__ns_get32; # arm x86 mips
diff --git a/libc/libc.mips64.map b/libc/libc.mips64.map
index 37c475f..0f5f1e8 100644
--- a/libc/libc.mips64.map
+++ b/libc/libc.mips64.map
@@ -47,7 +47,6 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
diff --git a/libc/libc.x86.brillo.map b/libc/libc.x86.brillo.map
index ceaa07d..db328cf 100644
--- a/libc/libc.x86.brillo.map
+++ b/libc/libc.x86.brillo.map
@@ -59,7 +59,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
@@ -72,7 +72,6 @@
__memrchr_chk;
__memset_chk;
__mmap2; # arm x86 mips
- __moddi3; # x86 mips
__ns_format_ttl; # arm x86 mips
__ns_get16; # arm x86 mips
__ns_get32; # arm x86 mips
diff --git a/libc/libc.x86.map b/libc/libc.x86.map
index cc35757..f3c6e59 100644
--- a/libc/libc.x86.map
+++ b/libc/libc.x86.map
@@ -59,7 +59,7 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
+ __isthreaded; # arm x86 mips
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
@@ -72,7 +72,6 @@
__memrchr_chk;
__memset_chk;
__mmap2; # arm x86 mips
- __moddi3; # x86 mips
__ns_format_ttl; # arm x86 mips
__ns_get16; # arm x86 mips
__ns_get32; # arm x86 mips
diff --git a/libc/libc.x86_64.map b/libc/libc.x86_64.map
index 37c475f..0f5f1e8 100644
--- a/libc/libc.x86_64.map
+++ b/libc/libc.x86_64.map
@@ -47,7 +47,6 @@
__isnormal;
__isnormalf;
__isnormall;
- __isthreaded;
__libc_current_sigrtmax;
__libc_current_sigrtmin;
__libc_init;
diff --git a/linker/linker_phdr.cpp b/linker/linker_phdr.cpp
index e81e325..136e432 100644
--- a/linker/linker_phdr.cpp
+++ b/linker/linker_phdr.cpp
@@ -39,6 +39,8 @@
#include "linker_debug.h"
#include "linker_utils.h"
+#include "private/bionic_prctl.h"
+
static int GetTargetElfMachine() {
#if defined(__arm__)
return EM_ARM;
@@ -540,8 +542,9 @@
// between them. This is done by using a private anonymous
// map for all extra pages.
if (seg_page_end > seg_file_end) {
+ size_t zeromap_size = seg_page_end - seg_file_end;
void* zeromap = mmap(reinterpret_cast<void*>(seg_file_end),
- seg_page_end - seg_file_end,
+ zeromap_size,
PFLAGS_TO_PROT(phdr->p_flags),
MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE,
-1,
@@ -550,6 +553,8 @@
DL_ERR("couldn't zero fill \"%s\" gap: %s", name_.c_str(), strerror(errno));
return false;
}
+
+ prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, zeromap, zeromap_size, ".bss");
}
}
return true;