summarylogtreecommitdiffstats
path: root/01-reloc-libiconv-1.14.patch
diff options
context:
space:
mode:
authorxantares2015-06-08 22:54:31 +0200
committerxantares2015-06-08 22:54:31 +0200
commited43afcf45341e79e82dbfd38804dca85d81cb75 (patch)
tree2c6f0a5919b5b8b4371ad714f168da4ddd3985d9 /01-reloc-libiconv-1.14.patch
downloadaur-ed43afcf45341e79e82dbfd38804dca85d81cb75.tar.gz
Initial import
Diffstat (limited to '01-reloc-libiconv-1.14.patch')
-rw-r--r--01-reloc-libiconv-1.14.patch262
1 files changed, 262 insertions, 0 deletions
diff --git a/01-reloc-libiconv-1.14.patch b/01-reloc-libiconv-1.14.patch
new file mode 100644
index 000000000000..da25ffea38f3
--- /dev/null
+++ b/01-reloc-libiconv-1.14.patch
@@ -0,0 +1,262 @@
+diff -urN old/libiconv-1.14/lib/relocatable.c new/libiconv-1.14/lib/relocatable.c
+--- old/libiconv-1.14/lib/relocatable.c 2011-08-07 13:48:03.000000000 -0400
++++ new/libiconv-1.14/lib/relocatable.c 2011-10-15 03:14:13.195133600 -0400
+@@ -2,20 +2,18 @@
+ Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+- This program is free software; you can redistribute it and/or modify it
+- under the terms of the GNU Library General Public License as published
+- by the Free Software Foundation; either version 2, or (at your option)
+- any later version.
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Library General Public License for more details.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU Lesser General Public License for more details.
+
+- You should have received a copy of the GNU Library General Public
+- License along with this program; if not, write to the Free Software
+- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+- USA. */
++ You should have received a copy of the GNU Lesser General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+ /* Tell glibc's <stdio.h> to provide a prototype for getline().
+@@ -87,6 +85,19 @@
+ # define FILE_SYSTEM_PREFIX_LEN(P) 0
+ #endif
+
++/* Whether to enable the more costly support for relocatable libraries.
++ It allows libraries to be have been installed with a different original
++ prefix than the program. But it is quite costly, especially on Cygwin
++ platforms, see below. Therefore we enable it by default only on native
++ Win32 platforms. */
++#ifndef ENABLE_COSTLY_RELOCATABLE
++# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
++# define ENABLE_COSTLY_RELOCATABLE 1
++# else
++# define ENABLE_COSTLY_RELOCATABLE 0
++# endif
++#endif
++
+ /* Original installation prefix. */
+ static char *orig_prefix;
+ static size_t orig_prefix_len;
+@@ -156,7 +167,7 @@
+ #endif
+ }
+
+-#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
++#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
+
+ /* Convenience function:
+ Computes the current installation prefix, based on the original
+@@ -286,7 +297,7 @@
+
+ #endif /* !IN_LIBRARY || PIC */
+
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+
+ /* Full pathname of shared library, or NULL. */
+ static char *shared_library_fullname;
+@@ -332,7 +343,9 @@
+ #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
+ /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
+ function.
+- Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */
++ Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
++ But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
++ Cygwin 1.7. */
+ FILE *fp;
+
+ /* Open the current process' maps file. It describes one VMA per line. */
+@@ -405,7 +418,7 @@
+ const char *
+ relocate (const char *pathname)
+ {
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+ static int initialized;
+
+ /* Initialization code for a shared library. */
+diff -urN old/libiconv-1.14/libcharset/lib/relocatable.c new/libiconv-1.14/libcharset/lib/relocatable.c
+--- old/libiconv-1.14/libcharset/lib/relocatable.c 2011-08-07 13:48:03.000000000 -0400
++++ new/libiconv-1.14/libcharset/lib/relocatable.c 2011-10-15 03:14:27.878133600 -0400
+@@ -2,20 +2,18 @@
+ Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+- This program is free software; you can redistribute it and/or modify it
+- under the terms of the GNU Library General Public License as published
+- by the Free Software Foundation; either version 2, or (at your option)
+- any later version.
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Library General Public License for more details.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU Lesser General Public License for more details.
+
+- You should have received a copy of the GNU Library General Public
+- License along with this program; if not, write to the Free Software
+- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+- USA. */
++ You should have received a copy of the GNU Lesser General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+ /* Tell glibc's <stdio.h> to provide a prototype for getline().
+@@ -87,6 +85,19 @@
+ # define FILE_SYSTEM_PREFIX_LEN(P) 0
+ #endif
+
++/* Whether to enable the more costly support for relocatable libraries.
++ It allows libraries to be have been installed with a different original
++ prefix than the program. But it is quite costly, especially on Cygwin
++ platforms, see below. Therefore we enable it by default only on native
++ Win32 platforms. */
++#ifndef ENABLE_COSTLY_RELOCATABLE
++# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
++# define ENABLE_COSTLY_RELOCATABLE 1
++# else
++# define ENABLE_COSTLY_RELOCATABLE 0
++# endif
++#endif
++
+ /* Original installation prefix. */
+ static char *orig_prefix;
+ static size_t orig_prefix_len;
+@@ -156,7 +167,7 @@
+ #endif
+ }
+
+-#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
++#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
+
+ /* Convenience function:
+ Computes the current installation prefix, based on the original
+@@ -286,7 +297,7 @@
+
+ #endif /* !IN_LIBRARY || PIC */
+
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+
+ /* Full pathname of shared library, or NULL. */
+ static char *shared_library_fullname;
+@@ -332,7 +343,9 @@
+ #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
+ /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
+ function.
+- Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */
++ Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
++ But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
++ Cygwin 1.7. */
+ FILE *fp;
+
+ /* Open the current process' maps file. It describes one VMA per line. */
+@@ -405,7 +418,7 @@
+ const char *
+ relocate (const char *pathname)
+ {
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+ static int initialized;
+
+ /* Initialization code for a shared library. */
+diff -urN old/libiconv-1.14/srclib/relocatable.c new/libiconv-1.14/srclib/relocatable.c
+--- old/libiconv-1.14/srclib/relocatable.c 2011-08-07 09:42:06.000000000 -0400
++++ new/libiconv-1.14/srclib/relocatable.c 2011-10-15 03:14:37.739133600 -0400
+@@ -3,16 +3,16 @@
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 3 of the License, or
++ it under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
++ GNU Lesser General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
++ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+@@ -85,6 +85,19 @@
+ # define FILE_SYSTEM_PREFIX_LEN(P) 0
+ #endif
+
++/* Whether to enable the more costly support for relocatable libraries.
++ It allows libraries to be have been installed with a different original
++ prefix than the program. But it is quite costly, especially on Cygwin
++ platforms, see below. Therefore we enable it by default only on native
++ Win32 platforms. */
++#ifndef ENABLE_COSTLY_RELOCATABLE
++# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
++# define ENABLE_COSTLY_RELOCATABLE 1
++# else
++# define ENABLE_COSTLY_RELOCATABLE 0
++# endif
++#endif
++
+ /* Original installation prefix. */
+ static char *orig_prefix;
+ static size_t orig_prefix_len;
+@@ -154,7 +167,7 @@
+ #endif
+ }
+
+-#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
++#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
+
+ /* Convenience function:
+ Computes the current installation prefix, based on the original
+@@ -284,7 +297,7 @@
+
+ #endif /* !IN_LIBRARY || PIC */
+
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+
+ /* Full pathname of shared library, or NULL. */
+ static char *shared_library_fullname;
+@@ -330,7 +343,9 @@
+ #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
+ /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
+ function.
+- Cygwin >= 1.5 has /proc/self/maps and the getline() function too. */
++ Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
++ But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
++ Cygwin 1.7. */
+ FILE *fp;
+
+ /* Open the current process' maps file. It describes one VMA per line. */
+@@ -403,7 +418,7 @@
+ const char *
+ relocate (const char *pathname)
+ {
+-#if defined PIC && defined INSTALLDIR
++#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
+ static int initialized;
+
+ /* Initialization code for a shared library. */