Sync libiberty with upstream GCC.
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 11 Oct 2014 09:29:10 +0000 (10:29 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Sat, 11 Oct 2014 09:29:10 +0000 (10:29 +0100)
commitb55f967878a4f7905f78b05a9c37457797b1c7ed
tree73b2c4359c9138b5fcdf2675a3bcbf363b9fc2b0
parent754dd2b00f2bd3f2d7aaacdb27375bc6faf1458e
Sync libiberty with upstream GCC.

include/ChangeLog
* libiberty.h (PEX_STDOUT_APPEND): New flag.
(PEX_STDERR_APPEND): Likewise.

* demangle.h (DMGL_DLANG): New macro.
(DMGL_STYLE_MASK): Add DMGL_DLANG.
(demangling_styles): Add dlang_demangling.
(DLANG_DEMANGLING_STYLE_STRING): New macro.
(DLANG_DEMANGLING): New macro.
(dlang_demangle): New prototype.

* longlong.h: Add __udiv_w_sdiv prototype.

libiberty/ChangeLog
* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.

* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
* pex-unix.c (pex_unix_open_write): Add support for new parameter.
* pex-djgpp.c (pex_djgpp_open_write): Likewise.
* pex-win32.c (pex_win32_open_write): Likewise.
* pex-common.c (pex_run_in_environment): Likewise.

* Makefile.in (CFILES): Add d-demangle.c.
(REQUIRED_OFILES): Add d-demangle.o.
* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
(cplus_demangle): Likewise.
* d-demangle.c: New file.
* testsuite/Makefile.in (really-check): Add check-d-demangle.
* testsuite/d-demangle-expected: New file.

* simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
handle objects with more than SHN_LORESERVE sections.
(simple_object_elf_write_shdr): Add sh_link parameter.
(simple_object_elf_write_to_file): Correctly handle objects with
more than SHN_LORESERVE sections.

* cp-demangle.c (d_dump): Only access field from s_fixed part of
the union for DEMANGLE_COMPONENT_FIXED_TYPE.
(d_count_templates_scopes): Likewise.

* testsuite/demangler-fuzzer.c: New file.
* testsuite/Makefile.in (fuzz-demangler): New rule.
(demangler-fuzzer): Likewise.
(mostlyclean): Clean up demangler fuzzer.
19 files changed:
include/ChangeLog
include/demangle.h
include/libiberty.h
include/longlong.h
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/cp-demangle.c
libiberty/cplus-dem.c
libiberty/d-demangle.c [new file with mode: 0644]
libiberty/pex-common.c
libiberty/pex-common.h
libiberty/pex-djgpp.c
libiberty/pex-unix.c
libiberty/pex-win32.c
libiberty/simple-object-elf.c
libiberty/testsuite/Makefile.in
libiberty/testsuite/d-demangle-expected [new file with mode: 0644]
libiberty/testsuite/demangle-expected
libiberty/testsuite/demangler-fuzzer.c [new file with mode: 0644]