Re: [PATCH] Better make rules for IPA objects

Alan Hayward
2017-11-14T09:53:33Z

Ping.

> On 7 Nov 2017, at 10:18, Alan Hayward <Alan.Hayward@arm.com> wrote:
>
> This patch strengthens the rule for compiling arch/ and common/ files
> into IPA.
>
> In the existing code, "foo-ipa.o" will try to match:
> foo-generated.c
> foo-ipa.c
> gdbserver/foo.c
> common/foo.c
> arch/foo.c
>
> If this potentially matched multiple files, then the first is matched.
>
> This patch changes the IPA rules so that files in arch/ and common/ are
> explicitly listed using the directory name.
>
> A future patch could be added to remove the ambiguity from the first three
> matches. I'm not planning on making that change.
>
> This changed is required as part of moving aarch64 to use flexible target
> descriptors.
>
> Alan.
>
> 2017-11-07 Alan Hayward <alan.hayward@arm.com>
>
> gdbserver:
> * Makefile.in: Update arch and common rules.
> * configure.srv: Explicitly mark arch/ and common/ files.
>
> diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
> index 8e73563b103f720ddd5e77607c3190a2959903f5..1bd4cf93cce192f060c362665fd5df9f4c323f24 100644
> --- a/gdb/gdbserver/Makefile.in
> +++ b/gdb/gdbserver/Makefile.in
> @@ -563,11 +563,11 @@ arch/%.o: ../arch/%.c
> $(IPAGENT_COMPILE) $<
> $(POSTCOMPILE)
>
> -%-ipa.o: ../common/%.c
> +common/%-ipa.o: ../common/%.c
> $(IPAGENT_COMPILE) $<
> $(POSTCOMPILE)
>
> -%-ipa.o: ../arch/%.c
> +arch/%-ipa.o: ../arch/%.c
> $(IPAGENT_COMPILE) $<
> $(POSTCOMPILE)
>
> diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
> index 515c6dc8b3e57574286149ebdca37da149218a35..82c3dc237c3fb6baeb2a72cd9ed66d8c7556d72a 100644
> --- a/gdb/gdbserver/configure.srv
> +++ b/gdb/gdbserver/configure.srv
> @@ -133,7 +133,7 @@ case "${target}" in
> srv_linux_thread_db=yes
> srv_linux_btrace=yes
> ipa_obj="linux-i386-ipa.o linux-x86-tdesc-ipa.o"
> - ipa_obj="${ipa_obj} i386-ipa.o"
> + ipa_obj="${ipa_obj} arch/i386-ipa.o"
> ;;
> i[34567]86-*-lynxos*) srv_regobj=""
> srv_tgtobj="lynx-low.o lynx-i386-low.o fork-child.o fork-inferior.o"
> @@ -383,7 +383,7 @@ case "${target}" in
> srv_linux_thread_db=yes
> srv_linux_btrace=yes
> ipa_obj="linux-amd64-ipa.o linux-x86-tdesc-ipa.o"
> - ipa_obj="${ipa_obj} amd64-ipa.o"
> + ipa_obj="${ipa_obj} arch/amd64-ipa.o"
> ;;
> x86_64-*-mingw*) srv_regobj=""
> srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o”
>
>