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: [tschwinge/sendmmsg] Add recvmmsg and sendmmsg to the generic glibc API


Hi!

On Thu,  1 Nov 2012 16:18:11 -0700 (PDT), Roland McGrath <roland@hack.frob.com> wrote:
> Don't put __sendmmsg into the public ABI (i.e. GLIBC_2.17 set).  If it's
> used by other shared libraries and those uses are in functions that exist
> in some standard-specified or traditional name space, then put it in
> GLIBC_PRIVATE (no .abilist files are touched for this).  

sendmmsg is called from __libc_res_nsend which is called from
__libc_res_nquery and res_nsend, the latter is declared in
resolv/resolv.h, so would that fulfil the Âstandard-specified or
traditional name space and not Âin GNU extension functionsÂ
requirements?  Hmm, on the other hand, libresolv seems to use both kinds
of symbol references:

    $ readelf --dyn-syms resolv/libresolv.so
    
    Symbol table '.dynsym' contains 170 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 FUNC    GLOBAL DEFAULT  UND __ctype_toupper_loc@GLIBC_2.3 (7)
         2: 00000000     0 FUNC    GLOBAL DEFAULT  UND setbuf@GLIBC_2.0 (8)
         3: 00000000     0 FUNC    GLOBAL DEFAULT  UND __fcntl@GLIBC_2.0 (8)
    [...]

So, which is it?

> If the only uses
> from other shared libraries are in GNU extension functions, then they can
> just use plain sendmmsg and we don't need __sendmmsg at all.

The rationale being that in the latter case we're violating the
standards' name space rules anyway (with the new symbols we add as GNU
extensions), so in this case adding an additional sendmmsg symbol doesn't
hurt?

> I don't see any callers of recvmmsg at all, so it certainly doesn't need
> the __recvmmsg name.

After having gone through the mildly brain-twisting update of
sysdeps/unix/sysv/linux/*sendmmsg.*, I decided to convert recvmmsg in the
same turn.  If you don't want that, I can back it out.

> All files using stub_warning need #include <stub-tag.h>.

Have been missing from sysdeps/unix/sysv/linux/*mmsg.c.  ;-)

> When posting patches, always use the canonical form with the log entries
> outside the patch and not in patch form.

OK.  Though, that then requires some manual effort if the patch is also
going to be published as a Git branch.


GrÃÃe,
 Thomas

Attachment: pgp00000.pgp
Description: PGP signature


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