[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Patches] Differences between glibc and EGLIBC

Here is an updated version of my list
<http://www.eglibc.org/archives/patches/msg01196.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).

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. Changes to bits/wchar.h - likely no longer needed, but
   investigation required.

5. Robustness for ldd with non-bash shells (really only makes sense if
   properly converted to be a POSIX shell script).

6. 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).

7. Avoid __block identifier (I think __glibc_reserved_block would meet
   the agreed convention now).

8. dl-load.c error message for mprotect failure (glibc bug 12492).

9. 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.

10. resolv.conf timestamp checks (note multiple followup fixes);
    originated in a SUSE patch.

11. Extra tests for backtrace.

Changes that are likely to involve more work (maybe substantial
reworking) or be more controversial include the following.

12. 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).

13. 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
    architecture.)  Some fragments of improvements to powerpc header
    files for no-FPRS or soft-float may be able to go in

14. Making --disable-versioning work.

15. 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

16. SH __fpscr_values.

17. 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

18. 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?

19. A Linuxthreads manpage change.  Insubstantial, but there's no
    glibc git repository for Linuxthreads (it's never been converted
    from CVS).

20. Installation of *_pic.a and associated .map files for use of

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