From b0124f3c4f2a353506621d387135ebea6b8c6609 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 29 Oct 2020 22:40:53 -0700 Subject: [PATCH] crt: Add .file directive Musl linked binaries come out to be not reproducible because absolute build path is seen in debug info of crti.o and crtn.o This is due to the fact that these objects are built from assembly source files and they are missing .file directive if we add .file .s in them then debug info encodes this value instead of absolute path in debug_line section fixed in binutils 2.36 [1] [1] https://sourceware.org/bugzilla/show_bug.cgi?id=26822 Upstream-Status: OE-Specific [ Drop when upgrading binutils 2.36+ ] Signed-off-by: Khem Raj --- crt/aarch64/crti.s | 1 + crt/aarch64/crtn.s | 1 + crt/arm/crti.s | 1 + crt/arm/crtn.s | 1 + crt/i386/crti.s | 1 + crt/i386/crtn.s | 1 + crt/microblaze/crti.s | 1 + crt/microblaze/crtn.s | 1 + crt/mips/crti.s | 1 + crt/mips/crtn.s | 1 + crt/mips64/crti.s | 1 + crt/mips64/crtn.s | 1 + crt/mipsn32/crti.s | 1 + crt/mipsn32/crtn.s | 1 + crt/or1k/crti.s | 1 + crt/or1k/crtn.s | 1 + crt/powerpc/crti.s | 1 + crt/powerpc/crtn.s | 1 + crt/powerpc64/crti.s | 1 + crt/powerpc64/crtn.s | 1 + crt/s390x/crti.s | 1 + crt/s390x/crtn.s | 1 + crt/sh/crti.s | 1 + crt/sh/crtn.s | 1 + crt/x32/crti.s | 1 + crt/x32/crtn.s | 1 + crt/x86_64/crti.s | 1 + crt/x86_64/crtn.s | 1 + 28 files changed, 28 insertions(+) --- a/crt/aarch64/crti.s +++ b/crt/aarch64/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init .type _init,%function --- a/crt/aarch64/crtn.s +++ b/crt/aarch64/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init ldp x29,x30,[sp],#16 ret --- a/crt/arm/crti.s +++ b/crt/arm/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .syntax unified .section .init --- a/crt/arm/crtn.s +++ b/crt/arm/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .syntax unified .section .init --- a/crt/i386/crti.s +++ b/crt/i386/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init _init: --- a/crt/i386/crtn.s +++ b/crt/i386/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init add $12,%esp ret --- a/crt/microblaze/crti.s +++ b/crt/microblaze/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init .align 2 --- a/crt/microblaze/crtn.s +++ b/crt/microblaze/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init lwi r15, r1, 0 rtsd r15, 8 --- a/crt/mips/crti.s +++ b/crt/mips/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .set noreorder .section .init --- a/crt/mips/crtn.s +++ b/crt/mips/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .set noreorder .section .init --- a/crt/mips64/crti.s +++ b/crt/mips64/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .set noreorder .section .init --- a/crt/mips64/crtn.s +++ b/crt/mips64/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .set noreorder .section .init --- a/crt/mipsn32/crti.s +++ b/crt/mipsn32/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .set noreorder .section .init .global _init --- a/crt/mipsn32/crtn.s +++ b/crt/mipsn32/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .set noreorder .section .init ld $gp, 16($sp) --- a/crt/or1k/crti.s +++ b/crt/or1k/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init _init: --- a/crt/or1k/crtn.s +++ b/crt/or1k/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init l.lwz r9,0(r1) l.jr r9 --- a/crt/powerpc/crti.s +++ b/crt/powerpc/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .align 2 .global _init --- a/crt/powerpc/crtn.s +++ b/crt/powerpc/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init .align 2 lwz 0,36(1) --- a/crt/powerpc64/crti.s +++ b/crt/powerpc64/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .align 2 .global _init --- a/crt/powerpc64/crtn.s +++ b/crt/powerpc64/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init .align 2 addi 1, 1, 32 --- a/crt/s390x/crti.s +++ b/crt/s390x/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .align 2 .global _init --- a/crt/s390x/crtn.s +++ b/crt/s390x/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init .align 2 lmg %r14, %r15, 272(%r15) --- a/crt/sh/crti.s +++ b/crt/sh/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init .type _init, @function --- a/crt/sh/crtn.s +++ b/crt/sh/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init lds.l @r15+, pr mov.l @r15+, r14 --- a/crt/x32/crti.s +++ b/crt/x32/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init _init: --- a/crt/x32/crtn.s +++ b/crt/x32/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init pop %rax ret --- a/crt/x86_64/crti.s +++ b/crt/x86_64/crti.s @@ -1,3 +1,4 @@ +.file "crti.s" .section .init .global _init _init: --- a/crt/x86_64/crtn.s +++ b/crt/x86_64/crtn.s @@ -1,3 +1,4 @@ +.file "crtn.s" .section .init pop %rax ret