[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Patches] Differences between glibc and EGLIBC
- To: <patches@xxxxxxxxxx>
- Subject: Re: [Patches] Differences between glibc and EGLIBC
- From: "Joseph S. Myers" <joseph@xxxxxxxxxxxxxxxx>
- Date: Wed, 1 May 2013 20:03:26 +0000
Here is a further updated version of my list
<http://www.eglibc.org/archives/patches/msg01208.html> of changes
between glibc and EGLIBC that should be got into glibc (possibly in a
reworked form not based on the original patch, but implementing the
desired featuers) or reverted from EGLIBC if they no longer serve a
useful purpose. It would still be useful for more people to help
picking up patches and working on getting the associated features into
Miscellaneous changes (that should not be too much effort to get in)
include the following (as usual, look at the current version in EGLIBC
after merges from upstream and any bugfixes made in EGLIBC, which may
differ from the originally committed version). In some cases, if it
can clearly be justified that the change is no longer relevant, it
should be reverted.
1. dl-profile.c here_cg_arc_record alignment (r1699; see
<http://www.eglibc.org/archives/patches/msg00126.html> for detailed
analysis; the motivation was for an e500 build failure, but atomic
operations on unaligned objects seem wrong in any case).
2. m68k no-FPU ColdFire fixes (r1833, plus subsequent changes because
of changes to the affected code in glibc).
3. powerpc 8xx cache line workaround (r2503).
4. Robustness for ldd with non-bash shells (really only makes sense if
properly converted to be a POSIX shell script). Patches making ldd
a POSIX shell script, and generally avoiding $"" in installed
scripts (glibc bug 13853), were posted to libc-alpha in November
2012, but will need a copyright assignment to be completed before
they can go in.
5. Differences between the glibc and EGLIBC versions of math.h and
complex.h regarding the handling of the no-long-double case. See
<http://www.eglibc.org/archives/patches/msg01032.html> - may no
longer be needed (glibc bug 14033 was fixed).
6. Avoid __block identifier (I think __glibc_reserved_block would meet
the agreed convention now).
7. dl-load.c error message for mprotect failure (glibc bug 12492).
8. malloc/Makefile use of libc_nonshared.a (and removing the
ARM-specific workaround); possibly linking miscellaneous .so files
(in general) more like they would be linked with an installed
library is the right solution.
9. resolv.conf timestamp checks (note multiple followup fixes);
originated in a SUSE patch.
Changes that are likely to involve more work (maybe substantial
reworking) or be more controversial include the following.
10. Option group support. (I think Carlos expressed an interest in
this, at least as regards the option groups corresponding to POSIX
profiles.) Any submission of this should take into account Steve
Longerbeam's patches that didn't get checked in - that is, start
by locating the final versions of those patches, retesting them,
writing proper GNU ChangeLog entries for them and resubmitting
them. Then start from the resulting version of option group
support (probably one option group at a time). (See
<http://www.eglibc.org/archives/patches/msg01049.html>. Khem Raj
expressed an interest in this merge.)
11. e500 port. (Should probably involve rearranging powerpc32/fpu/
files in glibc in a similar way to the m68k port, to reflect the
different incompatible floating-point implementations for the
12. Making --disable-versioning work.
13. Cross-localedef. (Multiple parts; maybe the support for options
to localedef to specify endianness and uint32_t alignment would be
the least controversial, and also the largest so most valuable to
14. SH __fpscr_values.
15. bits/predefs.h to allow __STDC_IEC_559__ and
__STDC_IEC_559_COMPLEX__ to be defined only conditionally
(possibly should be done through appropriate GCC features
16. ColdFire MMAP2_PAGE_SHIFT (there were some objections when it was
previously proposed for glibc, though such a thing *ought* to be
straightforward). Now a lot of ColdFire code has gone into
kernel.org kernels, maybe the ABI can be confirmed there?
17. A Linuxthreads manpage change. Insubstantial, but there's no
glibc git repository for Linuxthreads (it's never been converted
from CVS). It still appears to be the case that the man-pages
project does not have a manpage for pthread_mutex_init /
pthread_mutex_unlock (the one in question), and that Linuxthreads
is being used to provide a manpage for those functions by Ubuntu,
for example. I believe it is also the case that Linuxthreads is
still being used by GNU/kFreeBSD, so if that gets merged to glibc
then there may be a case for merging in the Linuxthreads history.
18. Installation of *_pic.a and associated .map files for use of
19. Extra test debug/tst-backtrace6 (may need new interfaces for a
test of this functionality to pass reliably, see discussion
There are also a few differences deliberately kept for compatibility
with EGLIBC ways of cross-building and cross-testing, although glibc
now has support for those things in slightly different ways.
Joseph S. Myers
Patches mailing list