Jim Meyering <jim@xxxxxxxxxxxx> wrote: > Mark McLoughlin <markmc@xxxxxxxxxx> wrote: >> On Wed, 2008-02-20 at 16:42 +0100, Jim Meyering wrote: >> >>> If I do as you suggest and move the safewrite definition into util.h, >>> and make it static inline, then both problems go away. >> >> Make sure to try and build this with gcc-4.3.0 - remember that we >> un-inlined xstrtol() because of: >> >> internal.h:272: error: inlining failed in call to 'xstrtol_i': call is unlikely and code size would grow >> >> Again, the option is to stop using -Winline, but it's probably about >> time we figured out some proper way of sharing code between libvirt.so >> and virsh etc. without adding it to the ABI. >> >> How about a libvirtutil libtool convenience (i.e. static) library? > > This does sound like a better idea. > I'll prepare a patch to does that, > and probably move at least these into it, too: > > __virStrToLong_i; > __virStrToLong_ull; Actually, it's not so simple. Using a libtool convenience library would work, but to be useful, it would have to expose the safewrite function to all users of libvirt.la. And, since we seem to want to keep -Winline, we probably don't want "static inline" functions, so here's what I've done: #1 Allow safewrite to be used both by library and non-library code: Subject: [PATCH] Move safewrite and saferead to a separate file. #2 Fix the uses of write that started all this: Subject: [PATCH] Use safewrite in place of write, in many cases. Details in the following patches. -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list