Fix a failure in the libiberty testsuite by increasing the recursion limit to 2048.

PR 88409
include	* demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048.

binutils* NEWS: Note that recursion limit has increased to 2048.
	* doc/binutils.texi: Likewise.
This commit is contained in:
Nick Clifton
2018-12-11 12:01:15 +00:00
parent 99e1a184a7
commit 69799d67e8
5 changed files with 16 additions and 6 deletions

View File

@@ -1,3 +1,8 @@
2018-12-11 Nick Clifton <nickc@redhat.com>
* NEWS: Note that recursion limit has increased to 2048.
* doc/binutils.texi: Likewise.
2018-12-08 Alan Modra <amodra@gmail.com> 2018-12-08 Alan Modra <amodra@gmail.com>
* strings.c (unget_part_char): New function. * strings.c (unget_part_char): New function.

View File

@@ -4,7 +4,7 @@
maximum amount of recursion that is allowed whilst demangling strings. maximum amount of recursion that is allowed whilst demangling strings.
The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT The value for this limit is defined by the DEMANGLE_RECRUSE_LIMIT
constant declared in the include/demangle.h header file. At the time constant declared in the include/demangle.h header file. At the time
of writing this constant has the value of 1024. of writing this constant has the value of 2048.
The --no-recurse-limit option can be used to remove the limit, restoring The --no-recurse-limit option can be used to remove the limit, restoring
the behaviour of earlier versions of these tools. This may be needed in the behaviour of earlier versions of these tools. This may be needed in

View File

@@ -950,7 +950,7 @@ whilst demangling strings. Since the name mangling formats allow for
an inifinite level of recursion it is possible to create strings whose an inifinite level of recursion it is possible to create strings whose
decoding will exhaust the amount of stack space available on the host decoding will exhaust the amount of stack space available on the host
machine, triggering a memory fault. The limit tries to prevent this machine, triggering a memory fault. The limit tries to prevent this
from happening by restricting recursion to 1024 levels of nesting. from happening by restricting recursion to 2048 levels of nesting.
The default is for this limit to be enabled, but disabling it may be The default is for this limit to be enabled, but disabling it may be
necessary in order to demangle truly complicated names. Note however necessary in order to demangle truly complicated names. Note however
@@ -2202,7 +2202,7 @@ whilst demangling strings. Since the name mangling formats allow for
an inifinite level of recursion it is possible to create strings whose an inifinite level of recursion it is possible to create strings whose
decoding will exhaust the amount of stack space available on the host decoding will exhaust the amount of stack space available on the host
machine, triggering a memory fault. The limit tries to prevent this machine, triggering a memory fault. The limit tries to prevent this
from happening by restricting recursion to 1024 levels of nesting. from happening by restricting recursion to 2048 levels of nesting.
The default is for this limit to be enabled, but disabling it may be The default is for this limit to be enabled, but disabling it may be
necessary in order to demangle truly complicated names. Note however necessary in order to demangle truly complicated names. Note however
@@ -3555,7 +3555,7 @@ whilst demangling strings. Since the name mangling formats allow for
an inifinite level of recursion it is possible to create strings whose an inifinite level of recursion it is possible to create strings whose
decoding will exhaust the amount of stack space available on the host decoding will exhaust the amount of stack space available on the host
machine, triggering a memory fault. The limit tries to prevent this machine, triggering a memory fault. The limit tries to prevent this
from happening by restricting recursion to 1024 levels of nesting. from happening by restricting recursion to 2048 levels of nesting.
The default is for this limit to be enabled, but disabling it may be The default is for this limit to be enabled, but disabling it may be
necessary in order to demangle truly complicated names. Note however necessary in order to demangle truly complicated names. Note however
@@ -3778,7 +3778,7 @@ whilst demangling strings. Since the name mangling formats allow for
an inifinite level of recursion it is possible to create strings whose an inifinite level of recursion it is possible to create strings whose
decoding will exhaust the amount of stack space available on the host decoding will exhaust the amount of stack space available on the host
machine, triggering a memory fault. The limit tries to prevent this machine, triggering a memory fault. The limit tries to prevent this
from happening by restricting recursion to 1024 levels of nesting. from happening by restricting recursion to 2048 levels of nesting.
The default is for this limit to be enabled, but disabling it may be The default is for this limit to be enabled, but disabling it may be
necessary in order to demangle truly complicated names. Note however necessary in order to demangle truly complicated names. Note however

View File

@@ -1,3 +1,8 @@
2018-12-11 Nick Clifton <nickc@redhat.com>
PR 88409
* demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048.
2018-12-07 H.J. Lu <hongjiu.lu@intel.com> 2018-12-07 H.J. Lu <hongjiu.lu@intel.com>
* bfdlink.h (bfd_link_info): Add has_map_file. * bfdlink.h (bfd_link_info): Add has_map_file.

View File

@@ -77,7 +77,7 @@ extern "C" {
/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as /* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as
the maximum depth of recursion allowed. It should be enough for any the maximum depth of recursion allowed. It should be enough for any
real-world mangled name. */ real-world mangled name. */
#define DEMANGLE_RECURSION_LIMIT 1024 #define DEMANGLE_RECURSION_LIMIT 2048
/* Enumeration of possible demangling styles. /* Enumeration of possible demangling styles.