summaryrefslogtreecommitdiff
path: root/elf/dl-tunable-types.h
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2017-05-17 13:11:55 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2017-05-17 13:11:55 +0530
commitad2f35cb396d24391150675fb55311c98d1e1592 (patch)
treebc4daee1bc3f9609bebbd29c8ecf53d46f5e8ab7 /elf/dl-tunable-types.h
parentd13103074ab5c7614eeb94f88a61803ed8f3e878 (diff)
tunables: Add support for tunables of uint64_t type
Recognize the uint64_t type in addition to the current int32_t and size_t. This allows addition of tunables of uint64_t types. In addition to adding the uint64_t type, this patch also consolidates validation and reading of integer types in tunables. One notable change is that of overflow computation in tunables_strtoul. The function was lifted from __internal_strtoul, but it does not need the boundary condition check (i.e. result == ULONG_MAX) since it does not need to set errno. As a result the check can be simplified, which I have now done. * elf/dl-tunable-types.h (tunable_type_code_t): New type TUNABLE_TYPE_UINT_64. * elf/dl-tunables.c (tunables_strtoul): Return uint64_t. Simplify computation of overflow. (tunable_set_val_if_valid_range_signed, tunable_set_val_if_valid_range_unsigned): Remove and replace with this... (TUNABLE_SET_VAL_IF_VALID_RANGE): ... New macro. (tunable_initialize): Adjust. Add uint64_t support. (__tunable_set_val): Add uint64_t support. * README.tunables: Document it.
Diffstat (limited to 'elf/dl-tunable-types.h')
-rw-r--r--elf/dl-tunable-types.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/elf/dl-tunable-types.h b/elf/dl-tunable-types.h
index 37a4e8021f..1d516df08f 100644
--- a/elf/dl-tunable-types.h
+++ b/elf/dl-tunable-types.h
@@ -24,6 +24,7 @@
typedef enum
{
TUNABLE_TYPE_INT_32,
+ TUNABLE_TYPE_UINT_64,
TUNABLE_TYPE_SIZE_T,
TUNABLE_TYPE_STRING
} tunable_type_code_t;