* [ptxdist] [PATCH][OSELAS.Toolchain] binutils-2.21.1a: remove annoying 'warn-on-all-TEXTRELs.patch'
@ 2012-03-20 8:56 Andreas Bießmann
2012-08-13 9:43 ` Andreas Bießmann
0 siblings, 1 reply; 2+ messages in thread
From: Andreas Bießmann @ 2012-03-20 8:56 UTC (permalink / raw)
To: ptxdist; +Cc: oselas, Andreas Bießmann
The 'warn-on-all-TEXTRELs.patch' produces warnings on some embedded projects:
---8<---
arm-v5te-linux-gnueabi-ld: warning: creating a DT_TEXTREL in object.
text data bss dec hex filename
423076 7480 305016 735572 b3954 /tmp/build_arm_at91/u-boot
--->8---
This renders this toolchain nearly un-usable for this use-case. If one will
see these warnings he can always use the '--warn-shared-textrel' switch so
this patch will only revert the 'default to warn' to 'default to ignore
warning' which is in fact the default for GNU linker.
Another point is that even crosstool-ng has switched back and removed this
patch, it seems there are some other users bothered by that warning.
Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
---
...1-05-31-Paul-Brook-paul-codesourcery.com.patch} | 0
.../0002-warn-on-all-TEXTRELs.patch | 80 --------------------
patches/binutils-2.21.1a/series | 5 +-
3 files changed, 2 insertions(+), 83 deletions(-)
rename patches/binutils-2.21.1a/{0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch => 0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch} (100%)
delete mode 100644 patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
diff --git a/patches/binutils-2.21.1a/0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch b/patches/binutils-2.21.1a/0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
similarity index 100%
rename from patches/binutils-2.21.1a/0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
rename to patches/binutils-2.21.1a/0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
diff --git a/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch b/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
deleted file mode 100644
index 3be8fae..0000000
--- a/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From: unknown author <unknown.author@example.com>
-Date: Tue, 1 Nov 2011 16:44:50 +0100
-Subject: [PATCH] warn on all TEXTRELs
-
-textrels are bad for forcing copy-on-write (this affects everyone),
-and for security/runtime code generation, this affects security ppl.
-But in either case, it doesn't matter who needs textrels, it's
-the very fact that they're needed at all.
-
-2006-06-10 Ned Ludd <solar@gentoo.org>, Mike Frysinger <vapier@gentoo.org>
-
- * bfd/elflink.c (bfd_elf_final_link): Check all objects for TEXTRELs.
- * ld/ldmain.c (main): Change textrel warning default to true.
- * ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL
- warnings from ld output.
-
-Original patch from gentoo. Also used by crosstool-ng (binutils-2.20.1a).
----
- bfd/elflink.c | 8 +++-----
- ld/ldmain.c | 1 +
- ld/testsuite/lib/ld-lib.exp | 4 ++++
- 3 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 9e69ec6..0396659 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -11114,14 +11114,12 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
- goto error_return;
-
- /* Check for DT_TEXTREL (late, in case the backend removes it). */
-- if (info->warn_shared_textrel && info->shared)
-+ o = bfd_get_section_by_name (dynobj, ".dynamic");
-+ if (info->warn_shared_textrel && o != NULL)
- {
- bfd_byte *dyncon, *dynconend;
-
- /* Fix up .dynamic entries. */
-- o = bfd_get_section_by_name (dynobj, ".dynamic");
-- BFD_ASSERT (o != NULL);
--
- dyncon = o->contents;
- dynconend = o->contents + o->size;
- for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
-@@ -11133,7 +11131,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
- if (dyn.d_tag == DT_TEXTREL)
- {
- info->callbacks->einfo
-- (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
-+ (_("%P: warning: creating a DT_TEXTREL in object.\n"));
- break;
- }
- }
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 96f3bda..9f88cc4 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -287,6 +287,7 @@ main (int argc, char **argv)
- emulation = get_emulation (argc, argv);
- ldemul_choose_mode (emulation);
- default_target = ldemul_choose_target (argc, argv);
-+ link_info.warn_shared_textrel = TRUE;
- config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
- config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
- lang_init ();
-diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
-index f444da7..f935f12 100644
---- a/ld/testsuite/lib/ld-lib.exp
-+++ b/ld/testsuite/lib/ld-lib.exp
-@@ -206,6 +206,10 @@ proc default_ld_simple_link { ld target objects } {
- # symbol, since the default linker script might use ENTRY.
- regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
-
-+ # Gentoo tweak:
-+ # We want to ignore TEXTREL warnings since we force enable them by default
-+ regsub -all "^lt-ld-new: warning: creating a DT_TEXTREL in object\." $exec_output "\\1" exec_output
-+
- if [string match "" $exec_output] then {
- return 1
- } else {
diff --git a/patches/binutils-2.21.1a/series b/patches/binutils-2.21.1a/series
index bab2133..f0d739a 100644
--- a/patches/binutils-2.21.1a/series
+++ b/patches/binutils-2.21.1a/series
@@ -1,6 +1,5 @@
# generated by git-ptx-patches
#tag:base --start-number 1
0001-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
-0002-warn-on-all-TEXTRELs.patch
-0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
-# df7383a34a1fb7245bbcc4a517757b0a - git-ptx-patches magic
+0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
+# ab44a8a2deb9ac0a004704a7638a046e - git-ptx-patches magic
--
1.7.9.1
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ptxdist] [PATCH][OSELAS.Toolchain] binutils-2.21.1a: remove annoying 'warn-on-all-TEXTRELs.patch'
2012-03-20 8:56 [ptxdist] [PATCH][OSELAS.Toolchain] binutils-2.21.1a: remove annoying 'warn-on-all-TEXTRELs.patch' Andreas Bießmann
@ 2012-08-13 9:43 ` Andreas Bießmann
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Bießmann @ 2012-08-13 9:43 UTC (permalink / raw)
To: Andreas Bießmann; +Cc: oselas, ptxdist
On 20.03.2012 09:56, Andreas Bießmann wrote:
> The 'warn-on-all-TEXTRELs.patch' produces warnings on some embedded projects:
>
> ---8<---
> arm-v5te-linux-gnueabi-ld: warning: creating a DT_TEXTREL in object.
> text data bss dec hex filename
> 423076 7480 305016 735572 b3954 /tmp/build_arm_at91/u-boot
> --->8---
>
> This renders this toolchain nearly un-usable for this use-case. If one will
> see these warnings he can always use the '--warn-shared-textrel' switch so
> this patch will only revert the 'default to warn' to 'default to ignore
> warning' which is in fact the default for GNU linker.
>
> Another point is that even crosstool-ng has switched back and removed this
> patch, it seems there are some other users bothered by that warning.
>
> Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
> ---
Any comment on that patch?
> ...1-05-31-Paul-Brook-paul-codesourcery.com.patch} | 0
> .../0002-warn-on-all-TEXTRELs.patch | 80 --------------------
> patches/binutils-2.21.1a/series | 5 +-
> 3 files changed, 2 insertions(+), 83 deletions(-)
> rename patches/binutils-2.21.1a/{0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch => 0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch} (100%)
> delete mode 100644 patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
>
> diff --git a/patches/binutils-2.21.1a/0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch b/patches/binutils-2.21.1a/0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
> similarity index 100%
> rename from patches/binutils-2.21.1a/0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
> rename to patches/binutils-2.21.1a/0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
> diff --git a/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch b/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
> deleted file mode 100644
> index 3be8fae..0000000
> --- a/patches/binutils-2.21.1a/0002-warn-on-all-TEXTRELs.patch
> +++ /dev/null
> @@ -1,80 +0,0 @@
> -From: unknown author <unknown.author@example.com>
> -Date: Tue, 1 Nov 2011 16:44:50 +0100
> -Subject: [PATCH] warn on all TEXTRELs
> -
> -textrels are bad for forcing copy-on-write (this affects everyone),
> -and for security/runtime code generation, this affects security ppl.
> -But in either case, it doesn't matter who needs textrels, it's
> -the very fact that they're needed at all.
> -
> -2006-06-10 Ned Ludd <solar@gentoo.org>, Mike Frysinger <vapier@gentoo.org>
> -
> - * bfd/elflink.c (bfd_elf_final_link): Check all objects for TEXTRELs.
> - * ld/ldmain.c (main): Change textrel warning default to true.
> - * ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL
> - warnings from ld output.
> -
> -Original patch from gentoo. Also used by crosstool-ng (binutils-2.20.1a).
> ----
> - bfd/elflink.c | 8 +++-----
> - ld/ldmain.c | 1 +
> - ld/testsuite/lib/ld-lib.exp | 4 ++++
> - 3 files changed, 8 insertions(+), 5 deletions(-)
> -
> -diff --git a/bfd/elflink.c b/bfd/elflink.c
> -index 9e69ec6..0396659 100644
> ---- a/bfd/elflink.c
> -+++ b/bfd/elflink.c
> -@@ -11114,14 +11114,12 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
> - goto error_return;
> -
> - /* Check for DT_TEXTREL (late, in case the backend removes it). */
> -- if (info->warn_shared_textrel && info->shared)
> -+ o = bfd_get_section_by_name (dynobj, ".dynamic");
> -+ if (info->warn_shared_textrel && o != NULL)
> - {
> - bfd_byte *dyncon, *dynconend;
> -
> - /* Fix up .dynamic entries. */
> -- o = bfd_get_section_by_name (dynobj, ".dynamic");
> -- BFD_ASSERT (o != NULL);
> --
> - dyncon = o->contents;
> - dynconend = o->contents + o->size;
> - for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
> -@@ -11133,7 +11131,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
> - if (dyn.d_tag == DT_TEXTREL)
> - {
> - info->callbacks->einfo
> -- (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
> -+ (_("%P: warning: creating a DT_TEXTREL in object.\n"));
> - break;
> - }
> - }
> -diff --git a/ld/ldmain.c b/ld/ldmain.c
> -index 96f3bda..9f88cc4 100644
> ---- a/ld/ldmain.c
> -+++ b/ld/ldmain.c
> -@@ -287,6 +287,7 @@ main (int argc, char **argv)
> - emulation = get_emulation (argc, argv);
> - ldemul_choose_mode (emulation);
> - default_target = ldemul_choose_target (argc, argv);
> -+ link_info.warn_shared_textrel = TRUE;
> - config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
> - config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
> - lang_init ();
> -diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
> -index f444da7..f935f12 100644
> ---- a/ld/testsuite/lib/ld-lib.exp
> -+++ b/ld/testsuite/lib/ld-lib.exp
> -@@ -206,6 +206,10 @@ proc default_ld_simple_link { ld target objects } {
> - # symbol, since the default linker script might use ENTRY.
> - regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
> -
> -+ # Gentoo tweak:
> -+ # We want to ignore TEXTREL warnings since we force enable them by default
> -+ regsub -all "^lt-ld-new: warning: creating a DT_TEXTREL in object\." $exec_output "\\1" exec_output
> -+
> - if [string match "" $exec_output] then {
> - return 1
> - } else {
> diff --git a/patches/binutils-2.21.1a/series b/patches/binutils-2.21.1a/series
> index bab2133..f0d739a 100644
> --- a/patches/binutils-2.21.1a/series
> +++ b/patches/binutils-2.21.1a/series
> @@ -1,6 +1,5 @@
> # generated by git-ptx-patches
> #tag:base --start-number 1
> 0001-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
> -0002-warn-on-all-TEXTRELs.patch
> -0003-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
> -# df7383a34a1fb7245bbcc4a517757b0a - git-ptx-patches magic
> +0002-2011-05-31-Paul-Brook-paul-codesourcery.com.patch
> +# ab44a8a2deb9ac0a004704a7638a046e - git-ptx-patches magic
>
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-08-13 9:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-20 8:56 [ptxdist] [PATCH][OSELAS.Toolchain] binutils-2.21.1a: remove annoying 'warn-on-all-TEXTRELs.patch' Andreas Bießmann
2012-08-13 9:43 ` Andreas Bießmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox