[build] Move MD_UNWIND_SUPPORT to toplevel libgcc

Thomas Schwinge thomas@schwinge.name
Tue Jun 21 09:53:00 GMT 2011


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 <ro@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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110621/45a6fdf8/attachment.sig>


More information about the Gcc-patches mailing list