Re: Bug#1115241: libsigc++-3.0-0 has executable stack on hppa
This should now be fixed. libsigc++-3.0 was just rebuilt with a newer version of gcc
which enables use of GNU stack notes. All active versions of gcc now enable GNU stack
notes on hppa.
Sadly, I've had to rebuild many packages to fix this issue in other packages.
Dave
On 2025-09-14 8:36 a.m., Mattias Ellert wrote:
> Package: libsigc++-3.0-0
> Version: 3.6.0-2
> Severity: normal
> User: debian-hppa@lists.debian.org
> Usertags: hppa
> X-Debbugs-CC: debian-hppa@lists.debian.org
> Control: affects -1 src:nordugrid-arc
>
> The nordugrid-arc package FTBFS on hppa because the python bindings can
> not be loaded during testing due to libsigc++-3.0-0 having an
> executable stack on this architecture:
>
> (sid_hppa-dchroot)ellert@panama:~/arc/nordugrid-arc-7.1.0/python/test/python$ PYTHONPATH=../../python:../../python/arc/.libs python3
> Python 3.13.7 (main, Aug 20 2025, 22:17:40) [GCC 14.3.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import _arc
> Traceback (most recent call last):
> File "<python-input-0>", line 1, in <module>
> import _arc
> ImportError: libsigc-3.0.so.0: cannot enable executable stack as shared object requires: Invalid argument
>
> This can also be seen using readelf.
>
> $ readelf -l /usr/lib/hppa-linux-gnu/libsigc-3.0.so.0.0.0
>
> Elf file type is DYN (Shared object file)
> Entry point 0x0
> There are 6 program headers, starting at offset 52
>
> Program Headers:
> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
> LOAD 0x000000 0x00000000 0x00000000 0x0bf21 0x0bf21 R E 0x1000
> LOAD 0x00c000 0x0000c000 0x0000c000 0x00600 0x0060c RWE 0x1000
> DYNAMIC 0x00c164 0x0000c164 0x0000c164 0x000f8 0x000f8 RW 0x4
> NOTE 0x0000f4 0x000000f4 0x000000f4 0x00024 0x00024 R 0x4
> GNU_EH_FRAME 0x00ad38 0x0000ad38 0x0000ad38 0x0034c 0x0034c R 0x4
> GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x10
>
> Section to Segment mapping:
> Segment Sections...
> 00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .PARISC.unwind .eh_frame_hdr .eh_frame .gcc_except_table
> 01 .init_array .fini_array .data.rel.ro .dynamic .data .plt .got .bss
> 02 .dynamic
> 03 .note.gnu.build-id
> 04 .eh_frame_hdr
> 05
>
> $ dpkg -S /usr/lib/hppa-linux-gnu/libsigc-3.0.so.0.0.0
> libsigc++-3.0-0:hppa: /usr/lib/hppa-linux-gnu/libsigc-3.0.so.0.0.0
>
>
> Compare ro e.g. x86_64 where the stack is not market RWE, but only RW:
>
> $ readelf -l /usr/lib/x86_64-linux-gnu/libsigc-3.0.so.0.0.0
>
> Elf-filtyp är DYN (delad objektfil)
> Ingångspunkt 0x0
> Det finns 9 programhuvuden, med början på avståndet 64
>
> Programhuvuden:
> Typ Offset VirtAdr FysAdr
> FilStrl MinneStrl Flagg Just
> LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
> 0x0000000000003ac0 0x0000000000003ac0 R 0x1000
> LOAD 0x0000000000004000 0x0000000000004000 0x0000000000004000
> 0x0000000000003605 0x0000000000003605 R E 0x1000
> LOAD 0x0000000000008000 0x0000000000008000 0x0000000000008000
> 0x00000000000018c4 0x00000000000018c4 R 0x1000
> LOAD 0x0000000000009a48 0x000000000000aa48 0x000000000000aa48
> 0x00000000000005d0 0x00000000000005d8 RW 0x1000
> DYNAMIC 0x0000000000009b98 0x000000000000ab98 0x000000000000ab98
> 0x0000000000000210 0x0000000000000210 RW 0x8
> NOTE 0x0000000000000238 0x0000000000000238 0x0000000000000238
> 0x0000000000000024 0x0000000000000024 R 0x4
> GNU_EH_FRAME 0x00000000000081b8 0x00000000000081b8 0x00000000000081b8
> 0x00000000000003fc 0x00000000000003fc R 0x4
> GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
> 0x0000000000000000 0x0000000000000000 RW 0x10
> GNU_RELRO 0x0000000000009a48 0x000000000000aa48 0x000000000000aa48
> 0x00000000000005b8 0x00000000000005b8 R 0x1
>
> Sektion till segment-avbildning:
> Segmentsektioner...
> 00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
> 01 .init .plt .plt.got .text .fini
> 02 .rodata .eh_frame_hdr .eh_frame .gcc_except_table
> 03 .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
> 04 .dynamic
> 05 .note.gnu.build-id
> 06 .eh_frame_hdr
> 07
> 08 .init_array .fini_array .data.rel.ro .dynamic .got
>
>
> Mattias Ellert
--
John David Anglin dave.anglin@bell.net
Reply to: