This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Comments on chapter 3 of FAQ - "Source and binary incompatibilities, and what to do about them"


On Friday 27 April 2012 18:18:06 Marek Polacek wrote:
> 3.1.    I expect GNU libc to be 100% source code compatible with
>         the old Linux based GNU libc.  Why isn't it like this?
> 
> I'd say remove.
> 
> 3.2.    Why does getlogin() always return NULL on my Linux box?
> 
> I wouldn't say this question is frequently asked these days...
> 
> 3.3.    Where are the DST_* constants found in <sys/time.h> on many
>         systems?
> 
> Remove, I don't have such constants in <sys/time.h> at all.

SGTM

> 3.4.    The prototypes for `connect', `accept', `getsockopt',
>         `setsockopt', `getsockname', `getpeername', `send',
>         `sendto', and `recvfrom' are different in GNU libc from
>         any other system I saw.  This is a bug, isn't it?
> 
> Probably keep.

tweak the grammar, and the tense (since the POSIX spec has been this way for 
many many years and the glibc behavior isn't "new").  mentioning the socklen_t 
thing is still semi-relevant (at least, i know i've posted patches to packages 
in the last year to do int->socklen_t).

> 3.5.    On Linux I've got problems with the declarations in Linux
>         kernel headers.
> 
> Keep.

might want to trim it a bit.  i think the last paragraph in particular is 
still true (i know i still deal with this in packages in Gentoo).

> 3.6.    I don't include any kernel headers myself but the compiler
>         still complains about redeclarations of types in the kernel
>         headers.
> 
> Remove.

SGTM

> 3.7.    Why don't signals interrupt system calls anymore?
> 
> Probably keep.

tweak the tense, but yes, i think noting this is still FAQ worthy

> 3.8.    I've got errors compiling code that uses certain string
>         functions.  Why?
> 
> Keep?

i'm not sure it's needed anymore, and i rarely see anyone using those defines.  
certainly any code base that adds their own prototypes in today's world (e.g. 
"char strcpy();") has many other problems and generally doesn't care about 
portability.

> 3.9.    I get compiler messages "Initializer element not constant" with
>         stdin/stdout/stderr. Why?
> 
> Keep.

OK

> 3.10.   I can't compile with gcc -traditional (or
>         -traditional-cpp). Why?
> 
> Remove.

i've only see trad-cpp in standalone projects that also want to build with 
like Apple's gcc, but that's unusual.  i don't think anyone cares anymore, so 
we can drop.

> 3.11.   I get some errors with `gcc -ansi'. Isn't glibc ANSI compatible?
> 
> Keep.

yeah, i still see people using -ansi for some reason

> 3.12.   I can't access some functions anymore.  nm shows that they do
>         exist but linking fails nevertheless.
> 
> Keep.

yeah, especially since the rpc/nis code falls into this category now

> 3.13.   When using the db-2 library which comes with glibc is used in
>         the Perl db modules the testsuite is not passed.  This did not
>         happen with db-1, gdbm, or ndbm.
> 
> Remove.
> 
> 3.14.   The pow() inline function I get when including <math.h> is broken.
>         I get segmentation faults when I run the program.
> 
> Remove.
> 
> 3.15.   The sys/sem.h file lacks the definition of `union semun'.
> 
> Keep.
> 
> 3.16.   Why has <netinet/ip_fw.h> disappeared?
> 
> Remove.
> 
> 3.17.   I get floods of warnings when I use -Wconversion and include
>         <string.h> or <math.h>.
> 
> Remove.  Does not apply anymore.

SGTM

> 3.18.   After upgrading to glibc 2.1, I receive errors about
>         unresolved symbols, like `_dl_initial_searchlist' and can not
>         execute any binaries.  What went wrong?
> 
> Remove.

the specific details makes sense to scuttle.  but it reminds me of errors 
people sometimes see when they mix libraries from different glibc versions -- 
runtime errors about missing GLIBC_PRIVATE symbols.  might be useful to update 
to cover that case.

> 3.19.   bonnie reports that char i/o with glibc 2 is much slower than with
>         libc5.  What can be done?
> 
> Remove.
> 
> 3.20.   Programs compiled with glibc 2.1 can't read db files made with
> glibc 2.0.  What has changed that programs like rpm break?
> 
> Remove.
> 
> 3.21.   Autoconf's AC_CHECK_FUNC macro reports that a function exists, but
>         when I try to use it, it always returns -1 and sets errno to
> ENOSYS.
> 
> Remove.
> 
> 3.22.   My program segfaults when I call fclose() on the FILE* returned
>         from setmntent().  Is this a glibc bug?
> 
> Keep.
> 
> 3.23.   I get "undefined reference to `atexit'"
> 
> Keep.

SGTM
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]