lkml.org 
[lkml]   [2019]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 10/24] MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Paul Burton <paul.burton@mips.com>

    commit 67fc5dc8a541e8f458d7f08bf88ff55933bf9f9d upstream.

    When generating vdso-o32.lds & vdso-n32.lds for use with programs
    running as compat ABIs under 64b kernels, we previously haven't included
    the compiler flags that are supposedly common to all ABIs - ie. those in
    the ccflags-vdso variable.

    This is problematic in cases where we need to provide the -m%-float flag
    in order to ensure that we don't attempt to use a floating point ABI
    that's incompatible with the target CPU & ABI. For example a toolchain
    using current gcc trunk configured --with-fp-32=xx fails to build a
    64r6el_defconfig kernel with the following error:

    cc1: error: '-march=mips1' requires '-mfp32'
    make[2]: *** [arch/mips/vdso/Makefile:135: arch/mips/vdso/vdso-o32.lds] Error 1

    Include $(ccflags-vdso) for the compat VDSO .lds builds, just as it is
    included for the native VDSO .lds & when compiling objects for the
    compat VDSOs. This ensures we consistently provide the -msoft-float flag
    amongst others, avoiding the problem by ensuring we're agnostic to the
    toolchain defaults.

    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
    Cc: linux-mips@vger.kernel.org
    Cc: Kevin Hilman <khilman@baylibre.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Maciej W . Rozycki <macro@linux-mips.org>
    Cc: stable@vger.kernel.org # v4.4+
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/mips/vdso/Makefile | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/arch/mips/vdso/Makefile
    +++ b/arch/mips/vdso/Makefile
    @@ -116,7 +116,7 @@ $(obj)/%-o32.o: $(src)/%.c FORCE
    $(call cmd,force_checksrc)
    $(call if_changed_rule,cc_o_c)

    -$(obj)/vdso-o32.lds: KBUILD_CPPFLAGS := -mabi=32
    +$(obj)/vdso-o32.lds: KBUILD_CPPFLAGS := $(ccflags-vdso) -mabi=32
    $(obj)/vdso-o32.lds: $(src)/vdso.lds.S FORCE
    $(call if_changed_dep,cpp_lds_S)

    @@ -156,7 +156,7 @@ $(obj)/%-n32.o: $(src)/%.c FORCE
    $(call cmd,force_checksrc)
    $(call if_changed_rule,cc_o_c)

    -$(obj)/vdso-n32.lds: KBUILD_CPPFLAGS := -mabi=n32
    +$(obj)/vdso-n32.lds: KBUILD_CPPFLAGS := $(ccflags-vdso) -mabi=n32
    $(obj)/vdso-n32.lds: $(src)/vdso.lds.S FORCE
    $(call if_changed_dep,cpp_lds_S)


    \
     
     \ /
      Last update: 2019-02-13 19:57    [W:2.677 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site