[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-12-02 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

Dimitry Andric  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|In Progress |Closed

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-12-02 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #28 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Wed Dec  2 21:39:58 UTC 2020
New revision: 368285
URL: https://svnweb.freebsd.org/changeset/base/368285

Log:
  MFC r367304:

  Add WITH_LLVM_CXXFILT option to install llvm-cxxfilt as c++filt

  Since elftoolchain's cxxfilt is rather far behind on features, and we
  ran into several bugs, add an option to use llvm-cxxfilt as an drop-in
  replacement.

  It supports the same options as elftoolchain cxxfilt, though it doesn't
  have support for old ARM (C++ Annotated Reference Manual, not the CPU)
  and GNU v2 manglings. But these are irrelevant in 2020.

  Note: as we already compile the required libraries as part of libllvm,
  this will not add any significant build time either.

  PR:   250702
  Reviewed by:  emaste, yuri
  Differential Revision: https://reviews.freebsd.org/D27071

  MFC r367712:

  Ensure make delete-old does not unlink the llvm-cxxfilt and its manpage,
  after r367304 and r367324, when WITH_LLVM_CXXFILT is enabled.

  Noticed by:   "Herbert J. Skuhra" 

Changes:
_U  stable/11/
  stable/11/share/man/man5/src.conf.5
  stable/11/share/mk/src.opts.mk
  stable/11/tools/build/mk/OptionalObsoleteFiles.inc
  stable/11/tools/build/options/WITHOUT_LLVM_CXXFILT
  stable/11/tools/build/options/WITH_LLVM_CXXFILT
  stable/11/usr.bin/Makefile
  stable/11/usr.bin/clang/Makefile
  stable/11/usr.bin/clang/llvm-cxxfilt/Makefile
_U  stable/12/
  stable/12/share/man/man5/src.conf.5
  stable/12/share/mk/src.opts.mk
  stable/12/tools/build/mk/OptionalObsoleteFiles.inc
  stable/12/tools/build/options/WITHOUT_LLVM_CXXFILT
  stable/12/tools/build/options/WITH_LLVM_CXXFILT
  stable/12/usr.bin/Makefile
  stable/12/usr.bin/clang/Makefile
  stable/12/usr.bin/clang/llvm-cxxfilt/Makefile

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #27 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sun Nov  8 00:00:49 UTC 2020
New revision: 367467
URL: https://svnweb.freebsd.org/changeset/base/367467

Log:
  MFC r367323:

  Update libcxxrt's private copy of elftoolchain demangler

  This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with
  the most recent version from upstream r3877. Similar to r367322, this
  fixes a number of possible assertions, and allows it to correctly
  demangle several names that it could not handle before.

  PR:   250702

  MFC r367337:

  Make vector-related functions in libcxxrt's demangler static

  Follow-up to r367323 by re-adding static to a number of the functions
  copied from elftc's libelftc_vstr.c. This was requested by upstream.

  PR:   250702

Changes:
_U  stable/11/
  stable/11/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #26 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sun Nov  8 00:00:49 UTC 2020
New revision: 367467
URL: https://svnweb.freebsd.org/changeset/base/367467

Log:
  MFC r367323:

  Update libcxxrt's private copy of elftoolchain demangler

  This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with
  the most recent version from upstream r3877. Similar to r367322, this
  fixes a number of possible assertions, and allows it to correctly
  demangle several names that it could not handle before.

  PR:   250702

  MFC r367337:

  Make vector-related functions in libcxxrt's demangler static

  Follow-up to r367323 by re-adding static to a number of the functions
  copied from elftc's libelftc_vstr.c. This was requested by upstream.

  PR:   250702

Changes:
_U  stable/11/
  stable/11/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #25 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Nov  7 23:58:01 UTC 2020
New revision: 367466
URL: https://svnweb.freebsd.org/changeset/base/367466

Log:
  Sync up elftoolchain with head, except for the capsicum-related commits,
  which are incompatible with stable/11.

  MFC r308465 (by emaste):

  c++filt: flush output after newline

  Some tools spawn c++filt and pass it a single line at a time for
  demangling. This is akin to r276689 for addr2line.

  Sponsored by: The FreeBSD Foundation

  MFC r317626 (by emaste):

  revert r308465: c++filt: flush output after newline

  The ELF Tool Chain update to r3520 uses setvbuf to set line buffering.

  Sponsored by: The FreeBSD Foundation

  MFC r340746 (by oshogbo):

  strings: fix style nits

  Reviewed by:  cem, emaste, Joseph Koshy 
  Differential Revision:https://reviews.freebsd.org/D18036

  MFC r340750 (by mjg):

  strings: unbreak the build after r340746

  Discussed with:   oshogbo
  Sponsored by: The FreeBSD Foundation

  MFC r342918 (by emaste):

  Update to ELF Tool Chain r3668

  Highlights:
  - Make sure that only TLS sections are sorted into TLS segment.
  - Fixed multiple errors in "Section to Segment mapping".
  - Man page updates
  - ar improvements
  - elfcopy: avoid filter_reloc uninitialized variable for rela
  - elfcopy: avoid stripping relocations from static binaries
  - readelf: avoid printing directory in front of absolute path
  - readelf: add NT_FREEBSD_FEATURE_CTL FreeBSD note type
  - test improvements

  NOTES:

  Some of these changes originated in FreeBSD and simply reduce diffs
  between contrib and vendor.

  ELF Tool Chain ar is not (currently) used in FreeBSD, and there are
  improvements in both FreeBSD and ELF Tool Chain ar that are not in
  the other.

  Sponsored by: The FreeBSD Foundation

  MFC r343592 (by emaste):

  readelf: decode flag bits in DT_FLAGS/DT_FLAGS_1

  Decode d_val when the tag is DT_FLAGS or DT_FLAGS_1 based on the
  information at:

  https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter6-42444.html

  PR:   232983
  Submitted by: Bora Ozarslan borako.ozars...@gmail.com
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D18784

  MFC r343593 (by emaste):

  readelf: fix i386 build

  Use %jx and (uintmax_t) cast.

  PR:   232983
  Sponsored by: The FreeBSD Foundation

  MFC r343614 (by emaste):

  readelf: dump elf note data

  Output format is compatible with GNU readelf's handling of unknown note
  types (modulo a GNU char signedness bug); future changes will add type-
  specific decoding.

  Reviewed by:  kib
  Relnotes: Yes
  Sponsored by: The FreeBSD Foundation

  MFC r343665 (by emaste):

  readelf: use table-based DT_FLAGS and DT_FLAGS_1 decoding

  Fewer lines of code and more maintainable.

  Reviewed by:  brooks, kib
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D19053

  MFC r343669 (by emaste):

  readelf: decode FreeBSD note types

  Decode NT_FREEBSD_ABI_TAG, NT_FREEBSD_ARCH_TAG, and NT_FREEBSD_FEATURE_CTL.

  Reviewed by:  brooks, kib (earlier)
  Relnotes: Yes
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D19054

  MFC r345360 (by oshogbo):

  strings: do not depend on stdin

  Instead of depending on one stdin FILE structure and use freopen(3), pass to
  the functions appropriate FILE structure.

  Reviewed by:  cem
  Discussed with:   emaste
  Differential Revision:https://reviews.freebsd.org/D18037

  MFC r345361 (by oshogbo):

  strings: do not continue if getc or getcharacter returns EOF

  Reported by:  cem

  MFC r345362 (by oshogbo):

  Fix powerpc and arm builds after r345361.

  Reported by:  jenkins

  MFC r345364 (by oshogbo):

  In case of ENCODING_8BIT the EOF code will be pass to putchar.
  EOF check should be done before (uint8_t)c > 127 test.

  Reported by:  cem

  MFC r345431 (by oshogbo):

  strings: return an error code and the char value separately

  If we returning 32 bits value it's hard to distinguish if the returned value
  is a valid one or if its an error (in case of EOF). For that reason separate
  exit code of the function from the returned character.

  Reported by:  cem, se

  MFC r345593 (by markj):

  Prepend DW_AT_comp_dir to relative line number directory table entries.

  Relative directories may appear in the line number program for a CPU if
  files were included via a relative path, for instance with "-I.".
  Previously, dwarf_srclines(3) and dwarf_srcfiles(3) would return the
  relative path, so addr2line, for instance, would do the same.  However,
  we can get an absolute path by prepending the compilation directory, so
  change libdwarf to do that to improve compatibility with GNU binutils
  and since it is more useful in 

[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #23 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Nov  7 19:57:20 UTC 2020
New revision: 367463
URL: https://svnweb.freebsd.org/changeset/base/367463

Log:
  MFC r367323:

  Update libcxxrt's private copy of elftoolchain demangler

  This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with
  the most recent version from upstream r3877. Similar to r367322, this
  fixes a number of possible assertions, and allows it to correctly
  demangle several names that it could not handle before.

  PR:   250702

  MFC r367337:

  Make vector-related functions in libcxxrt's demangler static

  Follow-up to r367323 by re-adding static to a number of the functions
  copied from elftc's libelftc_vstr.c. This was requested by upstream.

  PR:   250702

Changes:
_U  stable/12/
  stable/12/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #24 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Nov  7 19:57:20 UTC 2020
New revision: 367463
URL: https://svnweb.freebsd.org/changeset/base/367463

Log:
  MFC r367323:

  Update libcxxrt's private copy of elftoolchain demangler

  This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with
  the most recent version from upstream r3877. Similar to r367322, this
  fixes a number of possible assertions, and allows it to correctly
  demangle several names that it could not handle before.

  PR:   250702

  MFC r367337:

  Make vector-related functions in libcxxrt's demangler static

  Follow-up to r367323 by re-adding static to a number of the functions
  copied from elftc's libelftc_vstr.c. This was requested by upstream.

  PR:   250702

Changes:
_U  stable/12/
  stable/12/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-07 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #22 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Nov  7 19:55:07 UTC 2020
New revision: 367462
URL: https://svnweb.freebsd.org/changeset/base/367462

Log:
  Sync up elftoolchain with head, except for the capsicum-related commits,
  which are incompatible with stable/12.

  MFC r345360 (by oshogbo):

  strings: do not depend on stdin

  Instead of depending on one stdin FILE structure and use freopen(3), pass to
  the functions appropriate FILE structure.

  Reviewed by:  cem
  Discussed with:   emaste
  Differential Revision:https://reviews.freebsd.org/D18037

  MFC r345361 (by oshogbo):

  strings: do not continue if getc or getcharacter returns EOF

  Reported by:  cem

  MFC r345362 (by oshogbo):

  Fix powerpc and arm builds after r345361.

  Reported by:  jenkins

  MFC r345364 (by oshogbo):

  In case of ENCODING_8BIT the EOF code will be pass to putchar.
  EOF check should be done before (uint8_t)c > 127 test.

  Reported by:  cem

  MFC r345431 (by oshogbo):

  strings: return an error code and the char value separately

  If we returning 32 bits value it's hard to distinguish if the returned value
  is a valid one or if its an error (in case of EOF). For that reason separate
  exit code of the function from the returned character.

  Reported by:  cem, se

  MFC r346323 (by emaste):

  readelf: speed up readelf -wo

  Use an array instead of STAILQ, and sort at the end instead of while
  adding new elements.

  PR:   212539
  Submitted by: Bora ?zarslan 
  Reviewed by:  markj
  Sponsored by: The FreeBSD Foundation

  MFC r346327 (by emaste):

  readelf: use size_t for object counts

  PR:   212539
  Reported by:  cem
  Sponsored by: The FreeBSD Foundation

  MFC r348776 (by csjp):

  Teach readelf about some OpenBSD ELF program headers

  - Add constants for OpenBSD wxneeded, bootdata and randomize to the
FreeBSD elf_common.h file. This is the file that gets used by the
elftoolchain library.
  - Update readelf and elfdump utilities to decode these program headers
if they are encountered.

  Note: FreeBSD has it's own version of elfdump(1), which will be updated
  in a subsequent commit. I am adding it here anyway because this diff is
  going to be submitted upstream.

  Discussed with:   emaste
  Reviewed by:  imp
  MFC afer: 2 weeks
  Differential Revision:https://reviews.freebsd.org/D20548

  Mcontrib/elftoolchain/elfdump/elfdump.c
  Mcontrib/elftoolchain/readelf/readelf.c
  Msys/sys/elf_common.h

  MFC r349510 (by luporl):

  [PowerPC64] readelf: print description for 'e_flags' in ELF header (ABI type)

  This prints out description text with the meaning of 'Flags' value in
PowerPC64.

  Example:

  $ readelf -h ~/tmp/t1-Flag2
  ELF Header:

  Magic:   7f 45 4c 46 02 02 01 09 00 00 00 00 00 00 00 00
  Class: ELF64
  Data:  2's complement, big endian
  Version:   1 (current)
  OS/ABI:FreeBSD
  ABI Version:   0
  Type:  EXEC (Executable file)
  Machine:   PowerPC 64-bit
  Version:   0x1
  Entry point address:   0x1001
  Start of program headers:  64 (bytes into file)
  Start of section headers:  209368 (bytes into file)
  Flags: 0x2, OpenPOWER ELF V2 ABI
  Size of this header:   64 (bytes)
  Size of program headers:   56 (bytes)
  Number of program headers: 10
  Size of section headers:   64 (bytes)
  Number of section headers: 34
  Section header string table index: 31

  Submitted by:  alfredo.junior_eldorado.org.br
  Reviewed by:  luporl
  Differential Revision:https://reviews.freebsd.org/D20782

  MFC r350511 (by emaste):

  readelf: decode NT_GNU_PROPERTY_TYPE_0 / GNU_PROPERTY_X86_FEATURE_1_AND

  These bits are used for Intel CET IBT/Shadow Stack.

  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D20516

  MFC r354544 (by emaste):

  elfcopy/strip: Ensure sections have required alignment on output

  Object files may specify insufficient alignment on certain sections, for
  example due to a bug in NASM[1].  When we detect that case in elfcopy or
  strip, emit a warning and increase the alignment to the minimum
  required.

  The NASM bug was fixed in 2015[2], but we might as well have this fixup
  (and warning) in elfcopy in case we encounter such a file for any other
  reason.

  This might be reworked somewhat upstream - see ELF Tool Chain
  ticket 485[3].

  [1] https://bugzilla.nasm.us/show_bug.cgi?id=3392307
  [2]
https://repo.or.cz/w/nasm.git/commit/1f0cb0f2c1ba632c0fab02424928cfb756a9160c
  [3] https://sourceforge.net/p/elftoolchain/tickets/485/

  

[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-04 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #21 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Wed Nov  4 17:51:10 UTC 2020
New revision: 367337
URL: https://svnweb.freebsd.org/changeset/base/367337

Log:
  Make vector-related functions in libcxxrt's demangler static

  Follow-up to r367323 by re-adding static to a number of the functions
  copied from elftc's libelftc_vstr.c. This was requested by upstream.

  PR:   250702
  MFC after:3 days

Changes:
  head/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-04 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

Dimitry Andric  changed:

   What|Removed |Added

  Flags||mfc-stable12+,
   ||mfc-stable11+
 Status|New |In Progress

--- Comment #20 from Dimitry Andric  ---
The original assertions in elftoolchain cxxfilt have been patched as much as
possible, though it still does not support unnamed types or lambdas.

An option has been added to replace c++filt with llvm-cxxfilt, and this option
has been turned on by default for -CURRENT. If this causes no trouble, I will
MFC all the changes to stable/11 and stable/12.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-04 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #19 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Wed Nov  4 11:23:20 UTC 2020
New revision: 367324
URL: https://svnweb.freebsd.org/changeset/base/367324

Log:
  Turn on WITH_LLVM_CXXFILT by default

  LLVM's demangler supports more modern C++ constructs such as lambdas and
  unnamed types, and is actively maintained. The command line tool is
  usable as a drop-in replacement for GNU c++filt, or elftoolchain's
  cxxfilt. The latter is still available by using WITHOUT_LLVM_CXXFILT, if
  needed.

  PR:   250702
  MFC after:2 weeks

Changes:
  head/share/man/man5/src.conf.5
  head/share/mk/src.opts.mk

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-04 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #18 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Wed Nov  4 11:13:36 UTC 2020
New revision: 367323
URL: https://svnweb.freebsd.org/changeset/base/367323

Log:
  Update libcxxrt's private copy of elftoolchain demangler

  This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with
  the most recent version from upstream r3877. Similar to r367322, this
  fixes a number of possible assertions, and allows it to correctly
  demangle several names that it could not handle before.

  PR:   250702
  MFC after:3 days

Changes:
  head/contrib/libcxxrt/libelftc_dem_gnu3.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-04 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #17 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Wed Nov  4 11:02:05 UTC 2020
New revision: 367322
URL: https://svnweb.freebsd.org/changeset/base/367322

Log:
  Merge elftoolchain r3877 (by jkoshy):

Incorporate fixes from Dimitry Andric:

- Use a BUFFER_GROW() macro to avoid rounding errors in capacity
  calculations.
- Fix a bug introduced in [r3531].
- Fix handling of nested template parameters.

Ticket: #581

  This should fix a number of assertions on elftoolchain's cxxfilt, and
  allow it to correctly demangle several names that it could not handle
  before.

  Obtained from:https://sourceforge.net/p/elftoolchain/code/3877/
  PR:   250702
  MFC after:3 days

Changes:
  head/contrib/elftoolchain/libelftc/_libelftc.h
  head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c
  head/contrib/elftoolchain/libelftc/libelftc_vstr.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-03 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #16 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Tue Nov  3 19:57:30 UTC 2020
New revision: 367304
URL: https://svnweb.freebsd.org/changeset/base/367304

Log:
  Add WITH_LLVM_CXXFILT option to install llvm-cxxfilt as c++filt

  Since elftoolchain's cxxfilt is rather far behind on features, and we
  ran into several bugs, add an option to use llvm-cxxfilt as an drop-in
  replacement.

  It supports the same options as elftoolchain cxxfilt, though it doesn't
  have support for old ARM (C++ Annotated Reference Manual, not the CPU)
  and GNU v2 manglings. But these are irrelevant in 2020.

  Note: as we already compile the required libraries as part of libllvm,
  this will not add any significant build time either.

  PR:   250702
  Reviewed by:  emaste, yuri
  Differential Revision: https://reviews.freebsd.org/D27071
  MFC after:2 weeks

Changes:
  head/share/man/man5/src.conf.5
  head/share/mk/src.opts.mk
  head/tools/build/options/WITHOUT_LLVM_CXXFILT
  head/tools/build/options/WITH_LLVM_CXXFILT
  head/usr.bin/Makefile
  head/usr.bin/clang/Makefile
  head/usr.bin/clang/llvm-cxxfilt/Makefile

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-02 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #15 from Ed Maste  ---
(In reply to Dimitry Andric from comment #14)
> That said, it might be more future-proof if we import libcxxabi from
> the llvm project into contrib, and start building that, at least
> for its demangler support.

Indeed, I've thought about doing that at least for c++filt even if we don't use
it for the C++ runtime. We already have a copy of the libcxxabi demangler being
used in lldb.

That said it's still worth fixing as many of the elftc demangler issues as we
can.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-02 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #14 from Dimitry Andric  ---
(In reply to Yuri Victorovich from comment #13)
Yes, the elftoolchain demangler misses a few more modern features, and its
development does not seem very active. (Not necessarily for the other parts of
elftoolchain such as libelf, btw.)

That said, with the fixes I've proposed for upstream, only the lambda examples
don't demangle correctly, but the rest does. E.g. I now get:

_ZZ5func1vENK3$_0clEv ->
func1()::$_0::operator()() const

_ZZN7WebCore19SVGAnimatedProperty20LookupOrCreateHelperINS_32SVGAnimatedStaticPropertyTearOffIbEEbLb1EE21lookupOrCreateWrapperEPNS_10SVGElementEPKNS_15SVGPropertyInfoERbE19__PRETTY_FUNCTION__
->
WebCore::SVGAnimatedProperty::LookupOrCreateHelper,
bool, true>::lookupOrCreateWrapper(WebCore::SVGElement*,
WebCore::SVGPropertyInfo const*, bool&)::__PRETTY_FUNCTION__

_ZNSt3__116__copy_unalignedINS_6vectorIbNS_9allocatorIbLb0EEENS_14__bit_iteratorIT_Lb0EXLi0NS5_IS6_XT0_EXLi0S8_S7_
->
std::__1::__bit_iterator
std::__1::__copy_unaligned >,
false>(std::__1::__bit_iterator, 0>,
std::__1::__bit_iterator, 0>,
std::__1::__bit_iterator)

_ZZN10half_float6detail15half2float_implEjfNSt3__117integral_constantIbLb114exponent_table
->
half_float::detail::half2float_impl(unsigned int, float,
std::__1::integral_constant)::exponent_table


So the remaining one is:

_ZZN9libunwind17LocalAddressSpace18findUnwindSectionsEjRNS_18UnwindInfoSectionsEENUlP12dl_phdr_infojPvE_8__invokeES4_jS5_

That said, it might be more future-proof if we import libcxxabi from the llvm
project into contrib, and start building that, at least for its demangler
support. At some point it might even replace libcxxrt, or serve as a drop-in
replacement.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-01 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #13 from Yuri Victorovich  ---
On this testcase c++filt doesn't assert but doesn't decode the symbol either:
_ZNSt3__116__copy_unalignedINS_6vectorIbNS_9allocatorIbLb0EEENS_14__bit_iteratorIT_Lb0EXLi0NS5_IS6_XT0_EXLi0S8_S7_

c++filt from the binutils package does decode it correctly.

Overall c++filt from the base is quite far behind of the c++filt from the
binutils package in terms of stability and symbol support.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-01 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

--- Comment #12 from Yuri Victorovich  ---
Here is another symbol that causes the assertion:
_ZZN10half_float6detail15half2float_implEjfNSt3__117integral_constantIbLb114exponent_table
(from the object file merge-dequantize-operators.cpp.o from the port
misc/nn-insight).

This one is not for a lambda function.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function

2020-11-01 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702

Yuri Victorovich  changed:

   What|Removed |Added

Summary|c++filt crashes on a|c++filt crashes on a symbol
   |particular symbol   |representing a C++ lambda
   ||function

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"