diff options
| author | Khem Raj <raj.khem@gmail.com> | 2021-01-29 23:19:53 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-03 21:45:49 +0000 |
| commit | ff21f42cf0afc46cc8738fee10c5df66158cd952 (patch) | |
| tree | f04784f18f05c58c33c57f61ba9a4edf276e8d45 | |
| parent | 22cfb4693ac6329a70c3a5ea9493f0798bfcebe0 (diff) | |
| download | poky-ff21f42cf0afc46cc8738fee10c5df66158cd952.tar.gz | |
glibc: Drop adding .file directive in asm files
it was a workaround for binutils issue which is fixed in 2.36 with
https://sourceware.org/bugzilla/show_bug.cgi?id=26822
(From OE-Core rev: 5dfba8c373de858badd8944f7ad9932549238045)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-core/glibc/glibc/0026-inject-file-assembly-directives.patch | 244 | ||||
| -rw-r--r-- | meta/recipes-core/glibc/glibc_2.32.bb | 1 |
2 files changed, 0 insertions, 245 deletions
diff --git a/meta/recipes-core/glibc/glibc/0026-inject-file-assembly-directives.patch b/meta/recipes-core/glibc/glibc/0026-inject-file-assembly-directives.patch deleted file mode 100644 index 5137fedb7b..0000000000 --- a/meta/recipes-core/glibc/glibc/0026-inject-file-assembly-directives.patch +++ /dev/null | |||
| @@ -1,244 +0,0 @@ | |||
| 1 | From cf043d56638883157dbfaa8c6a8e2f63a6f66280 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Thu, 29 Nov 2018 17:29:35 -0800 | ||
| 4 | Subject: [PATCH 26/29] inject file assembly directives | ||
| 5 | |||
| 6 | Currently, non-IA builds are not reproducibile since build paths are | ||
| 7 | being injected into the debug symbols. These are coming from the use of | ||
| 8 | .S assembler files during the glibc build. No STT_FILE section is added | ||
| 9 | during the assembly but when linking, ld decides to add one to aid | ||
| 10 | debugging and ensure references between the different object files its | ||
| 11 | linking remain clear. | ||
| 12 | |||
| 13 | We can avoid this by injecting a file header into the assembler files | ||
| 14 | ahead of time, choosing a filename which does not contain build system | ||
| 15 | paths. | ||
| 16 | |||
| 17 | This is a bit of a workaround/hack but does significantly reduce the | ||
| 18 | build system references in target binaries for the non-IA architectures | ||
| 19 | which use .S files. | ||
| 20 | |||
| 21 | RP | ||
| 22 | 2018/10/3 | ||
| 23 | |||
| 24 | fixed in binutils 2.36 [1] | ||
| 25 | |||
| 26 | [1] https://sourceware.org/bugzilla/show_bug.cgi?id=26822 | ||
| 27 | |||
| 28 | Upstream-Status: OE-Specific [ Drop when upgrading binutils 2.36+ ] | ||
| 29 | |||
| 30 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 31 | --- | ||
| 32 | csu/abi-note.c | 2 ++ | ||
| 33 | sysdeps/aarch64/crti.S | 2 ++ | ||
| 34 | sysdeps/aarch64/crtn.S | 1 + | ||
| 35 | sysdeps/aarch64/dl-tlsdesc.S | 2 ++ | ||
| 36 | sysdeps/aarch64/dl-trampoline.S | 2 ++ | ||
| 37 | sysdeps/aarch64/start.S | 2 ++ | ||
| 38 | sysdeps/arm/crti.S | 2 ++ | ||
| 39 | sysdeps/arm/crtn.S | 2 ++ | ||
| 40 | sysdeps/arm/dl-tlsdesc.S | 2 ++ | ||
| 41 | sysdeps/arm/dl-trampoline.S | 2 ++ | ||
| 42 | sysdeps/arm/start.S | 2 ++ | ||
| 43 | sysdeps/mips/start.S | 2 ++ | ||
| 44 | sysdeps/powerpc/powerpc32/dl-start.S | 2 ++ | ||
| 45 | sysdeps/powerpc/powerpc32/start.S | 2 ++ | ||
| 46 | sysdeps/powerpc/powerpc64/start.S | 2 ++ | ||
| 47 | sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++ | ||
| 48 | sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++ | ||
| 49 | sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++ | ||
| 50 | sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++ | ||
| 51 | 19 files changed, 37 insertions(+) | ||
| 52 | |||
| 53 | --- a/sysdeps/aarch64/crti.S | ||
| 54 | +++ b/sysdeps/aarch64/crti.S | ||
| 55 | @@ -50,6 +50,8 @@ | ||
| 56 | # define PREINIT_FUNCTION_WEAK 1 | ||
| 57 | #endif | ||
| 58 | |||
| 59 | + .file "crti.S" | ||
| 60 | + | ||
| 61 | #if PREINIT_FUNCTION_WEAK | ||
| 62 | weak_extern (PREINIT_FUNCTION) | ||
| 63 | #else | ||
| 64 | --- a/sysdeps/aarch64/crtn.S | ||
| 65 | +++ b/sysdeps/aarch64/crtn.S | ||
| 66 | @@ -38,6 +38,7 @@ | ||
| 67 | corresponding to the prologues in crti.S. */ | ||
| 68 | |||
| 69 | #include <sysdep.h> | ||
| 70 | + .file "crtn.S" | ||
| 71 | |||
| 72 | .section .init,"ax",%progbits | ||
| 73 | ldp x29, x30, [sp], 16 | ||
| 74 | --- a/sysdeps/aarch64/dl-tlsdesc.S | ||
| 75 | +++ b/sysdeps/aarch64/dl-tlsdesc.S | ||
| 76 | @@ -22,6 +22,8 @@ | ||
| 77 | #include <tls.h> | ||
| 78 | #include "tlsdesc.h" | ||
| 79 | |||
| 80 | + .file "dl-tlsdesc.S" | ||
| 81 | + | ||
| 82 | #define NSAVEDQREGPAIRS 16 | ||
| 83 | #define SAVE_Q_REGISTERS \ | ||
| 84 | stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \ | ||
| 85 | --- a/sysdeps/aarch64/dl-trampoline.S | ||
| 86 | +++ b/sysdeps/aarch64/dl-trampoline.S | ||
| 87 | @@ -21,6 +21,8 @@ | ||
| 88 | |||
| 89 | #include "dl-link.h" | ||
| 90 | |||
| 91 | + .file "dl-trampoline.S" | ||
| 92 | + | ||
| 93 | #define ip0 x16 | ||
| 94 | #define ip0l PTR_REG (16) | ||
| 95 | #define ip1 x17 | ||
| 96 | --- a/sysdeps/aarch64/start.S | ||
| 97 | +++ b/sysdeps/aarch64/start.S | ||
| 98 | @@ -18,6 +18,8 @@ | ||
| 99 | |||
| 100 | #include <sysdep.h> | ||
| 101 | |||
| 102 | + .file "start.S" | ||
| 103 | + | ||
| 104 | /* This is the canonical entry point, usually the first thing in the text | ||
| 105 | segment. | ||
| 106 | |||
| 107 | --- a/sysdeps/arm/crti.S | ||
| 108 | +++ b/sysdeps/arm/crti.S | ||
| 109 | @@ -57,6 +57,8 @@ | ||
| 110 | .hidden PREINIT_FUNCTION | ||
| 111 | #endif | ||
| 112 | |||
| 113 | + .file "crti.S" | ||
| 114 | + | ||
| 115 | #if PREINIT_FUNCTION_WEAK | ||
| 116 | .p2align 2 | ||
| 117 | .type call_weak_fn, %function | ||
| 118 | --- a/sysdeps/arm/crtn.S | ||
| 119 | +++ b/sysdeps/arm/crtn.S | ||
| 120 | @@ -37,6 +37,8 @@ | ||
| 121 | #define NO_THUMB | ||
| 122 | #include <sysdep.h> | ||
| 123 | |||
| 124 | + .file "crtn.S" | ||
| 125 | + | ||
| 126 | /* crtn.S puts function epilogues in the .init and .fini sections | ||
| 127 | corresponding to the prologues in crti.S. */ | ||
| 128 | |||
| 129 | --- a/sysdeps/arm/dl-tlsdesc.S | ||
| 130 | +++ b/sysdeps/arm/dl-tlsdesc.S | ||
| 131 | @@ -21,6 +21,8 @@ | ||
| 132 | #include <tls.h> | ||
| 133 | #include "tlsdesc.h" | ||
| 134 | |||
| 135 | + .file "dl-tlsdesc.S" | ||
| 136 | + | ||
| 137 | .text | ||
| 138 | @ emit debug information with cfi | ||
| 139 | @ use arm-specific pseudos for unwinding itself | ||
| 140 | --- a/sysdeps/arm/dl-trampoline.S | ||
| 141 | +++ b/sysdeps/arm/dl-trampoline.S | ||
| 142 | @@ -21,6 +21,8 @@ | ||
| 143 | #include <sysdep.h> | ||
| 144 | #include <libc-symbols.h> | ||
| 145 | |||
| 146 | + .file "dl-trampoline.S" | ||
| 147 | + | ||
| 148 | .text | ||
| 149 | .globl _dl_runtime_resolve | ||
| 150 | .type _dl_runtime_resolve, #function | ||
| 151 | --- a/sysdeps/arm/start.S | ||
| 152 | +++ b/sysdeps/arm/start.S | ||
| 153 | @@ -57,6 +57,8 @@ | ||
| 154 | NULL | ||
| 155 | */ | ||
| 156 | |||
| 157 | + .file "start.S" | ||
| 158 | + | ||
| 159 | /* Tag_ABI_align8_preserved: This code preserves 8-byte | ||
| 160 | alignment in any callee. */ | ||
| 161 | .eabi_attribute 25, 1 | ||
| 162 | --- a/sysdeps/mips/start.S | ||
| 163 | +++ b/sysdeps/mips/start.S | ||
| 164 | @@ -38,6 +38,8 @@ | ||
| 165 | #include <sgidefs.h> | ||
| 166 | #include <sys/asm.h> | ||
| 167 | |||
| 168 | + .file "start.S" | ||
| 169 | + | ||
| 170 | #ifndef ENTRY_POINT | ||
| 171 | #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF. | ||
| 172 | #endif | ||
| 173 | --- a/sysdeps/powerpc/powerpc32/dl-start.S | ||
| 174 | +++ b/sysdeps/powerpc/powerpc32/dl-start.S | ||
| 175 | @@ -18,6 +18,8 @@ | ||
| 176 | |||
| 177 | #include <sysdep.h> | ||
| 178 | |||
| 179 | + .file "dl-start.S" | ||
| 180 | + | ||
| 181 | /* Initial entry point code for the dynamic linker. | ||
| 182 | The C function `_dl_start' is the real entry point; | ||
| 183 | its return value is the user program's entry point. */ | ||
| 184 | --- a/sysdeps/powerpc/powerpc32/start.S | ||
| 185 | +++ b/sysdeps/powerpc/powerpc32/start.S | ||
| 186 | @@ -35,6 +35,8 @@ | ||
| 187 | |||
| 188 | #include <sysdep.h> | ||
| 189 | |||
| 190 | + .file "start.S" | ||
| 191 | + | ||
| 192 | /* We do not want .eh_frame info for crt1.o since crt1.o is linked | ||
| 193 | before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ | ||
| 194 | #undef cfi_startproc | ||
| 195 | --- a/sysdeps/powerpc/powerpc64/start.S | ||
| 196 | +++ b/sysdeps/powerpc/powerpc64/start.S | ||
| 197 | @@ -35,6 +35,8 @@ | ||
| 198 | |||
| 199 | #include <sysdep.h> | ||
| 200 | |||
| 201 | + .file "start.S" | ||
| 202 | + | ||
| 203 | /* We do not want .eh_frame info for crt1.o since crt1.o is linked | ||
| 204 | before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ | ||
| 205 | #undef cfi_startproc | ||
| 206 | --- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S | ||
| 207 | +++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S | ||
| 208 | @@ -18,6 +18,8 @@ | ||
| 209 | |||
| 210 | #include <sysdep.h> | ||
| 211 | |||
| 212 | + .file "__read_tp.S" | ||
| 213 | + | ||
| 214 | .hidden __read_tp | ||
| 215 | ENTRY (__read_tp) | ||
| 216 | mrs x0, tpidr_el0 | ||
| 217 | --- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | ||
| 218 | +++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | ||
| 219 | @@ -39,6 +39,8 @@ | ||
| 220 | a normal function call) in a high page of memory; tail call to the | ||
| 221 | helper. */ | ||
| 222 | |||
| 223 | + .file "aeabi_read_tp.S" | ||
| 224 | + | ||
| 225 | .hidden __aeabi_read_tp | ||
| 226 | ENTRY (__aeabi_read_tp) | ||
| 227 | #ifdef ARCH_HAS_HARD_TP | ||
| 228 | --- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | ||
| 229 | +++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | ||
| 230 | @@ -27,6 +27,8 @@ | ||
| 231 | ARM unwind tables for register to register moves, the actual opcodes | ||
| 232 | are not defined. */ | ||
| 233 | |||
| 234 | + .file "libc-do-syscall.S" | ||
| 235 | + | ||
| 236 | #if defined(__thumb__) | ||
| 237 | .thumb | ||
| 238 | .syntax unified | ||
| 239 | --- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S | ||
| 240 | +++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S | ||
| 241 | @@ -1 +1,3 @@ | ||
| 242 | + .file "dl-brk.S" | ||
| 243 | + | ||
| 244 | #include <brk.S> | ||
diff --git a/meta/recipes-core/glibc/glibc_2.32.bb b/meta/recipes-core/glibc/glibc_2.32.bb index edf196c428..2d9c707a0b 100644 --- a/meta/recipes-core/glibc/glibc_2.32.bb +++ b/meta/recipes-core/glibc/glibc_2.32.bb | |||
| @@ -38,7 +38,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
| 38 | file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ | 38 | file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ |
| 39 | file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ | 39 | file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ |
| 40 | file://0025-intl-Emit-no-lines-in-bison-generated-files.patch \ | 40 | file://0025-intl-Emit-no-lines-in-bison-generated-files.patch \ |
| 41 | file://0026-inject-file-assembly-directives.patch \ | ||
| 42 | file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ | 41 | file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ |
| 43 | file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ | 42 | file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ |
| 44 | file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ | 43 | file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ |
