On Tue, Jul 28, 2009 at 11:18 PM, Brian Ryner<[email protected]> wrote:
>>> > The -fvisibility=hidden flag is maybe supposed to do this (see
>>> > discussion on http://gcc.gnu.org/wiki/Visibility ), but I tried
>>> > building both with and without it and found that:
>>> >  - in debug builds, objdump -T shows all of our symbols, regardless of
>>> > the flags I pass to gcc or strip
>
> Can you paste a snippet of the objdump -T output you see for a debug binary?
>  I'd also be interested in the answer to Mark's question -- is the binary
> being linked with -E?

As I said before, I don't really know what I'm doing -- I wrote my
mail to mostly summarize the result of "tried building it both with
and without this flag and saw no difference".

There is no -E.   Maybe I don't understand what objdump -CT is telling
me... aha!

It turns out that the vast majority of the symbols I mentioned are C++
templates.
% objdump -CT out/Debug/chrome | wc -l
43740
% objdump -CT out/Debug/chrome | egrep -v 'std|cxx' | wc -l
2591

Here are a few examples of the output pre-filtering:

083fa306  w   DF .text  00000011  Base
std::reverse_iterator<std::_List_iterator<std::pair<RenderWidgetHost*,
BackingStore*> > >::base() const
090104dc  w   DF .text  00000022  Base        void
std::swap<WebCore::CSSFontFace*>(WebCore::CSSFontFace*&,
WebCore::CSSFontFace*&)
0

Of the remaining symbols after that egrep -v, it's mostly stuff I'd
expect, though I still see v8 templates marked weak:

091b7d12  w   DF .text  00000013  Base        v8::Local<v8::Integer>::Local()
00000000      DF *UND*  00000000  Base        gtk_tree_model_get_value
0884d056  w   DF .text  0000001a  Base
v8::Local<v8::String>::Local<v8::String>(v8::String*)
00000000      DF *UND*  00000000  Base        gtk_grab_add
00000000      DF *UND*  00000000  Base        gtk_hbutton_box_new
00000000      DF *UND*  00000000  NSS_3.4     SSL_GetChannelInfo
00000000      DF *UND*  00000000  GLIBC_2.4   __stack_chk_fail
086a6698 g    DF .text  0000010a  Base        uprv_ebcdicFromAscii_3_8
0866af2e g    DF .text  000000d1  Base        uprv_fmin_3_8
00000000      DF *UND*  00000000  Base        gtk_widget_get_visual
091ab20c g    DF .text  0000005d  Base
v8::ObjectTemplate::InternalFieldCount()
0885e164  w   DF .text  00000013  Base
v8::Persistent<v8::String>::Persistent()
00000000      DF *UND*  00000000  Base
gtk_file_chooser_set_preview_widget_active
00000000      DF *UND*  00000000  Base        gdk_display_get_pointer
0880e3a2 g    DF .text  000002f4  Base        ucol_tok_getNextArgument_3_8
086e6d5c g    DF .text  000001a1  Base        upname_swap_3_8


Flags we use follow:

        # Enable -Werror by default, but put it in a variable so it can
        # be disabled in ~/.gyp/include.gypi on the valgrind builders.
        'variables': {
          'werror%': '-Werror',
        },
        'cflags': [
           '<(werror)',  # See note above about the werror variable.
           '-pthread',
           '-fno-exceptions',
           '-Wall',
        ],
        'cflags_cc': [
          '-fno-threadsafe-statics',
        ],
        'ldflags': [
          '-pthread',
        ],

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to