]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: Fix genvdso error on rebuild
authorJames Hogan <james.hogan@imgtec.com>
Fri, 13 May 2016 18:41:06 +0000 (19:41 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 13 May 2016 20:47:39 +0000 (22:47 +0200)
commit9419a89095d6aa62d8db32812cece274d9ed446d
tree60dc1b929cb56b69eb0a08a0de6e028aa806b5a7
parent510c4cb6f8339d4fc36bc153adf419399856fbaa
MIPS: Fix genvdso error on rebuild

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: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13250/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/vdso/Makefile