mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] [PATCH] crt: Add .file directive
@ 2020-10-30 18:44 Khem Raj
  2020-10-30 18:50 ` Rich Felker
  0 siblings, 1 reply; 5+ messages in thread
From: Khem Raj @ 2020-10-30 18:44 UTC (permalink / raw)
  To: musl; +Cc: Khem Raj

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-01-05  2:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-30 18:44 [musl] [PATCH] crt: Add .file directive Khem Raj
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

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).