On 01/08/2010 05:03 PM, Gustavo Sverzut Barbieri wrote:
> Hi all,
>
> Today I used enlightenment without -fvisibility=hidden and noticed a
> complain of mixer/connman users: they clash. Investigating the cause,
> I found that _Name were not defined static in both, so they clashed. I
> fixed my modules, but then I ran a quick script over modules and got
> the following list (please investigate further). I'm about to travel
> so I can't fix them now, please help:
>
> note: I hand edited and cut some obvious cases, but the command was:
>
> for m in *; do echo "$m:"; readelf -s
> /usr/lib/enlightenment/modules/$m/linux-gnu-i686-ver-pre-svn-05/module.so
>   | grep 'GLOBAL DEFAULT' | grep -v 'UND ' | grep -v
> "\(_fini\|_init\|__bss_start\|_end\|_edata\|e_modapi\|evry\|e_kbd_\|il_\|e_int_\|e_fwin\|_\?e_$m\|_\?$m\)"
> | sed "s/.* \([a-zA-Z0-9_]\+\)/   \1/g"; done
>
> conf_colors:
>     _wid_hash
>     _wm_hash
>     color_classes
>     _mod_hash
> conf_exebuf:
>     scroll_list
> conf_fonts:
>     text_class_predefined_nam
> conf_intl:
>     charset_predefined_pairs
>     language_predefined_pairs
>     basic_language_predefined
>     region_predefined_pairs
> conf_mime:
>     types
> conf_profiles
>     _dia_new_profile
> conf_window_display
>     shading_list
> conf_window_manipulation
>     autoraise_list
>     resistance_list
> conf_winlist
>     scroll_animation_list
>     iconified_list
> everything
>     selectors
>     action_selector
> fileman
>     _e_mod_menu_generate
> gadman
>     current
>     Man
> ibox
>     show_label_list
> illume
>     slipshelf
>     gadits
>     delay_label
>     _e_mod_gad_gsm_shutdown
>     delay_slider
>     local_slipshelf
>     external_keyboard
> illume2
>     policy_name
>     o_top
>     _sw_change_timer
>     _ps_change_timer
>     stype
>     _windows_change_timer
>     o_left
>     _anim_change_timer
>     _policy_change_timer
> illume-home
>     delay_slider
>     delay_label
> illume-keyboard
>     external
> illume-softkey
>     e_mod_sk_win_shutdown
>     e_mod_sk_win_new
> msgbus_lang
>     cb_langs
> notification
>     _gc_orient
>     uuid
>     _gc_class
> pager
>     popup_list
>
> Lots of them were introduced with last illume modules (/me look at
> devilhorns ;-))
>

Funny, most seem to come from conf modules or modules that ship w/ E. 
Really not much in the illume2 department...sure, there are a few, but 
not much ;)

dh

> How to solve? Simple, go to that module and PREFIX the variable with
> _e_${MODNAME}_ or _${MODNAME}_ to make clear they will not clash with
> another module.
>
> Something else is to not use RTLD_GLOBAL but RTLD_LOCAL for modules,
> providing some other way to register module things for other parts
> (need to think and clarify about this, but it's lots of work I guess).
>
> BR,
>


------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to