Skip to content
  • James Hogan's avatar
    MIPS: Fix genvdso error on rebuild · 2afb9745
    James Hogan authored
    
    
    The genvdso program modifies the debug and stripped versions of the
    VDSOs in place, and errors if the modification has already taken place.
    Unfortunately this means that a rebuild which tries to rerun genvdso to
    generate vdso*-image.c without also rebuilding vdso.so.dbg (for example
    if genvdso.c is modified) hits a build error like this:
    
    arch/mips/vdso/genvdso 'arch/mips/vdso/vdso.so.dbg' already contains a '.MIPS.abiflags' section
    
    This is fixed by reorganising the rules such that unmodified .so files
    have a .raw suffix, and these are copied in the same rule that runs
    genvdso on the copies.
    
    I.e. previously we had:
    
     cmd_vdsold:
      link objects -> vdso.so.dbg
    
     cmd_genvdso:
      strip vdso.so.dbg -> vdso.so
      run genvdso -> vdso-image.c
       and modify vdso.so.dbg and vdso.so in place
    
    Now we have:
    
     cmd_vdsold:
      link objects -> vdso.so.dbg.raw
    
     a new cmd_objcopy based strip rule (inspired by ARM):
      strip vdso.so.dbg.raw -> vdso.so.raw
    
     cmd_genvdso:
      copy vdso.so.dbg.raw -> vdso.so.dbg
      copy vdso.so.raw -> vdso.so
      run genvdso -> vdso-image.c
       and modify vdso.so.dbg and vdso.so in place
    
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13250/
    
    
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    2afb9745