[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-14 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 Thomas Neumann changed: What|Removed |Added Attachment #57679|0 |1 is obsolete|

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-12 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 Thomas Neumann changed: What|Removed |Added Attachment #57675|0 |1 is obsolete|

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-11 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 Thomas Neumann changed: What|Removed |Added Attachment #57669|0 |1 is obsolete|

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-11 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 --- Comment #11 from Thomas Neumann --- Created attachment 57669 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57669=edit patch to handle overlapping ranges Does this patch fix the problem for you? I think it should, but I would really

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-11 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 --- Comment #9 from Thomas Neumann --- I will check how we can handle such a situation. But how did this happen to begin with? Is this regular code or did you do anything special? I am puzzled how the unwinding table can be placed like that.

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-11 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 --- Comment #7 from Thomas Neumann --- Is it correct that in your case range[0]

[Bug libgcc/111731] [13/14 regression] gcc_assert is hit at libgcc/unwind-dw2-fde.c#L291

2024-03-11 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 --- Comment #4 from Thomas Neumann --- It looks like the code does not find an unwind frame when de-registering an exception handler. Are you sure that you do not de-register a dynamic frame twice? Otherwise I would need a way to reproduce the

[Bug libgcc/110956] [13/14 regression] gcc_assert is hit at gcc-13.2.0/libgcc/unwind-dw2-fde.c#L291 with some special library

2023-08-10 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110956 --- Comment #8 from Thomas Neumann --- Created attachment 55715 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55715=edit patch to use the correct base pointer The attached patch fixes the test case by using the correct base pointer

[Bug libgcc/110956] [13/14 regression] gcc_assert is hit at gcc-13.2.0/libgcc/unwind-dw2-fde.c#L291 with some special library

2023-08-09 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110956 --- Comment #7 from Thomas Neumann --- Thanks for the pointer, I could reproduce the problem in a VM now. That shared library uses an usual table encoding that has to reference the original base pointer within get_pc_range. But when

[Bug libgcc/110956] [13/14 regression] gcc_assert is hit at gcc-13.2.0/libgcc/unwind-dw2-fde.c#L291 with some special library

2023-08-09 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110956 --- Comment #5 from Thomas Neumann --- The assert itself is old, it was just updated due to code changes. And asserting there makes sense, if we keep an old frame around we might see a crash later during unwinding if the unwinder tries to

[Bug libgcc/110955] SIGSEGV in libgcc_s.so.1`classify_object_over_fdes+0x140 on Solaris SPARC with GCC 13 runtime

2023-08-09 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110955 --- Comment #4 from Thomas Neumann --- I am not sure what caused that, but in GCC 13 the unwinding logic now looks into the table when registering the frame, while previously the table was only inspected on the first exception. Which means we

[Bug libgcc/110956] gcc_assert is hit at gcc-13.2.0/libgcc/unwind-dw2-fde.c#L291 with some special library

2023-08-09 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110956 --- Comment #1 from Thomas Neumann --- The assert says that the code tries to de-register a frame that it did not register before or that was deregistered before. If you see that failing you might want to add some print statements to

[Bug libgcc/109685] [13/14 Regression] Memory leak in `__deregister_frame`

2023-07-27 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109685 --- Comment #6 from Thomas Neumann --- > GCC 13.2 is being released, retargeting bugs to GCC 13.3. the bug should be closed as fixed, the bug fix is already in the 13.2 branch. (I do not have permissions to do that, though).

[Bug libgcc/109670] [13/14 regression] Exception handling broken for 32-bit Windows

2023-07-12 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109670 --- Comment #19 from Thomas Neumann --- I think we can close this bug as fixed, but I do not have permissions to do that.

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 --- Comment #26 from Thomas Neumann --- (In reply to Florian Weimer from comment #23) > > u is the original read pointer as far as I can see. So it looks like it > should look like this: > > diff --git a/libgcc/unwind-dw2-fde-dip.c

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 --- Comment #21 from Thomas Neumann --- It must be something more complex. value is small here (more precisely: 1888 in the crashes later), which is not a valid pointer address. We probably have to add this to some base pointer? But it is not

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 --- Comment #19 from Thomas Neumann --- Hm, then I don't know how we end up with the non-regular table content. The code checks for hdr->fde_count_enc != DW_EH_PE_omit, and that is false in the executable that you provided. But regardless of

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 --- Comment #17 from Thomas Neumann --- The bug was introduced by gcc commit e724b04. It avoids calls to read_encoded_value_with_base for performance reasons, but unfortunately this causes the variable eh_frame to be uninitialized if the fast

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 Thomas Neumann changed: What|Removed |Added CC||fweimer at redhat dot com --- Comment

[Bug libgcc/109712] Segmentation fault in linear_search_fdes

2023-06-05 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712 --- Comment #14 from Thomas Neumann --- I cannot reproduce the problem, but admittedly I used a newer Ubuntu version. I tried compiling it with gcc 7.5.0, linking it with gold 1.16, and using the gcc version you specified (07c52d1eec9) for the

[Bug libgcc/109670] [13/14 regression] Exception handling broken for 32-bit Windows

2023-05-10 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109670 --- Comment #12 from Thomas Neumann --- Created attachment 55037 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55037=edit radix sort fix I could reproduce the problem, the radix sort did not behave correctly when we ran out of bits,

[Bug libgcc/109670] Exception handling broken for 32bit Windows starting with GCC 13

2023-05-08 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109670 --- Comment #10 from Thomas Neumann --- (In reply to LIU Hao from comment #9) > GDB is affected, too: I will debug that. That is easier to build than Ada. Strange that it only affects 32bit Windows. I will take a look.

[Bug libgcc/109670] Exception handling broken for 32bit Windows starting with GCC 13

2023-05-08 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109670 --- Comment #8 from Thomas Neumann --- Do you by chance an Ada-enabled WIN32 toolchain somewhere that I can use to build gcc with? Or an script on how to do that? I have not managed to reproduce the problem yet, unfortunately, because I could

[Bug libgcc/109685] [13/14 Regression] Memory leak in `__deregister_frame`

2023-05-02 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109685 --- Comment #2 from Thomas Neumann --- I can reproduce the issue. The attached patch fixes the problem, I will send it for reviewing.

[Bug libgcc/109685] [13/14 Regression] Memory leak in `__deregister_frame`

2023-05-02 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109685 --- Comment #1 from Thomas Neumann --- Created attachment 54969 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54969=edit fix for the issue

[Bug libgcc/107675] [13 Regression] GCC-13 is significantly slower to startup on C++ statically linked programs

2022-12-16 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107675 --- Comment #16 from Thomas Neumann --- I have committed a fix: commit 6e56633daae79f514b0e71f4d9849bcd8d9ce71f Author: Thomas Neumann Date: Fri Dec 9 18:23:44 2022 +0100 initialize fde objects lazily When registering an unwind

[Bug libgcc/107675] [13 Regression] GCC-13 is significantly slower to startup on C++ statically linked programs

2022-12-09 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107675 --- Comment #15 from Thomas Neumann --- > You cannot use 'relaxed' atomic load in is_object_initialized - as thread > performing such load will not observe/synchronize with any modifications > (other than atomic variable itself) performed by

[Bug libgcc/107026] [13 Regression] gcc_assert (in_shutdown || ob); build failure for i586-msdosdjgpp target

2022-09-26 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107026 --- Comment #9 from Thomas Neumann --- Yes, commit 386ebf75f4c0342b1f823f4e4aba07abda3288d1 fixes the assert.

[Bug libgcc/107026] [13 Regression] gcc_assert (in_shutdown || ob); build failure for i586-msdosdjgpp target

2022-09-25 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107026 --- Comment #6 from Thomas Neumann --- I have a patch ready, I am waiting for approval: https://gcc.gnu.org/pipermail/gcc-patches/2022-September/602130.html When using the atomic fast path deregistering can fail during program shutdown if the

[Bug libgcc/89714] allow for overriding the thread-detection mechanism

2020-11-23 Thread tneumann at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89714 --- Comment #3 from Thomas Neumann --- Perhaps the header files could be changed to react to _REENTRANT, as that seems to be the define that is set by gcc when requesting threading support. The redundant checks within the shared library are