Revert "Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match."

The previous commit breaks the GDB build, which is still using functions
cplus_demangle_opname & co.  Since removing these usages is not an
obvious fix, let's revert this patch until we get rid of them.
This commit is contained in:
Simon Marchi 2019-01-07 18:05:36 -05:00
parent 053af8c903
commit 4ae80ffc55
7 changed files with 8012 additions and 133 deletions

View File

@ -1,7 +1,3 @@
2019-01-07 Nick Clifton <nickc@redhat.com>
* libiberty: Merge from gcc.
2019-01-03 Дилян Палаузов <dilyan.palauzov@aegee.org> 2019-01-03 Дилян Палаузов <dilyan.palauzov@aegee.org>
* configure.ac: Don't configure readline if --with-system-readline is * configure.ac: Don't configure readline if --with-system-readline is

View File

@ -1,11 +1,3 @@
2019-01-07 Nick Clifton <nickc@redhat.com>
PR 24044
* stabs.c (parse_stab_argtypes): Remove call to
cplus_mangle_opcode.
* testsuite/binutils-all/cxxfilt.exp: Replace tests of v2 encoding
with v3 encoding. Add escape for known failures.
2018-12-25 Yoshinori Sato <ysato@users.sourceforge.jp> 2018-12-25 Yoshinori Sato <ysato@users.sourceforge.jp>
* readelf.c (get_machine_flags): Add RXv3 output. * readelf.c (get_machine_flags): Add RXv3 output.

View File

@ -3037,15 +3037,27 @@ parse_stab_argtypes (void *dhandle, struct stab_handle *info,
&& fieldname[1] == 'p' && fieldname[1] == 'p'
&& (fieldname[2] == '$' || fieldname[2] == '.')) && (fieldname[2] == '$' || fieldname[2] == '.'))
{ {
/* Opname selection is no longer supported by libiberty's demangler. */ const char *opname;
opname = cplus_mangle_opname (fieldname + 3, 0);
if (opname == NULL)
{
fprintf (stderr, _("No mangling for \"%s\"\n"), fieldname);
return DEBUG_TYPE_NULL; return DEBUG_TYPE_NULL;
} }
mangled_name_len += strlen (opname);
physname = (char *) xmalloc (mangled_name_len);
strncpy (physname, fieldname, 3);
strcpy (physname + 3, opname);
}
else
{
physname = (char *) xmalloc (mangled_name_len); physname = (char *) xmalloc (mangled_name_len);
if (is_constructor) if (is_constructor)
physname[0] = '\0'; physname[0] = '\0';
else else
strcpy (physname, fieldname); strcpy (physname, fieldname);
}
physname_len = strlen (physname); physname_len = strlen (physname);
strcat (physname, buf); strcat (physname, buf);

View File

@ -14,30 +14,6 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
# For some reason cxxfilt is not working on the following targets.
# FIXME: Investigate why.
if { [istarget "cris*-*-*"] || \
[istarget "cr16-*-*"] || \
[istarget "crx*-*-*"] || \
[istarget "epiphany-*-*"] || \
[istarget "ip2k-*-*"] || \
[istarget "metag-*-*"] || \
[istarget "mn10200-*-*"] || \
[istarget "mn10300-*-*"] || \
[istarget "ns32k-*-*"] || \
[istarget "pdp11-*-*"] || \
[istarget "rl78-*-*"] || \
[istarget "rx-*-*"] || \
[istarget "sh-*-*"] || \
[istarget "tic4*-*-*"] || \
[istarget "tic54*-*-*"] || \
[istarget "v850-*-*"] || \
[istarget "z8k-*-*"] || \
[istarget "*-*-cygwin"] || \
[istarget "*-*-mingw32"] } then {
return
}
proc test_cxxfilt {options mangled_string demangled_string} { proc test_cxxfilt {options mangled_string demangled_string} {
global CXXFILT global CXXFILT
global CXXFILTFLAGS global CXXFILTFLAGS
@ -56,12 +32,12 @@ proc test_cxxfilt {options mangled_string demangled_string} {
# Mangled and demangled strings stolen from libiberty/testsuite/demangle-expected. # Mangled and demangled strings stolen from libiberty/testsuite/demangle-expected.
test_cxxfilt {} \ test_cxxfilt {} \
"_Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E" \ "AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue" \
"void f.void, int, false.(void (.)(int) noexcept(false))*" "ivTSolver::AddAlignment(unsigned int, ivInteractor ., ivTGlue .)*"
test_cxxfilt {--format=gnu-v3} \ test_cxxfilt {--format=lucid} \
"_Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE" \ "__ct__12strstreambufFPFl_PvPFPv_v" \
"int& int_if_addable.Y.(A.sizeof ((.((Y.)(0))).(.((Y.)(0))))..)*" "strstreambuf..(strstreambuf|_ct)(void .(.)(long), void (.)(void .))*"
test_cxxfilt {--no-recurse-limit} \ test_cxxfilt {--no-recurse-limit} \
"Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_" \ "Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_" \

View File

@ -1,17 +1,3 @@
2019-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
2018-12-22 Jason Merrill <jason@redhat.com>
Remove support for demangling GCC 2.x era mangling schemes.
* cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
internal_cplus_demangle, and all subroutines.
(libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
Lucid, ARM, HP, and EDG demangling styles.
(cplus_demangle): Remove 'work' variable. Don't call
internal_cplus_demangle.
2018-12-07 Nick Clifton <nickc@redhat.com> 2018-12-07 Nick Clifton <nickc@redhat.com>
PR 87681 PR 87681
@ -77,6 +63,9 @@
* cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0. * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0.
2018-08-01 Richard Earnshaw <rearnsha@arm.com>
Copy over from GCC
2018-07-26 Martin Liska <mliska@suse.cz> 2018-07-26 Martin Liska <mliska@suse.cz>
PR lto/86548 PR lto/86548
@ -85,10 +74,17 @@
first argument set to NULL. first argument set to NULL.
(make_temp_file_with_prefix): Support also prefix. (make_temp_file_with_prefix): Support also prefix.
2018-07-19 Eli Zaretskii <eliz@gnu.org> 2018-07-18 Eli Zaretskii <eliz@gnu.org>
* simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect PR gdb/23434
to ENOSYS. * libiberty/simple-object-elf.c (ENOTSUP): If not defined by
errno.h, redirect ENOTSUP to ENOSYS.
2018-06-19 Simon Marchi <simon.marchi@ericsson.com>
* configure.ac: Remove AC_PREREQ.
* configure: Re-generate.
* config.in: Re-generate.
2018-05-30 Jan Hubicka <hubicka@ucw.cz> 2018-05-30 Jan Hubicka <hubicka@ucw.cz>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff