aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-02-10 09:15:08 +0000
committerJakub Jelinek <jakub@redhat.com>2005-02-10 09:15:08 +0000
commitd457dcf69843196978118f12d749e8aa284202a0 (patch)
treee6d6b604c932bd69f589f55294e7ac5423bec233
parent0dffe982d81812ed9d480dcfcdf3fb1f28ae96e2 (diff)
downloadfsf-binutils-gdb-d457dcf69843196978118f12d749e8aa284202a0.zip
fsf-binutils-gdb-d457dcf69843196978118f12d749e8aa284202a0.tar.gz
fsf-binutils-gdb-d457dcf69843196978118f12d749e8aa284202a0.tar.bz2
* bfd-in.h (BFD_LINKER_CREATED): Define.
* bfd-in2.h: Rebuilt. * elflink.c (bfd_elf_size_dynamic_sections): Disregard BFD_LINKER_CREATED bfds when determining input bfds without .note.GNU-stack section. * emultempl/hppaelf.em (hppaelf_create_output_section_statements): Set BFD_LINKER_CREATED on the stubs bfd. * emultempl/ppc64elf.em (ppc_create_output_section_statements): Likewise.
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/bfd-in.h6
-rw-r--r--bfd/bfd-in2.h6
-rw-r--r--bfd/elflink.c2
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emultempl/hppaelf.em1
-rw-r--r--ld/emultempl/ppc64elf.em1
7 files changed, 28 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 889411f..1cc875f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2005-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * bfd-in.h (BFD_LINKER_CREATED): Define.
+ * bfd-in2.h: Rebuilt.
+ * elflink.c (bfd_elf_size_dynamic_sections): Disregard
+ BFD_LINKER_CREATED bfds when determining input bfds without
+ .note.GNU-stack section.
+
2005-02-10 Maciej W. Rozycki <macro@mips.com>
* elf64-mips.c (mips16_gprel_reloc): Update a comment.
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 8695e68..033db48 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -1,7 +1,7 @@
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@ -230,6 +230,10 @@ bfd_format;
/* The sections in this BFD specify a memory page. */
#define HAS_LOAD_PAGE 0x1000
+
+/* This BFD has been created by the linker and doesn't correspond
+ to any input file. */
+#define BFD_LINKER_CREATED 0x2000
/* Symbols and relocation. */
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index da2d8cc..8afe498 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -8,7 +8,7 @@
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@ -245,6 +245,10 @@ bfd_format;
/* The sections in this BFD specify a memory page. */
#define HAS_LOAD_PAGE 0x1000
+
+/* This BFD has been created by the linker and doesn't correspond
+ to any input file. */
+#define BFD_LINKER_CREATED 0x2000
/* Symbols and relocation. */
diff --git a/bfd/elflink.c b/bfd/elflink.c
index b8b9af5..6c65bab 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -4895,7 +4895,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
{
asection *s;
- if (inputobj->flags & DYNAMIC)
+ if (inputobj->flags & (DYNAMIC | BFD_LINKER_CREATED))
continue;
s = bfd_get_section_by_name (inputobj, ".note.GNU-stack");
if (s)
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 82d9b1c..3561308 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2005-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
+ Set BFD_LINKER_CREATED on the stubs bfd.
+ * emultempl/ppc64elf.em (ppc_create_output_section_statements):
+ Likewise.
+
2005-02-08 Mark Mitchell <mark@codesourcery.com>
* scripttempl/armbpabi.sc (VERSION): Make special section symbols
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index 2b03fbe..b6b9ce6 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -88,6 +88,7 @@ hppaelf_create_output_section_statements (void)
return;
}
+ stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
ldlang_add_file (stub_file);
}
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 338e090..de4f02f 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -92,6 +92,7 @@ ppc_create_output_section_statements (void)
return;
}
+ stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
ldlang_add_file (stub_file);
ppc64_elf_init_stub_bfd (stub_file->the_bfd, &link_info);
}