[alsa-devel] Guide to Linux Sound APIs

Takashi Iwai tiwai at suse.de
Fri Sep 26 11:44:33 CEST 2008

At Thu, 25 Sep 2008 21:40:28 +0200,
Lennart Poettering wrote:
> On Thu, 25.09.08 12:15, Takashi Iwai (tiwai at suse.de) wrote:
> > Anyway, I'd like to mark async stuff as obsolete in a future version.
> > This is a broken design, and should rest in piece.
> > Meanwhile, I'm not in favor of adding deprecated link warning.  A
> > compile warning is fine, but link warning is way too annoying.  And
> > there are programs right now using async, we are responsible to keep
> > them running as they are.
> You are aware that the linking warnings are only shown during build-time --
> not during runtime when dynamic linking happens. So basically the
> difference between compiler and linker warnings are not that big. Link
> time warnings just appear a little bit later during build time than
> compile time warnings.

OK, then I must have misunderstood that.  I thought I did see link
warning message some time ago, so the idea was stuck to my head.

> The big advantage of linker warnings is that you can add arbitrary
> warning strings when a symbol is used. Doing that with just the compiler is
> impossible to my knowledge.
> I.e. just define this:
> #ifdef __GNUC__
> #define WARN_REFERENCE(sym, msg)                     \
>     __asm__(".section .gnu.warning." #sym);          \
>     __asm__(".asciz \"" msg "\"");                   \
>     __asm__(".previous")
> #else
> #define WARN_REFERENCE(sym, msg)
> #endif

We have already a similar macro link_warning() in alsa-lib/include/local.h.

However, I still prefer deprecated warning at compile time, not at
link time.  Regardless we like or not, we must keep supporting the old
API.  In that sense, warning at compile time looks saner to me.


More information about the Alsa-devel mailing list