Author: pluto Date: Wed Jun 8 08:23:31 2011 GMT Module: packages Tag: HEAD ---- Log message: - emit proper warning about relocation in shared objects' text segment instead of memory gpf. ld: warning: relocation in readonly section `.rodata'. ld: warning: creating a DT_TEXTREL in a shared object. - release 4.
---- Files affected: packages/binutils: binutils.spec (1.341 -> 1.342) , binutils-warn_ro_relocs.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/binutils/binutils.spec diff -u packages/binutils/binutils.spec:1.341 packages/binutils/binutils.spec:1.342 --- packages/binutils/binutils.spec:1.341 Tue Jun 7 12:55:11 2011 +++ packages/binutils/binutils.spec Wed Jun 8 10:23:25 2011 @@ -18,7 +18,7 @@ Summary(uk.UTF-8): Набір інструментів GNU для побудови виконуваних програм Name: binutils Version: 2.21.51.0.9 -Release: 3 +Release: 4 Epoch: 3 License: GPL v3+ Group: Development/Tools @@ -36,6 +36,7 @@ Patch8: %{name}-build-id.patch Patch9: %{name}-tooldir.patch Patch10: %{name}-pr12163.patch +Patch11: %{name}-warn_ro_relocs.patch URL: http://sources.redhat.com/binutils/ BuildRequires: autoconf >= 2.64 BuildRequires: automake >= 1:1.11 @@ -157,6 +158,7 @@ %patch8 -p0 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # file contains hacks for ac 2.59 only %{__rm} config/override.m4 @@ -352,6 +354,13 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.342 2011/06/08 08:23:25 pluto +- emit proper warning about relocation in shared objects' text segment + instead of memory gpf. + ld: warning: relocation in readonly section `.rodata'. + ld: warning: creating a DT_TEXTREL in a shared object. +- release 4. + Revision 1.341 2011/06/07 10:55:11 arekm - release 3 ================================================================ Index: packages/binutils/binutils-warn_ro_relocs.patch diff -u /dev/null packages/binutils/binutils-warn_ro_relocs.patch:1.1 --- /dev/null Wed Jun 8 10:23:31 2011 +++ packages/binutils/binutils-warn_ro_relocs.patch Wed Jun 8 10:23:26 2011 @@ -0,0 +1,52 @@ +commit cd83a0f5f7496853f21ae956ffcc3759adee1c1f +Author: H.J. Lu <hjl.to...@gmail.com> +Date: Wed Jun 1 19:42:00 2011 +0000 + + Properly warn relocation in readonly section in a shared object. + + 2011-06-01 H.J. Lu <hongjiu...@intel.com> + + * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn + relocation in readonly section in a shared object. + * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise. + +diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c +index ee1511f..eea2263 100644 +--- a/bfd/elf32-i386.c ++++ b/bfd/elf32-i386.c +@@ -2488,13 +2488,13 @@ elf_i386_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, + { + srel = elf_section_data (p->sec)->sreloc; + srel->size += p->count * sizeof (Elf32_External_Rel); +- if ((p->sec->output_section->flags & SEC_READONLY) != 0) ++ if ((p->sec->output_section->flags & SEC_READONLY) != 0 ++ && (info->flags & DF_TEXTREL) == 0) + { + info->flags |= DF_TEXTREL; + if (info->warn_shared_textrel && info->shared) + info->callbacks->einfo (_("%P: %B: warning: relocation in readonly section `%A'.\n"), + p->sec->owner, p->sec); +- break; + } + } + } +diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c +index 5cbaff8..9d6d4a4 100644 +--- a/bfd/elf64-x86-64.c ++++ b/bfd/elf64-x86-64.c +@@ -2399,13 +2399,13 @@ elf_x86_64_size_dynamic_sections (bfd *output_bfd, + { + srel = elf_section_data (p->sec)->sreloc; + srel->size += p->count * bed->s->sizeof_rela; +- if ((p->sec->output_section->flags & SEC_READONLY) != 0) ++ if ((p->sec->output_section->flags & SEC_READONLY) != 0 ++ && (info->flags & DF_TEXTREL) == 0) + { + info->flags |= DF_TEXTREL; + if (info->warn_shared_textrel && info->shared) + info->callbacks->einfo (_("%P: %B: warning: relocation in readonly section `%A'.\n"), + p->sec->owner, p->sec); +- break; + } + } + } ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/binutils/binutils.spec?r1=1.341&r2=1.342&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit