On Fri, Jan 8, 2010 at 7:03 PM, Gustavo Sverzut Barbieri
<[email protected]> 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 ;-))
>
> 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.
>

And/or 'static' where appropriate, may be less work in some cases.

> 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,
>
> --
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --------------------------------------
> MSN: [email protected]
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
>
> ------------------------------------------------------------------------------
> 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
>

------------------------------------------------------------------------------
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