summary refs log tree commit diff
path: root/README.tunables
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 /README.tunables
parentd13103074ab5c7614eeb94f88a61803ed8f3e878 (diff)
downloadglibc-ad2f35cb396d24391150675fb55311c98d1e1592.tar.gz
glibc-ad2f35cb396d24391150675fb55311c98d1e1592.tar.xz
glibc-ad2f35cb396d24391150675fb55311c98d1e1592.zip
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 'README.tunables')
-rw-r--r--README.tunables3
1 files changed, 2 insertions, 1 deletions
diff --git a/README.tunables b/README.tunables
index 3f16b5d827..0e9b0d7a47 100644
--- a/README.tunables
+++ b/README.tunables
@@ -48,7 +48,8 @@ TOP_NAMESPACE {
 The list of allowed attributes are:
 
 - type:			Data type.  Defaults to STRING.  Allowed types are:
-			INT_32, SIZE_T and STRING.
+			INT_32, UINT_64, SIZE_T and STRING.  Numeric types may
+			be in octal or hexadecimal format too.
 
 - minval:		Optional minimum acceptable value.  For a string type
 			this is the minimum length of the value.