lkml.org 
[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 6/6] x86-64: Turn off -pg and turn on -foptimize-sibling-calls for vDSO
    Date
    The vDSO isn't part of the kernel, so profiling and kernel
    backtraces don't really matter.

    Signed-off-by: Andy Lutomirski <luto@mit.edu>
    ---
    arch/x86/vdso/Makefile | 15 ++++++++++++++-
    1 files changed, 14 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
    index a651861..bef0bc9 100644
    --- a/arch/x86/vdso/Makefile
    +++ b/arch/x86/vdso/Makefile
    @@ -37,11 +37,24 @@ $(obj)/%.so: OBJCOPYFLAGS := -S
    $(obj)/%.so: $(obj)/%.so.dbg FORCE
    $(call if_changed,objcopy)

    +#
    +# Don't omit frame pointers for ease of userspace debugging, but do
    +# optimize sibling calls.
    +#
    CFL := $(PROFILING) -mcmodel=small -fPIC -O2 -fasynchronous-unwind-tables -m64 \
    - $(filter -g%,$(KBUILD_CFLAGS)) $(call cc-option, -fno-stack-protector)
    + $(filter -g%,$(KBUILD_CFLAGS)) $(call cc-option, -fno-stack-protector) \
    + -fno-omit-frame-pointer -foptimize-sibling-calls

    $(vobjs): KBUILD_CFLAGS += $(CFL)

    +#
    +# vDSO code runs in userspace and -pg doesn't help with profiling anyway.
    +#
    +CFLAGS_REMOVE_vdso-note.o = -pg
    +CFLAGS_REMOVE_vclock_gettime.o = -pg
    +CFLAGS_REMOVE_vgetcpu.o = -pg
    +CFLAGS_REMOVE_vvar.o = -pg
    +
    targets += vdso-syms.lds
    obj-$(VDSO64-y) += vdso-syms.lds

    --
    1.7.5.1


    \
     
     \ /
      Last update: 2011-05-16 18:05    [W:3.951 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site