[binutils-gdb] Set __ehdr_start rel_from_abs earlier

Alan Modra amodra@sourceware.org
Fri Jan 28 06:32:43 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5617fae7034b141be20c51d901a62fb6ee573cfd

commit 5617fae7034b141be20c51d901a62fb6ee573cfd
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 26 10:25:24 2022 +1030

    Set __ehdr_start rel_from_abs earlier
    
    This is just a tidy, making the __ehdr_start symbol flag tweaks all in
    one place.
    
            * ldelf.c (ldelf_before_allocation): Don't set rel_from_abs
            for __ehdr_start.
            * ldlang.c (lang_symbol_tweaks): Set it here instead.

Diff:
---
 ld/ldelf.c  | 1 -
 ld/ldlang.c | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/ld/ldelf.c b/ld/ldelf.c
index 121c25d948f..33c6a9f1f46 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -1619,7 +1619,6 @@ ldelf_before_allocation (char *audit, char *depaudit,
 		      sizeof ehdr_start_save_u);
 	      ehdr_start->type = bfd_link_hash_defined;
 	      /* It will be converted to section-relative later.  */
-	      ehdr_start->rel_from_abs = 1;
 	      ehdr_start->u.def.section = bfd_abs_section_ptr;
 	      ehdr_start->u.def.value = 0;
 	    }
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 4e6511ba4ff..5dd3df12a0f 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7022,6 +7022,7 @@ lang_symbol_tweaks (void)
 	    h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
 	  h->def_regular = 1;
 	  h->root.linker_def = 1;
+	  h->root.rel_from_abs = 1;
 	}
     }
 }


More information about the Binutils-cvs mailing list