diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2021-08-03 09:45:09 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2021-08-04 11:08:06 +0300 |
commit | bdb18a0e9c9b40f3cb0e0d802c2063101e025ce3 (patch) | |
tree | 8a975485bf3b486223d54c4fb239a1438a9c866f /dyn_load.c | |
parent | e62237a1e000a863f011856079cce5bb524eb005 (diff) | |
download | bdwgc-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.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -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"); |