This looks good. Can you also propose it for dunfell? On Tue, Nov 10, 2020 at 10:14 AM Denys Zagorui -X (dzagorui - GLOBALLOGIC INC@Cisco) via lists.openembedded.org <[email protected]> wrote: > > powerpc 32bit Linux Kernel widely uses .stabs pseudo-op to > produce debugging information in stabs format. Faced an issue > that during Linux Kernel build with Yocto build system for 32bit > powerpc platform resulting vmlinux contains absolute path in > .stabstr section that cannot be remapped with -fdebug-prefix-map > option. > > Yocto uses scripts/mkmakefile Linux Kernel build approach that > allows to store all generated files outside of kernel source > tree. With this approach each compilier invocation is performed > with an absolute path to a file that will be compiled and this > absolute path is recorded in init stab. There is no way to remap > this path. > > Reuse remap_debug_filename api to make -fdebug-prefix-map flag > aplicable for init stab. > > Signed-off-by: Denys Zagorui <[email protected]> > --- > meta/recipes-devtools/binutils/binutils-2.35.inc | 1 + > ...-reproducibility-for-stabs-debugging-data.patch | 35 > ++++++++++++++++++++++ > 2 files changed, 36 insertions(+) > create mode 100644 > meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch > > diff --git a/meta/recipes-devtools/binutils/binutils-2.35.inc > b/meta/recipes-devtools/binutils/binutils-2.35.inc > index 5ae9ec4..bc9107b 100644 > --- a/meta/recipes-devtools/binutils/binutils-2.35.inc > +++ b/meta/recipes-devtools/binutils/binutils-2.35.inc > @@ -41,5 +41,6 @@ SRC_URI = "\ > file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \ > file://0015-sync-with-OE-libtool-changes.patch \ > file://0016-Check-for-clang-before-checking-gcc-version.patch \ > + file://0017-gas-improve-reproducibility-for-stabs-debugging-data.patch \ > " > S = "${WORKDIR}/git" > diff --git > a/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch > > b/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch > new file mode 100644 > index 0000000..42e0c1c > --- /dev/null > +++ > b/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch > @@ -0,0 +1,35 @@ > +From aa6586e80fc6fcd739aa959a71e4cf064cdef072 Mon Sep 17 00:00:00 2001 > +From: Denys Zagorui <[email protected]> > +Date: Mon, 9 Nov 2020 15:39:10 +0000 > +Subject: [PATCH] gas: improve reproducibility for stabs debugging data format > + > + * config/obj-elf (obj_elf_init_stab_section): Improve > + reproducibility for stabs debugging data format > + > +Upstream-Status: Backport > [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0541201782c006c09d029d18a45c6e743cfea906] > +--- > + gas/config/obj-elf.c | 3 ++- > + 1 file changed, 2 insertions(+), 1 deletion(-) > + > +diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c > +index de22b5a1da..2025df8542 100644 > +--- a/gas/config/obj-elf.c > ++++ b/gas/config/obj-elf.c > +@@ -2374,12 +2374,13 @@ obj_elf_init_stab_section (segT seg) > + p = frag_more (12); > + /* Zero it out. */ > + memset (p, 0, 12); > +- file = as_where (NULL); > ++ file = remap_debug_filename (as_where (NULL)); > + stabstr_name = concat (segment_name (seg), "str", (char *) NULL); > + stroff = get_stab_string_offset (file, stabstr_name, TRUE); > + know (stroff == 1 || (stroff == 0 && file[0] == '\0')); > + md_number_to_chars (p, stroff, 4); > + seg_info (seg)->stabu.p = p; > ++ xfree ((char *) file); > + } > + > + #endif > +-- > +2.20.1 > + > -- > 2.7.4 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#144447): https://lists.openembedded.org/g/openembedded-core/message/144447 Mute This Topic: https://lists.openembedded.org/mt/78165527/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
