netch80 (netch80) wrote,
netch80
netch80

жуткая кривость в доке binutils

Это надо занести в хрестоматию как чистейший пример фатального неумения писать документацию.

     __asm__(".symver original_foo,foo@");
     __asm__(".symver old_foo,foo@VERS_1.1");
     __asm__(".symver old_foo1,foo@VERS_1.2");
     __asm__(".symver new_foo,foo@@VERS_2.0");
[...]


When you have multiple definitions of a given symbol, there needs to be some way to specify a default version to which external references to this symbol will be bound. You can do this with the `foo@@VERS_2.0' type of `.symver' directive. You can only declare one version of a symbol as the default in this manner; otherwise you would effectively have multiple definitions of the same symbol.

(источник)

Из такого объяснения в принципе непонятно, что играет роль признака "default version" - номер версии, порядок объявления, или два '@' вместо одного (правильно - последнее, но его тяжелее всего заметить). Автору данного пассажа из документации правильный ответ известен, но он просто не в состоянии догадаться, что тот, кто его не знает, не поймёт такого объяснения.

Сомневаюсь, что стоит посылать жалобу (пусть даже с патчем) - если рассматривать будут те же, они просто не поверят.

This entry was originally posted at http://netch80.dreamwidth.org/43168.html. Please comment there using OpenID.
Comments for this post were disabled by the author