Bug 52372

Summary: Заголовочный файл ссылается на неопределённые символы
Product: Sisyphus Reporter: Leonid Krivoshein <klark>
Component: libreiserfsprogsAssignee: led
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: led, mike
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
remove inline declarations from common header none

Description Leonid Krivoshein 2024-12-08 05:35:13 MSK
Created attachment 17354 [details]
remove inline declarations from common header

Несколько символов в /usr/include/reiserfs/tools.h объявлены как extern inline, они определены в tools.c в самой библиотеке. Соответственно, при сборке ПО с данной библиотекой не определены. Там, где они используются, будет ошибка, а где не используются, такие предупреждения:

In file included from /usr/include/reiserfs/object.h:25,
                 from /usr/include/reiserfs/tree.h:27,
                 from /usr/include/reiserfs/reiserfs.h:39,
                 from reiserfsclone.c:26:
/usr/include/reiserfs/tools.h:35:19: warning: inline function 'reiserfs_tools_find_next_zero_bit' declared but never defined
   35 | extern inline int reiserfs_tools_find_next_zero_bit (const void *vaddr,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/reiserfs/tools.h:32:19: warning: inline function 'reiserfs_tools_find_first_zero_bit' declared but never defined
   32 | extern inline int reiserfs_tools_find_first_zero_bit (const void *vaddr,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/reiserfs/tools.h:30:19: warning: inline function 'reiserfs_tools_test_bit' declared but never defined
   30 | extern inline int reiserfs_tools_test_bit(int nr, const void *addr);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/reiserfs/tools.h:29:19: warning: inline function 'reiserfs_tools_clear_bit' declared but never defined
   29 | extern inline int reiserfs_tools_clear_bit (int nr, void *addr);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/reiserfs/tools.h:28:19: warning: inline function 'reiserfs_tools_set_bit' declared but never defined
   28 | extern inline int reiserfs_tools_set_bit (int nr, void *addr);
      |                   ^~~~~~~~~~~~~~~~~~~~~~

Предлагаю патч для исправления. Следом соберу тестовый таск.
Comment 1 Leonid Krivoshein 2024-12-08 05:50:22 MSK
Собрал таск #364406. При сборке с ним partclone указанные предупреждения уходят. Если не будет возражений, могу закоммитить.