mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
musl: Add .file directive in crt assembly files
This helps linker to noot emit absolute paths into .debug_line sections of liked binaries and libraries and therefore make them reproducible Reported-by: Andrei Gherzan <andrei@gherzan.ro> (From OE-Core rev: cc4b464e31fec68b32592cc84344a9704eae8e02) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,300 @@
|
|||||||
|
From b0124f3c4f2a353506621d387135ebea6b8c6609 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
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 <filename>.s in them then debug info encodes this
|
||||||
|
value instead of absolute path in debug_line section
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
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(+)
|
||||||
|
|
||||||
|
diff --git a/crt/aarch64/crti.s b/crt/aarch64/crti.s
|
||||||
|
index 775df0ac..0f7c23a9 100644
|
||||||
|
--- a/crt/aarch64/crti.s
|
||||||
|
+++ b/crt/aarch64/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
.type _init,%function
|
||||||
|
diff --git a/crt/aarch64/crtn.s b/crt/aarch64/crtn.s
|
||||||
|
index 73cab692..d62fc129 100644
|
||||||
|
--- 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
|
||||||
|
diff --git a/crt/arm/crti.s b/crt/arm/crti.s
|
||||||
|
index 18dc1e41..8df72979 100644
|
||||||
|
--- a/crt/arm/crti.s
|
||||||
|
+++ b/crt/arm/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/arm/crtn.s b/crt/arm/crtn.s
|
||||||
|
index dc020f92..7451355b 100644
|
||||||
|
--- a/crt/arm/crtn.s
|
||||||
|
+++ b/crt/arm/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/i386/crti.s b/crt/i386/crti.s
|
||||||
|
index d2682a20..2823fc3b 100644
|
||||||
|
--- a/crt/i386/crti.s
|
||||||
|
+++ b/crt/i386/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
_init:
|
||||||
|
diff --git a/crt/i386/crtn.s b/crt/i386/crtn.s
|
||||||
|
index f3b61e01..04fb1646 100644
|
||||||
|
--- a/crt/i386/crtn.s
|
||||||
|
+++ b/crt/i386/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.section .init
|
||||||
|
add $12,%esp
|
||||||
|
ret
|
||||||
|
diff --git a/crt/microblaze/crti.s b/crt/microblaze/crti.s
|
||||||
|
index ed1c2fa4..29ee4733 100644
|
||||||
|
--- a/crt/microblaze/crti.s
|
||||||
|
+++ b/crt/microblaze/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
.align 2
|
||||||
|
diff --git a/crt/microblaze/crtn.s b/crt/microblaze/crtn.s
|
||||||
|
index 1e02c984..c2083749 100644
|
||||||
|
--- 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
|
||||||
|
diff --git a/crt/mips/crti.s b/crt/mips/crti.s
|
||||||
|
index 39dee380..0211764e 100644
|
||||||
|
--- a/crt/mips/crti.s
|
||||||
|
+++ b/crt/mips/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.set noreorder
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/mips/crtn.s b/crt/mips/crtn.s
|
||||||
|
index 506a04b7..606490cf 100644
|
||||||
|
--- a/crt/mips/crtn.s
|
||||||
|
+++ b/crt/mips/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.set noreorder
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/mips64/crti.s b/crt/mips64/crti.s
|
||||||
|
index c962dd09..f2c19cdd 100644
|
||||||
|
--- a/crt/mips64/crti.s
|
||||||
|
+++ b/crt/mips64/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.set noreorder
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/mips64/crtn.s b/crt/mips64/crtn.s
|
||||||
|
index f3930b24..68903ffa 100644
|
||||||
|
--- a/crt/mips64/crtn.s
|
||||||
|
+++ b/crt/mips64/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.set noreorder
|
||||||
|
|
||||||
|
.section .init
|
||||||
|
diff --git a/crt/mipsn32/crti.s b/crt/mipsn32/crti.s
|
||||||
|
index 14fa28d9..a35387d3 100644
|
||||||
|
--- a/crt/mipsn32/crti.s
|
||||||
|
+++ b/crt/mipsn32/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.set noreorder
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
diff --git a/crt/mipsn32/crtn.s b/crt/mipsn32/crtn.s
|
||||||
|
index dccd7e89..bdb6e561 100644
|
||||||
|
--- 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)
|
||||||
|
diff --git a/crt/or1k/crti.s b/crt/or1k/crti.s
|
||||||
|
index 7e741459..919369ca 100644
|
||||||
|
--- a/crt/or1k/crti.s
|
||||||
|
+++ b/crt/or1k/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
_init:
|
||||||
|
diff --git a/crt/or1k/crtn.s b/crt/or1k/crtn.s
|
||||||
|
index 4185a027..d670b327 100644
|
||||||
|
--- 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
|
||||||
|
diff --git a/crt/powerpc/crti.s b/crt/powerpc/crti.s
|
||||||
|
index 60461ca4..b748ca48 100644
|
||||||
|
--- a/crt/powerpc/crti.s
|
||||||
|
+++ b/crt/powerpc/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.align 2
|
||||||
|
.global _init
|
||||||
|
diff --git a/crt/powerpc/crtn.s b/crt/powerpc/crtn.s
|
||||||
|
index 2d14a6f0..d989e36f 100644
|
||||||
|
--- 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)
|
||||||
|
diff --git a/crt/powerpc64/crti.s b/crt/powerpc64/crti.s
|
||||||
|
index 9f712f0e..d3323a67 100644
|
||||||
|
--- a/crt/powerpc64/crti.s
|
||||||
|
+++ b/crt/powerpc64/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.align 2
|
||||||
|
.global _init
|
||||||
|
diff --git a/crt/powerpc64/crtn.s b/crt/powerpc64/crtn.s
|
||||||
|
index a7a9f4a0..5e71ae66 100644
|
||||||
|
--- 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
|
||||||
|
diff --git a/crt/s390x/crti.s b/crt/s390x/crti.s
|
||||||
|
index f453205b..3da3c5e1 100644
|
||||||
|
--- a/crt/s390x/crti.s
|
||||||
|
+++ b/crt/s390x/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.align 2
|
||||||
|
.global _init
|
||||||
|
diff --git a/crt/s390x/crtn.s b/crt/s390x/crtn.s
|
||||||
|
index 06066dc9..bfd55caf 100644
|
||||||
|
--- 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)
|
||||||
|
diff --git a/crt/sh/crti.s b/crt/sh/crti.s
|
||||||
|
index d99bfd5c..77d61c51 100644
|
||||||
|
--- a/crt/sh/crti.s
|
||||||
|
+++ b/crt/sh/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
.type _init, @function
|
||||||
|
diff --git a/crt/sh/crtn.s b/crt/sh/crtn.s
|
||||||
|
index 958ce951..29deb5be 100644
|
||||||
|
--- 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
|
||||||
|
diff --git a/crt/x32/crti.s b/crt/x32/crti.s
|
||||||
|
index 4788968b..8668b7c7 100644
|
||||||
|
--- a/crt/x32/crti.s
|
||||||
|
+++ b/crt/x32/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
_init:
|
||||||
|
diff --git a/crt/x32/crtn.s b/crt/x32/crtn.s
|
||||||
|
index 29198b77..ef73d295 100644
|
||||||
|
--- a/crt/x32/crtn.s
|
||||||
|
+++ b/crt/x32/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.section .init
|
||||||
|
pop %rax
|
||||||
|
ret
|
||||||
|
diff --git a/crt/x86_64/crti.s b/crt/x86_64/crti.s
|
||||||
|
index 4788968b..8668b7c7 100644
|
||||||
|
--- a/crt/x86_64/crti.s
|
||||||
|
+++ b/crt/x86_64/crti.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crti.s"
|
||||||
|
.section .init
|
||||||
|
.global _init
|
||||||
|
_init:
|
||||||
|
diff --git a/crt/x86_64/crtn.s b/crt/x86_64/crtn.s
|
||||||
|
index 29198b77..ef73d295 100644
|
||||||
|
--- a/crt/x86_64/crtn.s
|
||||||
|
+++ b/crt/x86_64/crtn.s
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+.file "crtn.s"
|
||||||
|
.section .init
|
||||||
|
pop %rax
|
||||||
|
ret
|
||||||
|
--
|
||||||
|
2.29.1
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}"
|
|||||||
SRC_URI = "git://git.musl-libc.org/musl \
|
SRC_URI = "git://git.musl-libc.org/musl \
|
||||||
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
|
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
|
||||||
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
|
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
|
||||||
|
file://0001-crt-Add-.file-directive.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|||||||
Reference in New Issue
Block a user