Submitting back Debian patches
Thorsten Glaser <[email protected]> Sun, 4 Dec 2011 17:48:22 +0000 (UTC)
| Newsgroups | gmane.linux.lib.dietlibc |
|---|---|
| Message-ID | <[email protected]> |
Update: due to barf/contenttype, nothing attached, at
http://anonscm.debian.org/gitweb/?p=collab-maint/dietlibc.git;a=tree;f=debian/patches;h=a3a34ae5face9357cbcfb0315b9dc50766b2a5d2;hb=ddb40717d18d5c86616551907487ae4e08f3ec81
you’ll find them.
Hi,
please find attached a tarball of all patches against
dietlibc 2011-11-08 (CVS HEAD). They work find on all
supported Debian platforms (unstable) plus arm/lenny,
which was OABI, and all supported Debian-Ports archi‐
tectures; they show promising results on *buntu, too.
I’ll write a few words about each patch TTBOMK.
Architecture mapping:
• amd64 ⇒ x86_64
• powerpc ⇒ ppc
• hppa ⇒ parisc
• mipsel ⇒ mips
• arm, armeb (unused), armel, armhf ⇒ arm
We do not build dynamic/PIC code at all, so there are
probably still bugs left.
Building mksh against dietlibc then running its test‐
suite has proven a good compiler/toolchain/libc test.
→→→ parisc/strstr.S is broken and m̲u̲s̲t̲ be removed ←←←
(fails when &(second argument) & 0xF == 0xC), but the
generic C version works just fine.
I can’t say much but summarise the following patches:
0002: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346437
0003: I have no idea.
0004: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286825
0005: should be self-explanatory, don't abuse $HOME
0006: disable SSP (acceptable to keep this Debian-local)
0007: implements SHM for hppa
0008: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394928
0009: seems to be a workaround for a gcc bug / unportability
0010: fix alignment
0011: beats me
0012: seems to be related
0014: seems to be cpp OS predefined macro recognition fixing
0013: I’m strongly opposed to this patch, as sparc ≠ sparc64, but
it appears this fixes some things in Debian (no idea whether
others break now; apparently, post-etch Debian requires a
v8+/v9 CPU anyway, but still IMHO v9 code belongs into a
sparc64 architecture and sparc should have v7/v8 or v8+).
0017: disable building with ProPolice, as we disabled SSP in 0006;
this should probably be made dependent on whether SSP is
enabled or disabled in dietfeatures.h (this probably means
to remove the #define from dietfeatures.h and put the whole
logic plus a CPPFLAGS+=-DWANT_SSP into the Makefile)
0018: gnroff -Tutf8 issues ‐ (U+2010) for - so use \- which DTRT
0020: Héctor added these, AFAIK from Enrico Scholz
0021: partial s390 fixes
0023: ppc64 fixes
0024: this is crucial for *buntu breakage in their gcc defaults:
if dietlibc is built without WANT_SSP we *must* pass
-fno-stack-protector to gcc from diet, otherwise executables
will segfault (apparently, “modern” SSP relies on GS setup)
0025: Enrico used .set but that is not portable across supported
platforms, neither is .equ, but “a = b” works
0026: omit stripping binaries; Debian magic does that for us iff
“nostrip” is not requested (Policy conformance); I have no
idea how to best handle this upstream (BSD makefiles define
INSTALL_STRIP?=-s and allow overriding it – you might want
something similar), but it’s fine to keep this Debian-local
0027: both update comment on the ARM mmap() code which applied
only to the OABI version, and fix the EABI version (add
interworking support)
0028: you might shout or cry, but this is, apparently, the only
working, portable (across gcc, pcc and clang, at least)
way to define ssize_t properly, as derived from size_t;
otherwise you might get one of the two types being an int
and the other a long (on ILP32 architectures), which in
turn makes gcc -Wformat complain loudly (justified)
0029: remove several instances of !WANT_SMALL_STRING_ROUTINES
code because that can access past the allocation, which
would break (imagine malloc() using mmap(), you allocate
a pagesize then run strlen() on it and don’t want the
access running over into the next (unallocated) page);
this really fixes segfaults I’ve seen
0030: those gcc <censored /> rely on utility functions for
long double support on several platforms but don’t add
that code to libgcc, which results in link failures if
the libc used doesn’t provide them; apply at leat the
strtod.c part please, Makefile.add can stay Debian-local
0031: fixes the tail call used in s390/s390x sigsetjmp assembly
bye,
//mirabilos
--
Support mksh as /bin/sh and RoQA dash NOW!
‣ src:bash (241 (259) bugs: 0 RC, 168 (182) I&N, 73 (77) M&W, 0 F&P)
‣ src:dash (71 (81) bugs: 3 RC, 27 (30) I&N, 41 (48) M&W, 0 F&P)
‣ src:mksh (1 bug: 0 RC, 0 I&N, 1 M&W, 0 F&P)
http://qa.debian.org/data/bts/graphs/d/dash.png is pretty red, innit?