From: Khem Raj <raj.khem@gmail.com>
To: musl@lists.openwall.com
Cc: Khem Raj <raj.khem@gmail.com>
Subject: [musl] [PATCH] crt: Add .file directive
Date: Fri, 30 Oct 2020 11:44:02 -0700 [thread overview]
Message-ID: <20201030184402.807422-1-raj.khem@gmail.com> (raw)
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
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.2
next reply other threads:[~2020-10-30 18:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-30 18:44 Khem Raj [this message]
2020-10-30 18:50 ` Rich Felker
2020-10-30 20:54 ` Fangrui Song
2021-01-04 20:08 ` Fangrui Song
2021-01-05 2:11 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201030184402.807422-1-raj.khem@gmail.com \
--to=raj.khem@gmail.com \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).