http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54572



--- Comment #13 from Janne Blomqvist <jb at gcc dot gnu.org> 2012-11-30 
22:03:43 UTC ---

(In reply to comment #10)

> (In reply to comment #6)

> > Created attachment 28779 [details]

> > Patch to use libbacktrace

> 

> I have to apply the following patch on your patch in order to be able to

> compile it.  ("MULTIBUILDTOP" is empty here and the library is not in

> "/libbacktrace".)

> 

> --- libgfortran-backtrace-pr54572.diff.orig     2012-11-27 10:09:13 +0100

> +++ libgfortran-backtrace-pr54572.diff  2012-11-27 10:12:05 +0100

> @@ -51 +51 @@ index abc23cd..dd325bd 100644

> -+            -I$(MULTIBUILDTOP)/../libbacktrace \

> ++            -I$(MULTIBUILDTOP)../libbacktrace \



Good point, fixed. Also the previous line had the same issue, fixed that as

well.



> 

> 

> 

> Additionally, I wonder whether one should have:

> 

> --- a/Makefile.def

> +++ b/Makefile.def

>  languages = { language=fortran;        gcc-check-target=check-fortran;

>                                 lib-check-target=check-target-libquadmath;

> +                               lib-check-target=check-target-libbacktrace;

>                                 lib-check-target=check-target-libgfortran; };

>  languages = { language=java;   gcc-check-target=check-java;

> 

> 

> 

> 

> And in the same file, I wonder which of the following two is correct:

> 

> +dependencies = { module=all-target-libgfortran; on=all-target-libbacktrace; 
> };

> 

> or

> 

> +dependencies = { module=configure-target-libgfortran;

> on=all-target-libbacktrace; };



I modeled this after how the go frontend does it. The idea, AFAICS, is that

libbacktrace is always built as a hard dependency on libgfortran, however, if

libbacktrace doesn't support the target, BACKTRACE_SUPPORTED is set to 0 and a

dummy implementation is provided. That is, we can always unconditionally rely

on libbacktrace being present. This is different from e.g. libquadmath which

may or may not be available on the target, and can be explicitly

enabled/disabled at configure time etc.

Reply via email to