Hallo!

(Sorry for being late with this -- I'm listed as a GNU/Hurd OS Port
Maintainer, but I have not been CCed in the original patch email, and I'm
only able to read gcc-patches/the Git log at irregular times.)


On Fri, 03 Jun 2011 16:35:21 +0200, Rainer Orth <r...@cebitec.uni-bielefeld.de> 
wrote:
>       gcc:
> [...]
>       * config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
> [...]
>       * config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
> [...]
> 
>       libgcc:
> [...]
>       * config/i386/linux-unwind.h: Move from ../gcc/config/i386.
> [...]
>       * config/no-unwind.h: New file.
>       * config.host (md_unwind_header): Document.
>       Define.  [...]
>       (i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
>       Set md_unwind_header.
>       [...]

> diff --git a/libgcc/config.host b/libgcc/config.host
> --- a/libgcc/config.host
> +++ b/libgcc/config.host
> @@ -50,6 +50,8 @@
>  #                    If either is set, EXTRA_PARTS and
>  #                    EXTRA_MULTILIB_PARTS inherited from the GCC
>  #                    subdirectory will be ignored.
> +#  md_unwind_header  The name of a header file defining
> +#                    MD_FALLBACK_FRAME_STATE_FOR.
>  #  tmake_file                A list of machine-description-specific
>  #                    makefile-fragments, if different from
>  #                    "$cpu_type/t-$cpu_type".
> @@ -57,6 +59,7 @@
>  asm_hidden_op=.hidden
>  extra_parts=
>  tmake_file=
> +md_unwind_header=no-unwind.h
> [...] 

> -i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu 
> | i[34567]86-*-gnu*)
> +i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu 
> | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
>       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o 
> crtfastmath.o"
>       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
> +     md_unwind_header=i386/linux-unwind.h
>       ;;

This is wrong for the non-Linux x86 configurations.  (Previously
MD_UNWIND_SUPPORT explicitly has only been set in config/i386/linux.h,
which the non-Linux configurations don't use anymore, thanks to Joseph's
recent effort.)

>  x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
>       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o 
> crtfastmath.o"
>       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
> +     md_unwind_header=i386/linux-unwind.h

This also looks wrong for the non-Linux x86_64 configurations.

(I didn't examine any further configurations.)


How should this be fixed?  Probably my moving the md_unwind_header
definitions outside of...

    case ${host} in
    # Support site-specific machine types.

... (where they currently reside), and create a new ``case $host'' as
done just above for enable_execute_stack, for example?


Grüße,
 Thomas

Attachment: pgpVATZ4JBXRY.pgp
Description: PGP signature

Reply via email to