BetterDietlibc
Launchpad entry: https://blueprints.launchpad.net/ubuntu/+spec/better-dietlibc
Created: Date(2007-11-10T14:29:18Z) by LucaFalavigna
Contributors: LucaFalavigna
Packages affected: dietlibc and its reverse build depends
Summary
dietlibc source package is compiled without stack protector flag to fix a FTBFS since 0.30-1ubuntu2 in Edgy. This generated some issues on several packages, which suffer segfaults or do not even compile. Hardy should fix dietlibc implementation and make packages depending on it usable again.
Also, lpia port is not implemented yet. It should be useful to provide it to compile packages for this port too.
Rationale
There are several packages which build-depend on this package and have open issues:
- FTBFS:
- bglibs
- libdjbdns
- runit
- Segmentation fault while executing:
- integrit
- slidentd
- util-vserver
Additionally, some packages do not build on lpia since this port is not available in dietlibc
Use cases
These are real issues reported in Launchpad:
[https://bugs.launchpad.net/ubuntu/+source/integrit/+bug/82023 bug #82023 in integrit]
[https://bugs.launchpad.net/ubuntu/+source/slidentd/+bug/86823 bug #86823 in slidentd]
[https://bugs.launchpad.net/ubuntu/+source/util-vserver/+bug/88595 bug #88595 in util-vserver]
Scope
This specification is meant to fix dietlibc to build against current toolchain without harming packages which build-depend on it. They are:
- bglibs
- cryopid
- cvm
- fgetty
- fnord
- integrit
- libdjbdns
- libowfat
- matrixssl
- minit
- runit
- skalibs
- slidentd
- utf8script
- util-vserver
Design
It should be possible to have a safe dietlibc without introducing additional changes in several packages. A possibile solution is playing with dietfeatures.h and WANT_SSP, which should be turned on by default, and -fno-stack-protector, which seems responsible of this wrong behaviour.
Implementing lpia port requires several changes and inclusion of new files, but it should be easier since we already have i386 port, which could be used as a starting point.
Implementation
I uploaded testing packages on [https://launchpad.net/~dktrkranz/+archive my PPA] for testing purposes.