about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Replace __attribute__((visibility("protected"))) hjl/pr17711/2.18H.J. Lu2015-03-313-3/+21
| | | | | | | | | | | | | | | | | | With copy relocation, address of protected data defined in the shared library may be external. Compiler shouldn't asssume protected data will be local. But due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248 __attribute__((visibility("protected"))) doesn't work correctly, we need to use asm (".protected xxx") instead. Cherry-pick from master: e0ed2fb40a0e29c43cf60addc74741dab15f2e05 * elf/ifuncdep2.c (global): Replace __attribute__((visibility("protected"))) with asm (".protected global"). * elf/ifuncmod1.c (global): Likewise. * elf/ifuncmod5.c (global): Likewise.
* Add a testcase for copy reloc against protected dataH.J. Lu2015-03-319-0/+744
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linkers in some versions of binutils 2.25 and 2.26 don't support protected data symbol with error messsage like: /usr/bin/ld: copy reloc against protected `bar' is invalid /usr/bin/ld: failed to set dynamic section sizes: Bad value We check if linker supports copy reloc against protected data symbol to avoid running the test if linker is broken. Cherry-pick from master: 83569fb894050db7430047da2219ca50c68f882a [BZ #17711] * config.make.in (have-protected-data): New. * configure.ac: Check linker support for protected data symbol. * configure: Regenerated. * elf/Makefile (modules-names): Add tst-protected1moda and tst-protected1modb if $(have-protected-data) is yes. (tests): Add tst-protected1a and tst-protected1b if $(have-protected-data) is yes. ($(objpfx)tst-protected1a): New. ($(objpfx)tst-protected1b): Likewise. (tst-protected1modb.so-no-z-defs): Likewise. * elf/tst-protected1a.c: New file. * elf/tst-protected1b.c: Likewise. * elf/tst-protected1mod.h: Likewise. * elf/tst-protected1moda.c: Likewise. * elf/tst-protected1modb.c: Likewise.
* Add ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA to x86H.J. Lu2015-03-316-6/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With copy relocation, address of protected data defined in the shared library may be external. When there is a relocation against the protected data symbol within the shared library, we need to check if we should skip the definition in the executable copied from the protected data. This patch adds ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA and defines it for x86. If ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA isn't 0, do_lookup_x will skip the data definition in the executable from copy reloc. Cherry-pick from master: 62da1e3b00b51383ffa7efc89d8addda0502e107 [BZ #17711] * elf/dl-lookup.c (do_lookup_x): When UNDEF_MAP is NULL, which indicates it is called from do_lookup_x on relocation against protected data, skip the data definion in the executable from copy reloc. (_dl_lookup_symbol_x): Pass ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA, instead of ELF_RTYPE_CLASS_PLT, to do_lookup_x for EXTERN_PROTECTED_DATA relocation against STT_OBJECT symbol. * sysdeps/generic/ldsodefs.h * (ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA): New. Defined to 4 if DL_EXTERN_PROTECTED_DATA is defined, otherwise to 0. * sysdeps/i386/dl-lookupcfg.h (DL_EXTERN_PROTECTED_DATA): New. * sysdeps/i386/dl-machine.h (elf_machine_type_class): Set class to ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for R_386_GLOB_DAT. * sysdeps/x86_64/dl-lookupcfg.h (DL_EXTERN_PROTECTED_DATA): New. * sysdeps/x86_64/dl-machine.h (elf_machine_type_class): Set class to ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for R_X86_64_GLOB_DAT.
* Fixed pthread_spin_lock on sparc32/64 (bug 16882)Guo Yixuan2014-06-036-6/+126
| | | | | | | | | | | [BZ #16882] * nptl/sysdeps/sparc/sparc32/pthread_spin_lock.S (pthread_spin_lock): Branch out of spin loop to proper location. * nptl/sysdeps/sparc/sparc64/pthread_spin_lock.S (pthread_spin_lock): Likewise. * nptl/tst-spin4.c: New test. * nptl/Makefile (tests): Add tst-spin4.
* Fix sparc memcpy data corruption when using niagara2 optimized routines.Jose E. Marchesi2014-05-173-1/+8
| | | | | * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Add missing membar to avoid block loads/stores to overlap previous stores.
* SPARC: add prlimit and prlimit64 in <bits/resource.h> (BZ #16943)Aurelien Jarno2014-05-163-1/+35
| | | | | | | | | | prlimit and prlimit64 have been added in the main <bits/resource.h>, but not in the SPARC specific version. Fix that. Note: this is Debian bug#703559, reported by Emilio Pozuelo Monfort <pochu@debian.org> (cherry picked from commit d16e6ec7ca2c861ba681e3a2fbd431725774292e)
* SPARC: add EFD_SEMAPHORE in <bits/eventfd.h> (BZ #16916)Aurelien Jarno2014-05-073-1/+9
| | | | | | | EFD_SEMAPHORE has been added in the main <bits/eventfd.h>, but not in the SPARC specific version. Fix that. (cherry picked from commit 83df9ad0cc861ef24f08a88c5a4c055e2516d33c)
* NEWS: Add 16885 to fixed bug list.David S. Miller2014-05-011-1/+1
|
* Fix v9/64-bit strcmp when string ends in multiple zero bytes.David S. Miller2014-05-013-0/+69
| | | | | | | | | | [BZ #16885] * sysdeps/sparc/sparc64/strcmp.S: Fix end comparison handling when multiple zero bytes exist at the end of a string. Reported by Aurelien Jarno <aurelien@aurel32.net> * string/test-strcmp.c (check): Add explicit test for situations where there are multiple zero bytes after the first.
* Disable x87 inline functions for SSE2 mathH.J. Lu2014-01-293-4/+10
| | | | | | | | | | | | | When i386 and x86-64 mathinline.h was merged into a single mathinline.h, "gcc -m32" enables x87 inline functions on x86-64 even when -mfpmath=sse and SSE2 is enabled. It is a regression on x86-64. We should check __SSE2_MATH__ instead of __x86_64__ when disabling x87 inline functions. (cherry picked from commit 409e00bd69b8d8dd74d7327085351d26769ea6fc) Conflicts: ChangeLog NEWS
* [AArch64] BZ #16169 Add CFI directives to clone.STom Tromey2014-01-213-2/+13
| | | | | | | | | | | [BZ #16169] Add CFI directives to the AArch64 clone.S implementation and ensure that the FP in the child is zero'd in order to comply with AAPCS. (cherry picked from commit 3a3acb6afc753475675b5724f206e619d0c9590d) Conflicts: NEWS
* Include generic symbol-hacks.h for x32H.J. Lu2014-01-202-1/+6
| | | | | | In BZ #15605 fix with addding memset/memmove alias in symbol-hacks.h, x32 symbol-hacks.h change was missing. Fixed by including <sysdeps/generic/symbol-hacks.h> in x32 symbol-hacks.h.
* [AArch64] Fix FP_ROUNDMODE.Marcus Shawcroft2014-01-074-2/+12
| | | | | | | [BZ #16387] Fix FP_ROUNDMODE to extract the correct bits from FPCR. Conflicts: NEWS
* [AArch64] Fix CFA adjustment on dynamic linker entry.Marcus Shawcroft2014-01-072-1/+6
|
* Fix race in free() of fastbin chunk: BZ #15073Maxim Kuvyrkov2014-01-053-9/+20
| | | | | | | | | | | | | | | | | Perform sanity check only if we have_lock. Due to lockless nature of fastbins we need to be careful derefencing pointers to fastbin entries (chunksize(old) in this case) in multithreaded environments. The fix is to add have_lock to the if-condition checks. The rest of the patch only makes code more readable. * malloc/malloc.c (_int_free): Perform sanity check only if we have_lock. Conflicts: ChangeLog NEWS
* [AArch64] Save and restore q0-q7 on entry to dynamic linker.Marcus Shawcroft2013-12-193-5/+31
| | | | | | | | | | [BZ #15128] Ensure all argument passing registers are saved and restored on entry to dynamic linker. (cherry picked from commit 9dbebe1a67bbedfcb39c6b739f15bc639e8d40a2) Conflicts: NEWS
* alpha: Fix signal thunk unwind infoRichard Henderson2013-11-172-4/+19
|
* Fix sparc 64-bit GMP ifunc resolution in static builds.David S. Miller2013-11-127-6/+16
| | | | | | | | | | [BZ #16150] * sysdeps/sparc/sparc64/multiarch/add_n.S: Resolve to the correct generic symbol in the non-vis3 case in static builds. * sysdeps/sparc/sparc64/multiarch/addmul_1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/mul_1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/sub_n.S: Likewise. * sysdeps/sparc/sparc64/multiarch/submul_1.S: Likewise.
* Fix build on pre-v9 32-bit Sparc.David S. Miller2013-11-073-2/+9
| | | | | | | | | We cannot use fnegd in this code, as fnegd was added in v9. Only fnegs exists in v8 and earlier. [BZ #15985] * sysdeps/sparc/sparc32/fpu/s_fdim.S (__fdim): Do not use fnegd on pre-v9 cpus, use a fnegs+fmovs sequence instead.
* Fix PI mutex check in pthread_cond_broadcast and pthread_cond_signalSiddhesh Poyarekar2013-10-034-11/+12
| | | | | | | | Fixes BZ #15996. The check had a typo - it checked for PTHREAD_MUTEX_ROBUST_NP instead of PTHREAD_MUTEX_ROBUST_NORMAL_NP. It has now been replaced by the already existing convenience macro USE_REQUEUE_PI.
* Update Chinese (traditional) translations.David S. Miller2013-09-062-941/+980
| | | | | * po/zh_TW.po: Update Chinese (traditional) translation from translation project.
* ARM: Fix clone code when built for Thumb.Will Newton2013-08-303-2/+14
| | | | | | | | | | | | | | | The mov lr, pc instruction will lose the Thumb bit from the return address so use blx lr instead. ports/ChangeLog.arm: 2013-08-30 Will Newton <will.newton@linaro.org> [BZ #15909] * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx instead of mov lr, pc. (cherry picked from commit 6b06ac56cdfc9293908724e51e827534e97819aa)
* Add Ukrainian translations.David S. Miller2013-08-232-0/+7152
| | | | * po/uk.po: Add Ukrainian translations from translation project.
* Update Catalan translations.David S. Miller2013-08-222-934/+972
| | | | * po/ca.po: Update Catalan translation from translation project.
* Update version.h and include/features.h for 2.18 release. glibc-2.18David S. Miller2013-08-102-3/+3
|
* Fix typo in ChangeLogAndreas Schwab2013-08-061-1/+1
|
* Update Korean translations.David S. Miller2013-08-032-1143/+1342
| | | | * po/ko.po: Update Korean translation from translation project.
* Update manual/contrib.texiDavid S. Miller2013-08-012-1/+21
| | | | | | * manual/contrib.texi: Update entry for Siddhesh Poyarekar. Add entries for Will Newton, Andi Kleen, David Holsgrove, and Ondrej Bilka.
* Update French translations.David S. Miller2013-07-302-934/+972
| | | | * po/fr.po: Update French translation from translation project.
* Update Czech translations.David S. Miller2013-07-282-937/+972
| | | | * po/cs.po: Update Czech translation from translation project.
* Update Swedish translations.David S. Miller2013-07-282-935/+973
| | | | * po/sv.po: Update Swedish translation from translation project.
* Update Esperanto translations.David S. Miller2013-07-272-1020/+1054
| | | | * po/eo.po: Update Esperanto translation from translation project.
* Update Vietnamese translations.David S. Miller2013-07-272-992/+1029
| | | | * po/vi.po: Update Vietnamese translation from translation project.
* Update German translations.David S. Miller2013-07-272-933/+971
| | | | * po/de.po: Update German translation from translation project.
* Update Bulgarian translations.David S. Miller2013-07-262-946/+982
| | | | * po/bg.po: Update Bulgarian translation from translation project.
* Update Dutch, Polish, and Russian translations.David S. Miller2013-07-264-2819/+2927
| | | | | | * po/nl.po: Update Dutch translation from translation project. * po/pl.po: Update Polish translation from translation project. * po/ru.po: Update Russian translation from translation project.
* [AArch64] Provide symbol version for _mcount.Marcus Shawcroft2013-07-265-0/+81
|
* Update libc.pot in preparation for giving tarball to translation project.David S. Miller2013-07-252-930/+968
| | | | * po/libc.pot: Update.
* Added NEWS entries for AT_HWCAP2 and POWER8 enablement.Ryan S. Arnold2013-07-251-0/+5
|
* hppa: Regenerate libm-test-ulps.Carlos O'Donell2013-07-232-0/+43
|
* Remove Linux kernel version ambiguity in comment added by previous commit.David S. Miller2013-07-232-2/+6
| | | | * tst-cancel4.c (WRITE_BUFFER_SIZE): Adjust comment.
* PowerPC: use _dl_static_init to set GLRO(gl_pagesize)Adhemerval Zanella2013-07-235-0/+137
| | | | | | This patch fixes dlfcn/tststatic5 for PowerPC where pagesize variable was not properly initialized in certain cases. This patch is based on other architecture code.
* Increase nptl test case buffer size so we really block on current Linux kernels.David S. Miller2013-07-232-1/+28
| | | | * tst-cancel4.c (WRITE_BUFFER_SIZE): Increase to 16384.
* tile BZ #15759: Fix bug in _dl_unmapChris Metcalf2013-07-223-4/+17
| | | | | | We returned without calling __munmap if not in the simulator. Now we call a separate sim_dlclose() function to make the control flow work correctly.
* S/390: ULPs update.Andreas Krebbel2013-07-222-141/+6289
|
* CVE-2013-2207, BZ #15755: Disable pt_chown.Carlos O'Donell2013-07-2111-7/+100
| | | | | | | | | | | | | | | | | | | | | | | The helper binary pt_chown tricked into granting access to another user's pseudo-terminal. Pre-conditions for the attack: * Attacker with local user account * Kernel with FUSE support * "user_allow_other" in /etc/fuse.conf * Victim with allocated slave in /dev/pts Using the setuid installed pt_chown and a weak check on whether a file descriptor is a tty, an attacker could fake a pty check using FUSE and trick pt_chown to grant ownership of a pty descriptor that the current user does not own. It cannot access /dev/pts/ptmx however. In most modern distributions pt_chown is not needed because devpts is enabled by default. The fix for this CVE is to disable building and using pt_chown by default. We still provide a configure option to enable hte use of pt_chown but distributions do so at their own risk.
* Update Sparc ULPs.David S. Miller2013-07-202-0/+10
| | | | | * sysdeps/sparc/fpu/libm-test-ulps: Update ULPs to handle minor difference between 32-bit and 64-bit.
* m68k: use _dl_static_init to set GLR0(dl_pagesize)Andreas Schwab2013-07-215-2/+134
|
* tile: add missing semicolon in <bits/ptrace.h>Chris Metcalf2013-07-192-1/+6
| | | | | | Change 521c6785e1fc94d added the enum but missed the semicolon. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
* Clean up whitespace in lock elision patches.Dominik Vogt2013-07-1915-31/+52
| | | | Signed-off-by: Carlos O'Donell <carlos@redhat.com>