diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2024-10-18 01:31:34 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-10-22 12:28:18 +0100 |
commit | 07c8f11aec4bd9c78ab9488593f97d85d1aa9405 (patch) | |
tree | 3d20b3e7a46a7e9919cb30a2f5a88fc6bf298ecd /meta/recipes-devtools/gcc | |
parent | 31cf7db95abc4b2b3913eafe7148b3d997b5b950 (diff) | |
download | poky-07c8f11aec4bd9c78ab9488593f97d85d1aa9405.tar.gz |
libgfortran: fix buildpath QA issue
The '-fdebug-prefix-map' options are used to map source files locations,
otherwise, DW_AT_comp_dir will contain buildpath.
The '-gno-record-gcc-switches' option is used to fix the buildpath introduced
by '-fintrinsic-modules-path' option, which is automatically added by fortran.
Here's some output from 'readelf --debug-dump libgfortran.so.5.0.0' when this
option is not added:
"""
<0><1a37d3>: Abbrev Number: 4 (DW_TAG_compile_unit)
<1a37d4> DW_AT_producer : (indirect string, offset: 0xd653): GNU Fortran2008 14.2.0 -m64
-march=core2 -mtune=core2 -msse3
-mfpmath=sse -mshstk -g -O2 -O2 -fstack-protector-strong -fimplicit-none
-fno-repack-arrays -fno-underscoring -fcf-protection=full
-fallow-leading-underscore -fbuilding-libgfortran -fPIC
-fintrinsic-modules-path /ala-lpggp72/qichen/Yocto/builds/build-poky/tmp/work/
core2-64-poky-linux/libgfortran/14.2.0/recipe-sysroot-native/usr/bin/x86_64-poky-linux
/../../lib/x86_64-poky-linux/gcc/x86_64-poky-linux/14.2.0/finclude
-fpre-include=../../../../recipe-sysroot/usr/include/finclude/math-vector-fortran.h
"""
See https://gcc.gnu.org/pipermail/fortran/2024-October/061204.html for more
detailed information.
(From OE-Core rev: 1eb084956bcba83782bc2b24cf8cc89459a57e34)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r-- | meta/recipes-devtools/gcc/libgfortran.inc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc index c68645e392..2a08872c25 100644 --- a/meta/recipes-devtools/gcc/libgfortran.inc +++ b/meta/recipes-devtools/gcc/libgfortran.inc | |||
@@ -8,7 +8,7 @@ EXTRA_OECONF_PATHS = "\ | |||
8 | # An arm hard float target like raspberrypi4 won't build | 8 | # An arm hard float target like raspberrypi4 won't build |
9 | # as CFLAGS don't make it to the fortran compiler otherwise | 9 | # as CFLAGS don't make it to the fortran compiler otherwise |
10 | # (the configure script sets FC to $GFORTRAN unconditionally) | 10 | # (the configure script sets FC to $GFORTRAN unconditionally) |
11 | export GFORTRAN = "${FC}" | 11 | export GFORTRAN = "${FC} -fcanon-prefix-map -fdebug-prefix-map=${S}=${TARGET_DBGSRC_DIR} -fdebug-prefix-map=${B}=${TARGET_DBGSRC_DIR} -gno-record-gcc-switches" |
12 | 12 | ||
13 | do_configure () { | 13 | do_configure () { |
14 | for target in libbacktrace libgfortran | 14 | for target in libbacktrace libgfortran |