summaryrefslogtreecommitdiff
path: root/os_dep.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-10-31 21:27:32 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-11-01 00:50:08 +0300
commit2343f553de8e127eb8540c5044d355dc5fb490cd (patch)
treef41632cce4bb5df45669071f00d756e95de740ee /os_dep.c
parentc0e2c507f11e43f043a866514b5b75c60f71dc53 (diff)
downloadbdwgc-2343f553de8e127eb8540c5044d355dc5fb490cd.tar.gz
Fix negative heap size values reported in WARN
Issue #496 (bdwgc). WARN_PRIuPTR is now used to print unsigned values in WARN() calls. Also, byte values are replaced with KiB ones in some WARN() calls. * allchblk.c (GC_allochblk_nth): Use WARN_PRIuPTR specifier instead of WARN_PRIdPTR. * alloc.c (GC_expand_hp_inner, GC_collect_or_expand): Likewise. * headers.c (GC_scratch_alloc): Likewise. * mark.c (alloc_mark_stack): Likewise. * misc.c (GC_enable): Likewise. * os_dep.c [NEED_PROC_MAPS] (GC_get_maps): Likewise. * os_dep.c [PROC_VDB] (GC_proc_read_dirty): Likewise. * win32_threads.c (GC_delete_thread): Likewise. * allchblk.c (GC_allochblk_nth): Print KiB value instead of in bytes in WARN message. * alloc.c (GC_expand_hp_inner): Likewise. * misc.c (GC_enable): Likewise. * alloc.c (GC_expand_hp_inner): Remove unneeded cast of bytes to word. * headers.c (GC_scratch_alloc): Likewise. * alloc.c [(!AMIGA || !GC_AMIGA_FASTALLOC) && USE_MUNMAP] (GC_collect_or_expand): Add assertion to indicate that there is no underflow in GC_heapsize-GC_unmapped_bytes. * include/private/gc_priv.h (WARN): Update comment. * include/private/gc_priv.h [!WARN_PRIdPTR] (WARN_PRIuPTR): Define.
Diffstat (limited to 'os_dep.c')
-rw-r--r--os_dep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/os_dep.c b/os_dep.c
index b56d9531..43f8c2df 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -249,7 +249,7 @@ GC_INNER const char * GC_get_maps(void)
if (maps_size > old_maps_size) {
/* This might be caused by e.g. thread creation. */
WARN("Unexpected asynchronous /proc/self/maps growth"
- " (to %" WARN_PRIdPTR " bytes)\n", maps_size);
+ " (to %" WARN_PRIuPTR " bytes)\n", maps_size);
}
# endif
} while (maps_size >= maps_buf_sz
@@ -3703,8 +3703,8 @@ GC_INLINE void GC_proc_read_dirty(GC_bool output_unneeded)
size_t new_size = 2 * GC_proc_buf_size;
char *new_buf;
- WARN("/proc read failed: GC_proc_buf_size= %" WARN_PRIdPTR "\n",
- (signed_word)GC_proc_buf_size);
+ WARN("/proc read failed: GC_proc_buf_size= %" WARN_PRIuPTR "\n",
+ GC_proc_buf_size);
new_buf = GC_scratch_alloc(new_size);
if (new_buf != 0) {
GC_scratch_recycle_no_gww(bufp, GC_proc_buf_size);