> On Jan 29, 2016, at 5:25 PM, Hongxu Jia <hongxu....@windriver.com> wrote: > > On 01/30/2016 01:47 AM, Peter Kjellerstedt wrote: >> Wouldn't it be better to swap the first and second commit and then >> move the addition of -gno-record-debug-prefix-map to the other commit >> where -fdebug-prefix-map are added. > > OK > >> >> You must also remember that not all use the compiler provided by >> OE-Core, so adding -gno-record-debug-prefix-map unconditionally to >> DEBUG_CFLAGS will break with unpatched compilers... (This also >> indicates that "Upstream-Status: Inappropriate [oe specific]" may >> not be quite right if you want this to be supported by other >> compiler versions). > > Agree, we should conditionally add -gno-record-debug-prefix-map to > support other compiler. Thank you for pointing it out.
its not only non gcc compilers, we also have gcc 4.9 still. > > //Hongxu > >> //Peter >> >>> -----Original Message----- >>> From: openembedded-core-boun...@lists.openembedded.org >>> [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of >>> Hongxu Jia >>> Sent: den 29 januari 2016 18:36 >>> To: openembedded-core@lists.openembedded.org; >>> liezhi.y...@windriver.com; raj.k...@gmail.com; >>> richard.pur...@linuxfoundation.org >>> Subject: [OE-core] [PATCH 2/5] gcc-5.3.inc/base.bbclass: add gcc option >>> to not record -fdebug-prefix-map to debugging info >>> >>> Add option '-gno-record-debug-prefix-map' and '-grecord-debug-prefix- >>> map' >>> for gcc. If '-gno-record-debug-prefix-map' is used, it does not record >>> '-fdebug-prefix-map' to gcc command line switches in DWARF >>> DW_AT_producer. >>> >>> The patch could make sure the debugging informaion does not has TMPDIR >>> and also leaves gcc switches in. >>> >>> Compile without this fix: >>> objdump -g packages-split/lib32-glibc-dev/usr/lib/gcrt1.o >>> ... >>> | <5f> DW_AT_producer : (indirect string, offset: 0x1b): GNU >>> C99 5.3.0 >>> -m32-march=core2 -mtune=core2 -msse3 -mfpmath=sse -mpreferred-stack- >>> boundary=4 >>> -g -O2 -std=gnu99 -fgnu89-inline -fdebug-prefix- >>> map=/buildarea/raid0/hjia/buil >>> d-20160127-yocto-buildpath-2/tmp/sysroots/lib32-qemux86-64= >>> -feliminate-unused-debug-types -fmerge-all-constants -frounding-math >>> -ftls-model=initial-exec >>> ... >>> >>> Compile with this fix: >>> objdump -g packages-split/lib32-glibc-dev/usr/lib/gcrt1.o >>> ... >>> | <5f> DW_AT_producer : (indirect string, offset: 0xa1): GNU >>> C99 5.3.0 >>> -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mpreferred-stack- >>> boundary=4 >>> -g -O2 -std=gnu99 -fgnu89-inline -feliminate-unused-debug-types - >>> fmerge-all-constants >>> -frounding-math -ftls-model=initial-exec >>> ... >>> >>> [YOCTO #7058] >>> >>> Signed-off-by: Hongxu Jia <hongxu....@windriver.com> >>> --- >>> meta/conf/bitbake.conf | 1 + >>> meta/recipes-devtools/gcc/gcc-5.3.inc | 3 +- >>> ...48-add-option-gno-record-debug-prefix-map.patch | 65 >>> ++++++++++++++++++++++ >>> 3 files changed, 68 insertions(+), 1 deletion(-) >>> create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0048-add-option- >>> gno-record-debug-prefix-map.patch >>> >>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf >>> index bebaaf4..e2e55e8 100644 >>> --- a/meta/conf/bitbake.conf >>> +++ b/meta/conf/bitbake.conf >>> @@ -552,6 +552,7 @@ DEBUG_FLAGS ?= "-g \ >>> -fdebug-prefix-map=${S}=/usr/src/${BPN} \ >>> -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ >>> -fdebug-prefix-map=${STAGING_DIR_HOST}= \ >>> + -gno-record-debug-prefix-map \ >>> " >>> >>> # Disabled until the option works properly -feliminate-dwarf2-dups >>> diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes- >>> devtools/gcc/gcc-5.3.inc >>> index 80999c1..3a36e50 100644 >>> --- a/meta/recipes-devtools/gcc/gcc-5.3.inc >>> +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc >>> @@ -76,7 +76,8 @@ SRC_URI = "\ >>> file://0044-Adding-mmusl-as-a-musl-libc-specifier-and-the- >>> necess.patch \ >>> file://0045-Support-for-arm-linux-musl.patch \ >>> file://0046-Get-rid-of-ever-broken-fixincludes-on- >>> musl.patch \ >>> - file://0047-Fix-nios2-musl-build.patch \ >>> + file://0047-Fix-nios2-musl-build.patch \ >>> + file://0048-add-option-gno-record-debug-prefix-map.patch \ >>> " >>> >>> BACKPORTS = "" >>> diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0048-add-option-gno- >>> record-debug-prefix-map.patch b/meta/recipes-devtools/gcc/gcc-5.3/0048- >>> add-option-gno-record-debug-prefix-map.patch >>> new file mode 100644 >>> index 0000000..e1efaeb >>> --- /dev/null >>> +++ b/meta/recipes-devtools/gcc/gcc-5.3/0048-add-option-gno-record- >>> debug-prefix-map.patch >>> @@ -0,0 +1,65 @@ >>> +From f1c5f8e9b568122c9a5afd323fd6d76250b83c94 Mon Sep 17 00:00:00 2001 >>> +From: Hongxu Jia <hongxu....@windriver.com> >>> +Date: Thu, 28 Jan 2016 15:25:23 +0800 >>> +Subject: [PATCH] add option gno-record-debug-prefix-map >>> + >>> +If option gno-record-debug-prefix-map used, it does not >>> +record -fdebug-prefix-map to gcc command line switches >>> +in DWARF DW_AT_producer. >>> + >>> +Upstream-Status: Inappropriate [oe specific] >>> + >>> +Signed-off-by: Hongxu Jia <hongxu....@windriver.com> >>> +--- >>> + gcc/common.opt | 8 ++++++++ >>> + gcc/dwarf2out.c | 8 ++++++++ >>> + 2 files changed, 16 insertions(+) >>> + >>> +diff --git a/gcc/common.opt b/gcc/common.opt >>> +index 0c4f86b..e4c6bd6 100644 >>> +--- a/gcc/common.opt >>> ++++ b/gcc/common.opt >>> +@@ -2516,6 +2516,14 @@ grecord-gcc-switches >>> + Common RejectNegative Var(dwarf_record_gcc_switches,1) >>> + Record gcc command line switches in DWARF DW_AT_producer. >>> + >>> ++gno-record-debug-prefix-map >>> ++Common RejectNegative Var(dwarf_record_debug_prefix_map,0) Init(1) >>> ++Don't record -fdebug-prefix-map in gcc command line switches in DWARF >>> DW_AT_producer. >>> ++ >>> ++grecord-debug-prefix-map >>> ++Common RejectNegative Var(dwarf_record_debug_prefix_map,1) >>> ++Record -fdebug-prefix-map in gcc command line switches in DWARF >>> DW_AT_producer. >>> ++ >>> + gno-split-dwarf >>> + Common Driver RejectNegative Var(dwarf_split_debug_info,0) Init(0) >>> + Don't generate debug information in separate .dwo files >>> +diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c >>> +index f90329b..646a706 100644 >>> +--- a/gcc/dwarf2out.c >>> ++++ b/gcc/dwarf2out.c >>> +@@ -19383,6 +19383,8 @@ gen_producer_string (void) >>> + case OPT_SPECIAL_input_file: >>> + case OPT_grecord_gcc_switches: >>> + case OPT_gno_record_gcc_switches: >>> ++ case OPT_grecord_debug_prefix_map: >>> ++ case OPT_gno_record_debug_prefix_map: >>> + case OPT__output_pch_: >>> + case OPT_fdiagnostics_show_location_: >>> + case OPT_fdiagnostics_show_option: >>> +@@ -19415,6 +19417,12 @@ gen_producer_string (void) >>> + default: >>> + break; >>> + } >>> ++ >>> ++ /* Don't record -fdebug-prefix-map in gcc command line >>> ++ switches in DWARF DW_AT_producer */ >>> ++ if (save_decoded_options[j].opt_index==OPT_fdebug_prefix_map_ && >>> ++ !dwarf_record_debug_prefix_map) >>> ++ continue; >>> + switches.safe_push >>> (save_decoded_options[j].orig_option_with_args_text); >>> + len += strlen >>> (save_decoded_options[j].orig_option_with_args_text) + 1; >>> + break; >>> +-- >>> +1.9.1 >>> + >>> -- >>> 1.9.1 >>> >>> -- >>> _______________________________________________ >>> Openembedded-core mailing list >>> Openembedded-core@lists.openembedded.org >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core >
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core