https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291273

--- Comment #3 from Ed Maste <[email protected]> ---
Some developers have expressed a desire to avoid using per-symbol export lists
and generally use EXPORT_SYMS=YES, possibly adding missing `static`
declarations where necessary. I took a look at this module with that in mind:

With the four explicit EXPORT_SYMS, as expected `readelf -s | grep GLOBAL |
grep -v UND` reports:

   159: 0000000000000000     4 OBJECT  GLOBAL DEFAULT    10 p9_debug_level
   169: 00000000000008b0   132 FUNC    GLOBAL DEFAULT     1 p9_init_zones
   171: 0000000000000940    41 FUNC    GLOBAL DEFAULT     1 p9_destroy_zones
   186: 00000000000036d0    34 FUNC    GLOBAL DEFAULT     1 p9_register_trans

With EXPORT_SYMS=YES many symbols are GLOBAL:

    98: 0000000000000000    15 FUNC    GLOBAL DEFAULT     1 p9_is_proto_dotl
    99: 0000000000000010    15 FUNC    GLOBAL DEFAULT     1 p9_is_proto_dotu
   100: 0000000000000020    59 FUNC    GLOBAL DEFAULT     1
p9_client_disconnect
   101: 0000000000000000     4 OBJECT  GLOBAL DEFAULT    10 p9_debug_level
   103: 0000000000000060    59 FUNC    GLOBAL DEFAULT     1
p9_client_begin_disconnect
   104: 00000000000000a0    72 FUNC    GLOBAL DEFAULT     1 p9_tag_create
   106: 00000000000000f0    68 FUNC    GLOBAL DEFAULT     1 p9_tag_destroy
   108: 0000000000000140   130 FUNC    GLOBAL DEFAULT     1 p9_fid_create
   111: 00000000000001d0    80 FUNC    GLOBAL DEFAULT     1 p9_fid_destroy
   112: 0000000000000220   364 FUNC    GLOBAL DEFAULT     1 p9_client_version
   113: 0000000000002ae0  2561 FUNC    GLOBAL DEFAULT     1 p9_buf_readf
   116: 0000000000003560    35 FUNC    GLOBAL DEFAULT     1 p9_buf_prepare
   117: 00000000000020f0  2452 FUNC    GLOBAL DEFAULT     1 p9_buf_vwritef
   118: 0000000000003590    93 FUNC    GLOBAL DEFAULT     1 p9_buf_finalize
   121: 00000000000008b0   132 FUNC    GLOBAL DEFAULT     1 p9_init_zones
   123: 0000000000000940    41 FUNC    GLOBAL DEFAULT     1 p9_destroy_zones
   125: 0000000000000970   461 FUNC    GLOBAL DEFAULT     1 p9_client_create
   130: 0000000000003730    64 FUNC    GLOBAL DEFAULT     1
p9_get_trans_by_name
   132: 0000000000000b40   160 FUNC    GLOBAL DEFAULT     1 p9_client_destroy
   134: 0000000000000be0   498 FUNC    GLOBAL DEFAULT     1 p9_client_attach
   135: 0000000000000de0   141 FUNC    GLOBAL DEFAULT     1 p9_client_remove
   136: 0000000000000e70   124 FUNC    GLOBAL DEFAULT     1 p9_client_unlink
   137: 0000000000000ef0   249 FUNC    GLOBAL DEFAULT     1 p9_client_clunk
   138: 0000000000000ff0   766 FUNC    GLOBAL DEFAULT     1 p9_client_walk
   139: 00000000000012f0   316 FUNC    GLOBAL DEFAULT     1 p9_client_open
   140: 0000000000001430   345 FUNC    GLOBAL DEFAULT     1 p9_client_readdir
   142: 0000000000001590   460 FUNC    GLOBAL DEFAULT     1 p9_client_read
   143: 0000000000001760   454 FUNC    GLOBAL DEFAULT     1 p9_client_write
   144: 0000000000001930   279 FUNC    GLOBAL DEFAULT     1
p9_client_file_create
   145: 0000000000001a50   300 FUNC    GLOBAL DEFAULT     1 p9_client_statfs
   146: 0000000000001b80   155 FUNC    GLOBAL DEFAULT     1 p9_client_renameat
   147: 0000000000001c20   256 FUNC    GLOBAL DEFAULT     1 p9_create_symlink
   148: 0000000000001d20   144 FUNC    GLOBAL DEFAULT     1 p9_create_hardlink
   149: 0000000000001db0   213 FUNC    GLOBAL DEFAULT     1 p9_readlink
   150: 0000000000001e90   394 FUNC    GLOBAL DEFAULT     1 p9_client_getattr
   151: 0000000000002020   193 FUNC    GLOBAL DEFAULT     1 p9_client_setattr
   154: 0000000000000140   112 OBJECT  GLOBAL DEFAULT     4 sysctl___vfs_p9fs
   158: 00000000000034f0    97 FUNC    GLOBAL DEFAULT     1 p9stat_read
   159: 00000000000035f0    20 FUNC    GLOBAL DEFAULT     1 p9_buf_reset
   160: 0000000000003610   181 FUNC    GLOBAL DEFAULT     1 p9_dirent_read
   162: 00000000000036d0    34 FUNC    GLOBAL DEFAULT     1 p9_register_trans
   163: 0000000000000020    16 OBJECT  GLOBAL DEFAULT    10 transports
   164: 0000000000003700    37 FUNC    GLOBAL DEFAULT     1 p9_unregister_trans
   166: 0000000000003790    12 FUNC    GLOBAL DEFAULT     1 p9fs_proto_dotl
   167: 00000000000037a0   551 FUNC    GLOBAL DEFAULT     1 p9fs_init_session
   169: 00000000000039d0   104 FUNC    GLOBAL DEFAULT     1
p9fs_prepare_to_close
   171: 0000000000003a40    24 FUNC    GLOBAL DEFAULT     1 p9fs_complete_close
   172: 0000000000003a60    95 FUNC    GLOBAL DEFAULT     1 p9fs_close_session
   174: 0000000000003ac0   225 FUNC    GLOBAL DEFAULT     1 p9fs_fid_remove_all
   175: 0000000000003bb0   276 FUNC    GLOBAL DEFAULT     1 p9fs_fid_remove
   178: 0000000000003cd0   176 FUNC    GLOBAL DEFAULT     1 p9fs_fid_add
   179: 0000000000003d80   914 FUNC    GLOBAL DEFAULT     1 p9fs_get_fid
   182: 0000000000004250   153 FUNC    GLOBAL DEFAULT     1 p9fs_dispose_node
   183: 00000000000042f0    62 FUNC    GLOBAL DEFAULT     1 p9fs_node_cmp
   184: 0000000000004330    55 FUNC    GLOBAL DEFAULT     1 p9fs_destroy_node
   185: 0000000000004370  1172 FUNC    GLOBAL DEFAULT     1 p9fs_vget_common
   187: 0000000000004fd0   261 FUNC    GLOBAL DEFAULT     1
p9fs_reload_stats_dotl
   190: 0000000000000480   680 OBJECT  GLOBAL DEFAULT     4 p9fs_vnops
   204: 0000000000000040     8 OBJECT  GLOBAL DEFAULT    10 p9fs_getattr_zone
   205: 0000000000000048     8 OBJECT  GLOBAL DEFAULT    10 p9fs_setattr_zone
   208: 0000000000000050     8 OBJECT  GLOBAL DEFAULT    10 p9fs_pbuf_zone
   209: 0000000000000038     8 OBJECT  GLOBAL DEFAULT    10 p9fs_io_buffer_zone
   211: 00000000000001f0   208 OBJECT  GLOBAL DEFAULT     4 p9fs_vfsops
   214: 0000000000004ea0   303 FUNC    GLOBAL DEFAULT     1 p9fs_cleanup
   217: 00000000000050e0   263 FUNC    GLOBAL DEFAULT     1
p9fs_stat_vnode_dotl

Will update again here after more discussion

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to