summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch
diff options
context:
space:
mode:
authorJosef Knedl <josef.kemetmueller@aon.at>2016-02-13 18:39:49 +0100
committerVladimír Čunát <vcunat@gmail.com>2016-02-17 09:42:10 +0100
commit0fe58cade5e90896dfafc49bd0c8cf89c5160fd3 (patch)
tree18483b074022c884ce915b215aaf9e49fbfc1f93 /pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch
parent31ab7d38f23e556fd4e25508bed02455474b6c97 (diff)
gcc: fix #12836: build on darwin
Patch is based on GCC Bug 66523: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66523
Diffstat (limited to 'pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch')
-rw-r--r--pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch b/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch
new file mode 100644
index 000000000000..a7e158ca364b
--- /dev/null
+++ b/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch
@@ -0,0 +1,27 @@
+From 82f81877458ea372176eabb5de36329431dce99b Mon Sep 17 00:00:00 2001
+From: Iain Sandoe <iain@codesourcery.com>
+Date: Sat, 21 Dec 2013 00:30:18 +0000
+Subject: [PATCH] don't try to mark local symbols as no-dead-strip
+
+---
+ gcc/config/darwin.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
+index 40804b8..0080299 100644
+--- a/gcc/config/darwin.c
++++ b/gcc/config/darwin.c
+@@ -1259,6 +1259,11 @@ darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED)
+ void
+ darwin_mark_decl_preserved (const char *name)
+ {
++ /* Actually we shouldn't mark any local symbol this way, but for now
++ this only happens with ObjC meta-data. */
++ if (darwin_label_is_anonymous_local_objc_name (name))
++ return;
++
+ fprintf (asm_out_file, "\t.no_dead_strip ");
+ assemble_name (asm_out_file, name);
+ fputc ('\n', asm_out_file);
+--
+2.2.1