summaryrefslogtreecommitdiff
path: root/dyn_load.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-08-03 09:45:09 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-08-04 11:08:06 +0300
commitbdb18a0e9c9b40f3cb0e0d802c2063101e025ce3 (patch)
tree8a975485bf3b486223d54c4fb239a1438a9c866f /dyn_load.c
parente62237a1e000a863f011856079cce5bb524eb005 (diff)
downloadbdwgc-bdb18a0e9c9b40f3cb0e0d802c2063101e025ce3.tar.gz
Mark buffer returned by get_maps as const (code refactoring)
* dyn_load.c [(SCO_ELF || DGUX || HURD || NACL || __ELF__ && (LINUX || FREEBSD || NETBSD || OPENBSD)) && USE_PROC_FOR_LIBRARIES] (GC_register_map_entries): Add const to maps argument and prot local variable; remove buf_ptr local variable (use maps instead). * dyn_load.c [(SCO_ELF || DGUX || HURD || NACL || __ELF__ && (LINUX || FREEBSD || NETBSD || OPENBSD)) && USE_PROC_FOR_LIBRARIES] (GC_register_dynamic_libraries): Add const to maps local variable. * include/private/gc_priv.h [NEED_PROC_MAPS && DYNAMIC_LOADING && USE_PROC_FOR_LIBRARIES] (GC_parse_map_entry): Add const to the return type, and to buf_ptr, prot, mapping_name arguments; rename buf_ptr to maps_ptr argument. * os_dep.c [NEED_PROC_MAPS && (DYNAMIC_LOADING && USE_PROC_FOR_LIBRARIES || IA64 || INCLUDE_LINUX_THREAD_DESCR || REDIRECT_MALLOC)] (GC_parse_map_entry): Likewise. * include/private/gc_priv.h [NEED_PROC_MAPS] (GC_get_maps): Add const to the return type. * os_dep.c [NEED_PROC_MAPS] (GC_get_maps): Likewise. * os_dep.c [NEED_PROC_MAPS && (DYNAMIC_LOADING && USE_PROC_FOR_LIBRARIES || IA64 || INCLUDE_LINUX_THREAD_DESCR || REDIRECT_MALLOC)] (GC_parse_map_entry): Add const to start_start, end_start, maj_dev_start, p local variables; remove duplicate while statement (it does not depend on mapping_name). * os_dep.c [NEED_PROC_MAPS && (IA64 || INCLUDE_LINUX_THREAD_DESCR)] (GC_enclosing_mapping): Add const to prot, buf_ptr local variables; remove maps local variable and rename buf_ptr to maps_ptr. * os_dep.c [NEED_PROC_MAPS && REDIRECT_MALLOC] (GC_text_mapping): Likewise. * os_dep.c [LINUX && __ELF__ && !SMALL_CONFIG] (GC_print_address_map): Add const to maps local variable.
Diffstat (limited to 'dyn_load.c')
-rw-r--r--dyn_load.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/dyn_load.c b/dyn_load.c
index 0dc03be5..6e159799 100644
--- a/dyn_load.c
+++ b/dyn_load.c
@@ -305,10 +305,9 @@ static void sort_heap_sects(struct HeapSect *base, size_t number_of_elements)
}
}
-STATIC void GC_register_map_entries(char *maps)
+STATIC void GC_register_map_entries(const char *maps)
{
- char *prot;
- char *buf_ptr = maps;
+ const char *prot;
ptr_t start, end;
unsigned int maj_dev;
ptr_t least_ha, greatest_ha;
@@ -321,10 +320,9 @@ STATIC void GC_register_map_entries(char *maps)
+ GC_our_memory[GC_n_memory-1].hs_bytes;
for (;;) {
- buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, &prot,
- &maj_dev, 0);
- if (NULL == buf_ptr)
- break;
+ maps = GC_parse_map_entry(maps, &start, &end, &prot, &maj_dev, 0);
+ if (NULL == maps) break;
+
if (prot[1] == 'w') {
/* This is a writable mapping. Add it to */
/* the root set unless it is already otherwise */
@@ -399,7 +397,7 @@ STATIC void GC_register_map_entries(char *maps)
GC_INNER void GC_register_dynamic_libraries(void)
{
- char *maps = GC_get_maps();
+ const char *maps = GC_get_maps();
if (NULL == maps)
ABORT("Failed to read /proc for library registration");