[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r24590 - in /fsf/trunk/libc: ./ crypt/ elf/ localedata/ localedata/locales/ malloc/ ports/ ports/sysdeps/hppa/ ports/sysdeps...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r24590 - in /fsf/trunk/libc: ./ crypt/ elf/ localedata/ localedata/locales/ malloc/ ports/ ports/sysdeps/hppa/ ports/sysdeps...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 22 Nov 2013 08:02:18 -0000
Author: eglibc
Date: Fri Nov 22 00:02:17 2013
New Revision: 24590
Log:
Import glibc-mainline for 2013-11-22
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/crypt/crypt.h
fsf/trunk/libc/elf/dl-close.c
fsf/trunk/libc/elf/dl-fini.c
fsf/trunk/libc/elf/dl-init.c
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/localedata/locales/ar_AE
fsf/trunk/libc/localedata/locales/ar_BH
fsf/trunk/libc/localedata/locales/ar_DZ
fsf/trunk/libc/localedata/locales/ar_EG
fsf/trunk/libc/localedata/locales/ar_IN
fsf/trunk/libc/localedata/locales/ar_IQ
fsf/trunk/libc/localedata/locales/ar_JO
fsf/trunk/libc/localedata/locales/ar_KW
fsf/trunk/libc/localedata/locales/ar_LB
fsf/trunk/libc/localedata/locales/ar_LY
fsf/trunk/libc/localedata/locales/ar_MA
fsf/trunk/libc/localedata/locales/ar_OM
fsf/trunk/libc/localedata/locales/ar_QA
fsf/trunk/libc/localedata/locales/ar_SA
fsf/trunk/libc/localedata/locales/ar_SD
fsf/trunk/libc/localedata/locales/ar_SS
fsf/trunk/libc/localedata/locales/ar_SY
fsf/trunk/libc/localedata/locales/ar_TN
fsf/trunk/libc/localedata/locales/ar_YE
fsf/trunk/libc/malloc/malloc.c
fsf/trunk/libc/malloc/obstack.h
fsf/trunk/libc/ports/ChangeLog.hppa
fsf/trunk/libc/ports/ChangeLog.ia64
fsf/trunk/libc/ports/sysdeps/hppa/dl-lookupcfg.h
fsf/trunk/libc/ports/sysdeps/hppa/dl-machine.h
fsf/trunk/libc/ports/sysdeps/ia64/dl-lookupcfg.h
fsf/trunk/libc/ports/sysdeps/ia64/dl-machine.h
fsf/trunk/libc/posix/unistd.h
fsf/trunk/libc/sysdeps/generic/ldsodefs.h
fsf/trunk/libc/sysdeps/generic/sys/swap.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Nov 22 00:02:17 2013
@@ -1,3 +1,27 @@
+2013-11-21 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * malloc/malloc.c: Move #include <sys/param.h> to the top; comment why
+ it's there.
+
+ * sysdeps/generic/sys/swap.h (swapon): Add FLAGS argument to prototype.
+
+2013-11-21 Meador Inge <meadori@xxxxxxxxxxxxxxxx>
+
+ [BZ #11157]
+ * crypt/crypt.h (encrypt): Use __glibc_block instead of __block.
+ (encrypt_r): Likewise.
+ * malloc/obstack.h (obstack_free): Likewise.
+ * posix/unistd.h (encrypt): Likewise.
+
+2013-11-21 Guy Martin <gmsoft@xxxxxxxxxxxx>
+
+ * sysdeps/generic/ldsodefs.h: Replace DL_DT_INIT_ADDRESS() and
+ DL_DT_FINI_ADDRESS() macro with DL_CALL_DT_INIT() and
+ DL_CALL_DT_FINI() that call the functions directly.
+ * elf/dl-init.c: Use the new DL_CALL_DT_INIT() macro.
+ * elf/dl-close.c: Use the new DL_CALL_DT_FINI() macro.
+ * elf/dl-fini.c: Likewise.
+
2013-11-20 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
* malloc/hooks.c (memalign_check): Add alignment rounding.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Nov 22 00:02:17 2013
@@ -9,17 +9,17 @@
* The following bugs are resolved with this release:
- 156, 387, 431, 832, 2801, 7003, 9954, 10253, 10278, 11087, 13028, 13982,
- 13985, 14029, 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15048,
- 15218, 15277, 15308, 15362, 15374, 15400, 15427, 15483, 15522, 15531,
- 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672, 15680,
- 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15763,
- 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856, 15857,
- 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905,
- 15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15985,
- 15988, 15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071, 16072,
- 16074, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151, 16153,
- 16167, 16172.
+ 156, 387, 431, 832, 2801, 7003, 9954, 11157, 10253, 10278, 11087, 13028,
+ 13982, 13985, 14029, 14143, 14155, 14547, 14699, 14752, 14876, 14910,
+ 15048, 15218, 15277, 15308, 15362, 15374, 15400, 15427, 15483, 15522,
+ 15531, 15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672,
+ 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760,
+ 15763, 15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856,
+ 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
+ 15905, 15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966,
+ 15985, 15988, 15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071,
+ 16072, 16074, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151,
+ 16153, 16167, 16172.
* CVE-2012-4412 The strcoll implementation caches indices and rules for
large collation sequences to optimize multiple passes. This cache
Modified: fsf/trunk/libc/crypt/crypt.h
==============================================================================
--- fsf/trunk/libc/crypt/crypt.h (original)
+++ fsf/trunk/libc/crypt/crypt.h Fri Nov 22 00:02:17 2013
@@ -37,7 +37,8 @@
/* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
block in place. */
-extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
+extern void encrypt (char *__glibc_block, int __edflag)
+ __THROW __nonnull ((1));
#ifdef __USE_GNU
/* Reentrant versions of the functions above. The additional argument
@@ -64,7 +65,7 @@
struct crypt_data * __restrict __data)
__THROW __nonnull ((1, 2));
-extern void encrypt_r (char *__block, int __edflag,
+extern void encrypt_r (char *__glibc_block, int __edflag,
struct crypt_data * __restrict __data)
__THROW __nonnull ((1, 3));
#endif
Modified: fsf/trunk/libc/elf/dl-close.c
==============================================================================
--- fsf/trunk/libc/elf/dl-close.c (original)
+++ fsf/trunk/libc/elf/dl-close.c Fri Nov 22 00:02:17 2013
@@ -274,9 +274,8 @@
/* Next try the old-style destructor. */
if (imap->l_info[DT_FINI] != NULL)
- (*(void (*) (void)) DL_DT_FINI_ADDRESS
- (imap, ((void *) imap->l_addr
- + imap->l_info[DT_FINI]->d_un.d_ptr))) ();
+ DL_CALL_DT_FINI (imap, ((void *) imap->l_addr
+ + imap->l_info[DT_FINI]->d_un.d_ptr));
}
#ifdef SHARED
Modified: fsf/trunk/libc/elf/dl-fini.c
==============================================================================
--- fsf/trunk/libc/elf/dl-fini.c (original)
+++ fsf/trunk/libc/elf/dl-fini.c Fri Nov 22 00:02:17 2013
@@ -254,7 +254,7 @@
/* Next try the old-style destructor. */
if (l->l_info[DT_FINI] != NULL)
- ((fini_t) DL_DT_FINI_ADDRESS (l, l->l_addr + l->l_info[DT_FINI]->d_un.d_ptr)) ();
+ DL_CALL_DT_FINI(l, l->l_addr + l->l_info[DT_FINI]->d_un.d_ptr);
}
#ifdef SHARED
Modified: fsf/trunk/libc/elf/dl-init.c
==============================================================================
--- fsf/trunk/libc/elf/dl-init.c (original)
+++ fsf/trunk/libc/elf/dl-init.c Fri Nov 22 00:02:17 2013
@@ -61,13 +61,7 @@
- the others in the DT_INIT_ARRAY.
*/
if (l->l_info[DT_INIT] != NULL)
- {
- init_t init = (init_t) DL_DT_INIT_ADDRESS
- (l, l->l_addr + l->l_info[DT_INIT]->d_un.d_ptr);
-
- /* Call the function. */
- init (argc, argv, env);
- }
+ DL_CALL_DT_INIT(l, l->l_addr + l->l_info[DT_INIT]->d_un.d_ptr, argc, argv, env);
/* Next see whether there is an array with initialization functions. */
ElfW(Dyn) *init_array = l->l_info[DT_INIT_ARRAY];
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Fri Nov 22 00:02:17 2013
@@ -1,3 +1,25 @@
+2013-11-21 Chris Leonard <cjl@xxxxxxxxxxxxx>
+
+ * locales/ar_AE: Add lang_name to Arabic locales.
+ * locales/ar_BH: Likewise.
+ * locales/ar_DZ: Likewise.
+ * locales/ar_EG: Likewise.
+ * locales/ar_IN: Likewise.
+ * locales/ar_IQ: Likewise.
+ * locales/ar_JO: Likewise.
+ * locales/ar_KW: Likewise.
+ * locales/ar_LB: Likewise.
+ * locales/ar_LY: Likewise.
+ * locales/ar_MA: Likewise.
+ * locales/ar_OM: Likewise.
+ * locales/ar_QA: Likewise.
+ * locales/ar_SA: Likewise.
+ * locales/ar_SD: Likewise.
+ * locales/ar_SS: Likewise.
+ * locales/ar_SY: Likewise.
+ * locales/ar_TN: Likewise.
+ * locales/ar_YE: Likewise.
+
2013-11-20 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
[BZ #15601]
Modified: fsf/trunk/libc/localedata/locales/ar_AE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_AE (original)
+++ fsf/trunk/libc/localedata/locales/ar_AE Fri Nov 22 00:02:17 2013
@@ -184,6 +184,7 @@
country_num 784
% UAE
country_car "<U0055><U0041><U0045>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_BH
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_BH (original)
+++ fsf/trunk/libc/localedata/locales/ar_BH Fri Nov 22 00:02:17 2013
@@ -188,6 +188,7 @@
country_num 048
% BRN
country_car "<U0042><U0052><U004E>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_DZ
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_DZ (original)
+++ fsf/trunk/libc/localedata/locales/ar_DZ Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 012
% DZ
country_car "<U0044><U005A>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_EG
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_EG (original)
+++ fsf/trunk/libc/localedata/locales/ar_EG Fri Nov 22 00:02:17 2013
@@ -195,6 +195,7 @@
country_num 818
% ET
country_car "<U0045><U0054>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_IN (original)
+++ fsf/trunk/libc/localedata/locales/ar_IN Fri Nov 22 00:02:17 2013
@@ -164,6 +164,7 @@
country_num 356
% IND
country_car "<U0049><U004E><U0044>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_IQ
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_IQ (original)
+++ fsf/trunk/libc/localedata/locales/ar_IQ Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 368
% IRQ
country_car "<U0049><U0052><U0051>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_JO
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_JO (original)
+++ fsf/trunk/libc/localedata/locales/ar_JO Fri Nov 22 00:02:17 2013
@@ -205,6 +205,7 @@
country_num 400
% HKJ
country_car "<U0048><U004B><U004A>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_KW
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_KW (original)
+++ fsf/trunk/libc/localedata/locales/ar_KW Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 414
% KWT
country_car "<U004B><U0057><U0054>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_LB
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_LB (original)
+++ fsf/trunk/libc/localedata/locales/ar_LB Fri Nov 22 00:02:17 2013
@@ -204,6 +204,7 @@
country_num 422
% RL
country_car "<U0052><U004C>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_LY
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_LY (original)
+++ fsf/trunk/libc/localedata/locales/ar_LY Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 434
% LAR
country_car "<U004C><U0041><U0052>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_MA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_MA (original)
+++ fsf/trunk/libc/localedata/locales/ar_MA Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 504
% MA
country_car "<U004D><U0041>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_OM
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_OM (original)
+++ fsf/trunk/libc/localedata/locales/ar_OM Fri Nov 22 00:02:17 2013
@@ -185,6 +185,7 @@
country_ab2 "<U004F><U004D>"
country_ab3 "<U004F><U004D><U004E>"
country_num 512
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_QA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_QA (original)
+++ fsf/trunk/libc/localedata/locales/ar_QA Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 634
% Q
country_car "<U0051>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_SA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SA (original)
+++ fsf/trunk/libc/localedata/locales/ar_SA Fri Nov 22 00:02:17 2013
@@ -389,6 +389,7 @@
country_num 682
% KSA
country_car "<U004B><U0053><U0041>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_SD
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SD (original)
+++ fsf/trunk/libc/localedata/locales/ar_SD Fri Nov 22 00:02:17 2013
@@ -203,6 +203,7 @@
country_num 729
% SUD
country_car "<U0053><U0055><U0044>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_SS
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SS (original)
+++ fsf/trunk/libc/localedata/locales/ar_SS Fri Nov 22 00:02:17 2013
@@ -201,6 +201,7 @@
% SSD
country_ab3 "<U0053><U0053><U0044>"
country_num 728
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_SY
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SY (original)
+++ fsf/trunk/libc/localedata/locales/ar_SY Fri Nov 22 00:02:17 2013
@@ -204,6 +204,7 @@
country_num 760
% SYR
country_car "<U0053><U0059><U0052>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_TN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_TN (original)
+++ fsf/trunk/libc/localedata/locales/ar_TN Fri Nov 22 00:02:17 2013
@@ -187,6 +187,7 @@
country_num 788
% TN
country_car "<U0054><U004E>"
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/localedata/locales/ar_YE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_YE (original)
+++ fsf/trunk/libc/localedata/locales/ar_YE Fri Nov 22 00:02:17 2013
@@ -185,6 +185,7 @@
country_ab2 "<U0059><U0045>"
country_ab3 "<U0059><U0045><U004D>"
country_num 887
+lang_name "<U0627><U0644><U0639><U0631><U0628><U064A><U0629>"
% ar
lang_ab "<U0061><U0072>"
% ara
Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Fri Nov 22 00:02:17 2013
@@ -237,6 +237,9 @@
/* For va_arg, va_start, va_end. */
#include <stdarg.h>
+
+/* For MIN, MAX, powerof2. */
+#include <sys/param.h>
/*
@@ -4875,8 +4878,6 @@
abort ();
}
-#include <sys/param.h>
-
/* We need a wrapper function for one of the additions of POSIX. */
int
__posix_memalign (void **memptr, size_t alignment, size_t size)
Modified: fsf/trunk/libc/malloc/obstack.h
==============================================================================
--- fsf/trunk/libc/malloc/obstack.h (original)
+++ fsf/trunk/libc/malloc/obstack.h Fri Nov 22 00:02:17 2013
@@ -185,7 +185,7 @@
void (*) (void *, void *), void *);
extern int _obstack_memory_used (struct obstack *);
-void obstack_free (struct obstack *__obstack, void *__block);
+void obstack_free (struct obstack *__obstack, void *__glibc_block);
/* Error handler called when `obstack_chunk_alloc' failed to allocate
Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Fri Nov 22 00:02:17 2013
@@ -1,3 +1,12 @@
+2013-11-21 Guy Martin <gmsoft@xxxxxxxxxxxx>
+
+ * sysdeps/hppa/dl-lookupcfg.h: Remove obsolete
+ DL_DT_INIT_ADDRESS() and DL_DT_FINI_ADDRESS() macro and implement
+ DL_CALL_DT_INIT() as well as DL_CALL_DT_FINI().
+ Define DL_DT_FUNCTION_ADDRESS().
+ * sysdeps/hppa/dl-machine.h: Update ELF_MACHINE_START_ADDRESS()
+ to use DL_DT_FUNCTION_ADDRESS().
+
2013-10-30 Mike Frysinger <vapier@xxxxxxxxxx>
* sysdeps/hppa/configure.in: Moved to ...
Modified: fsf/trunk/libc/ports/ChangeLog.ia64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.ia64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.ia64 Fri Nov 22 00:02:17 2013
@@ -1,3 +1,12 @@
+2013-11-21 Guy Martin <gmsoft@xxxxxxxxxxxx>
+
+ * sysdeps/ia64/dl-lookupcfg.h: Remove obsolete
+ DL_DT_INIT_ADDRESS() and DL_DT_FINI_ADDRESS() macro and implement
+ DL_CALL_DT_INIT() as well as DL_CALL_DT_FINI().
+ Define DL_DT_FUNCTION_ADDRESS().
+ * sysdeps/ia64/dl-machine.h: Update ELF_MACHINE_START_ADDRESS()
+ to use DL_DT_FUNCTION_ADDRESS().
+
2013-10-30 Mike Frysinger <vapier@xxxxxxxxxx>
* sysdeps/ia64/configure.in: Moved to ...
Modified: fsf/trunk/libc/ports/sysdeps/hppa/dl-lookupcfg.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/dl-lookupcfg.h (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/dl-lookupcfg.h Fri Nov 22 00:02:17 2013
@@ -38,32 +38,36 @@
#define DL_UNMAP(map) _dl_unmap (map)
-#define DL_AUTO_FUNCTION_ADDRESS(map, addr) \
-({ \
- unsigned int fptr[2]; \
- fptr[0] = (unsigned int) (addr); \
- fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
- /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ \
- (ElfW(Addr))((unsigned int)fptr | 2); \
-})
+#define DL_DT_FUNCTION_ADDRESS(map, start, attr, addr) \
+ attr volatile unsigned int fptr[2]; \
+ /* The test for "start & 2" below is to accommodate old binaries which \
+ violated the ELF ABI by pointing DT_INIT and DT_FINI at a function \
+ descriptor. */ \
+ if ((ElfW(Addr)) (start) & 2) \
+ addr = (ElfW(Addr)) start; \
+ else \
+ { \
+ fptr[0] = (unsigned int) (start); \
+ fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
+ /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ \
+ addr = (ElfW(Addr))((unsigned int)fptr | 2); \
+ } \
-#define DL_STATIC_FUNCTION_ADDRESS(map, addr) \
-({ \
- static unsigned int fptr[2]; \
- fptr[0] = (unsigned int) (addr); \
- fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
- /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ \
- (ElfW(Addr))((unsigned int)fptr | 2); \
-})
+#define DL_CALL_DT_INIT(map, start, argc, argv, env) \
+{ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, , addr) \
+ init_t init = (init_t) addr; \
+ init (argc, argv, env); \
+}
-
-/* The test for "addr & 2" below is to accommodate old binaries which
- violated the ELF ABI by pointing DT_INIT and DT_FINI at a function
- descriptor. */
-#define DL_DT_INIT_ADDRESS(map, addr) \
- ((Elf32_Addr)(addr) & 2 ? (addr) : DL_AUTO_FUNCTION_ADDRESS (map, addr))
-#define DL_DT_FINI_ADDRESS(map, addr) \
- ((Elf32_Addr)(addr) & 2 ? (addr) : DL_AUTO_FUNCTION_ADDRESS (map, addr))
+#define DL_CALL_DT_FINI(map, start) \
+{ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, , addr) \
+ fini_t fini = (fini_t) addr; \
+ fini (); \
+}
/* The type of the return value of fixup/profile_fixup */
#define DL_FIXUP_VALUE_TYPE struct fdesc
Modified: fsf/trunk/libc/ports/sysdeps/hppa/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/dl-machine.h (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/dl-machine.h Fri Nov 22 00:02:17 2013
@@ -490,8 +490,12 @@
#define ELF_MACHINE_NO_REL 1
/* Return the address of the entry point. */
-#define ELF_MACHINE_START_ADDRESS(map, start) \
- DL_STATIC_FUNCTION_ADDRESS (map, start)
+#define ELF_MACHINE_START_ADDRESS(map, start) \
+({ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, static, addr) \
+ addr; \
+})
/* We define an initialization functions. This is called very early in
* _dl_sysdep_start. */
Modified: fsf/trunk/libc/ports/sysdeps/ia64/dl-lookupcfg.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/ia64/dl-lookupcfg.h (original)
+++ fsf/trunk/libc/ports/sysdeps/ia64/dl-lookupcfg.h Fri Nov 22 00:02:17 2013
@@ -39,24 +39,28 @@
#define DL_UNMAP(map) _dl_unmap (map)
-#define DL_AUTO_FUNCTION_ADDRESS(map, addr) \
-({ \
- unsigned long int fptr[2]; \
- fptr[0] = (unsigned long int) (addr); \
- fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
- (Elf64_Addr) fptr; \
-})
+#define DL_DT_FUNCTION_ADDRESS(map, start, attr, addr) \
+ attr volatile unsigned long int fptr[2]; \
+ fptr[0] = (unsigned long int) (start); \
+ fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
+ addr = (ElfW(Addr)) fptr; \
-#define DL_STATIC_FUNCTION_ADDRESS(map, addr) \
-({ \
- static unsigned long int fptr[2]; \
- fptr[0] = (unsigned long int) (addr); \
- fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \
- (Elf64_Addr) fptr; \
-})
+#define DL_CALL_DT_INIT(map, start, argc, argv, env) \
+{ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, , addr) \
+ init_t init = (init_t) addr; \
+ init (argc, argv, env); \
+}
-#define DL_DT_INIT_ADDRESS(map, addr) DL_AUTO_FUNCTION_ADDRESS (map, addr)
-#define DL_DT_FINI_ADDRESS(map, addr) DL_AUTO_FUNCTION_ADDRESS (map, addr)
+#define DL_CALL_DT_FINI(map, start) \
+{ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, , addr) \
+ fini_t fini = (fini_t) addr; \
+ fini (); \
+}
+
/* The type of the return value of fixup/profile_fixup. */
#define DL_FIXUP_VALUE_TYPE struct fdesc
/* Construct a value of type DL_FIXUP_VALUE_TYPE from a code address
Modified: fsf/trunk/libc/ports/sysdeps/ia64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/ia64/dl-machine.h (original)
+++ fsf/trunk/libc/ports/sysdeps/ia64/dl-machine.h Fri Nov 22 00:02:17 2013
@@ -322,8 +322,12 @@
#define ELF_MACHINE_NO_REL 1
/* Return the address of the entry point. */
-#define ELF_MACHINE_START_ADDRESS(map, start) \
- DL_STATIC_FUNCTION_ADDRESS (map, start)
+#define ELF_MACHINE_START_ADDRESS(map, start) \
+({ \
+ ElfW(Addr) addr; \
+ DL_DT_FUNCTION_ADDRESS(map, start, static, addr) \
+ addr; \
+})
/* Fixup a PLT entry to bounce directly to the function at VALUE. */
static inline struct fdesc __attribute__ ((always_inline))
Modified: fsf/trunk/libc/posix/unistd.h
==============================================================================
--- fsf/trunk/libc/posix/unistd.h (original)
+++ fsf/trunk/libc/posix/unistd.h Fri Nov 22 00:02:17 2013
@@ -1144,7 +1144,8 @@
/* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
block in place. */
-extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
+extern void encrypt (char *__glibc_block, int __edflag)
+ __THROW __nonnull ((1));
/* Swab pairs bytes in the first N bytes of the area pointed to by
Modified: fsf/trunk/libc/sysdeps/generic/ldsodefs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/ldsodefs.h (original)
+++ fsf/trunk/libc/sysdeps/generic/ldsodefs.h Fri Nov 22 00:02:17 2013
@@ -76,8 +76,9 @@
# define DL_SYMBOL_ADDRESS(map, ref) \
(void *) (LOOKUP_VALUE_ADDRESS (map) + ref->st_value)
# define DL_LOOKUP_ADDRESS(addr) ((ElfW(Addr)) (addr))
-# define DL_DT_INIT_ADDRESS(map, start) (start)
-# define DL_DT_FINI_ADDRESS(map, start) (start)
+# define DL_CALL_DT_INIT(map, start, argc, argv, env) \
+ ((init_t) (start)) (argc, argv, env)
+# define DL_CALL_DT_FINI(map, start) ((fini_t) (start)) ()
#endif
/* On some architectures dladdr can't use st_size of all symbols this way. */
Modified: fsf/trunk/libc/sysdeps/generic/sys/swap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/sys/swap.h (original)
+++ fsf/trunk/libc/sysdeps/generic/sys/swap.h Fri Nov 22 00:02:17 2013
@@ -24,7 +24,7 @@
/* Make the block special device PATH available to the system for swapping.
This call is restricted to the super-user. */
-extern int swapon (const char *__path) __THROW;
+extern int swapon (const char *__path, int __flags) __THROW;
/* Stop using block special device PATH for swapping. */
extern int swapoff (const char *__path) __THROW;
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits