about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64
Commit message (Collapse)AuthorAgeFilesLines
* Add new macro IN_MODULE to identify module in which source is builtSiddhesh Poyarekar2014-11-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current scheme to identify which module a translation unit is built in depends on defining multiple macros IS_IN_* and also defining NOT_IN_libc if we're building a non-libc module. In addition, there is an IN_LIB macro that does effectively the same thing, but for different modules (notably the systemtap probes). This macro scheme unifies both ideas to use just one macro IN_MODULE and assign it a value depending on the module it is being built into. If the module is not defined, it defaults to MODULE_libc. Patches that follow will replace uses of IS_IN_* variables with the IS_IN() macro. libc-symbols.h has been converted already to give an example of how such a transition will look. Verified that there are no relevant binary changes. One source change that will crop up repeatedly is that of nscd_stat, since it uses the build timestamp as a constant in its logic. * Makeconfig (in-module): Get value of libof set for the translation unit. (CPPFLAGS): Use $(in-module). * Makerules: Don't suffix routine names for nonlib. * include/libc-modules.h: New file. * include/libc-symbols.h: Include libc-modules.h (IS_IN): New macro to replace IS_IN_* macros. * elf/Makefile: Set libof-* for each routine. * elf/rtld-Rules: Likewise. * extra-modules.mk: Likewise. * iconv/Makefile: Likewise. * iconvdata/Makefile: Likewise. * locale/Makefile: Likewise. * malloc/Makefile: Likewise. * nss/Makefile: Likewise. * sysdeps/gnu/Makefile: Likewise. * sysdeps/ieee754/ldbl-opt/Makefile: Likewise. * sysdeps/unix/sysv/linux/Makefile: Likewise. * sysdeps/s390/s390-64/Makefile: Likewise. * nscd/Makefile: Set libof-* for each routine. Set CFLAGS and CPPFLAGS for nscd instead of nonlib.
* S/390: Add SystemTap probes to longjmp and setjmp.Stefan Liebler2014-11-132-4/+23
|
* S/390: Get rid of warning unused variable in dl-machine.h.Stefan Liebler2014-11-131-1/+2
|
* S/390: Get rid of warning: the comparision will always evaluate as false.Stefan Liebler2014-11-131-6/+7
|
* Don't use INTDEF/INTUSE with _dl_init (bug 14132).Joseph Myers2014-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing the removal of the obsolete INTDEF / INTUSE mechanism, this patch eliminates its use for _dl_init. Since _dl_init was already declared with hidden visibility, creating a second hidden alias for it was completely pointless, so this patch replaces all uses of _dl_init_internal with plain _dl_init instead of using hidden_proto / hidden_def (which are only needed when you want a hidden alias for a non-hidden symbol; it's quite possible there are cases where they are used but don't need to be because the symbol in question is not part of the public ABI and is only used within a single library, so using attributes_hidden instead would suffice). Tested for x86_64 that installed stripped shared libraries are unchanged by the patch. [BZ #14132] * elf/dl-init.c (_dl_init): Don't use INTDEF. * sysdeps/aarch64/dl-machine.h (RTLD_START): Use _dl_init instead of _dl_init_internal. * sysdeps/alpha/dl-machine.h (RTLD_START): Likewise. * sysdeps/arm/dl-machine.h (RTLD_START): Likewise. * sysdeps/hppa/dl-machine.h (RTLD_START): Likewise. * sysdeps/i386/dl-machine.h (RTLD_START): Likewise. * sysdeps/ia64/dl-machine.h (RTLD_START): Likewise. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * sysdeps/microblaze/dl-machine.h (RTLD_START): Likewise. * sysdeps/mips/dl-machine.h (RTLD_START): Likewise. * sysdeps/powerpc/powerpc32/dl-start.S (_start): Likewise. * sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sh/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise. * sysdeps/tile/dl-start.S (_start): Likewise. * sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise. * sysdeps/x86_64/x32/dl-machine.h (RTLD_START): Likewise.
* Remove unnecessary uses of NOT_IN_libcSiddhesh Poyarekar2014-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a IS_IN_* macro is defined, then NOT_IN_libc is always defined, except obviously for IS_IN_libc. There's no need to check for both. Verified on x86_64 and i686 that the source is unchanged. * include/libc-symbols.h: Remove unnecessary check for NOT_IN_libc. * nptl/pthreadP.h: Likewise. * sysdeps/aarch64/setjmp.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/i386/setjmp.S: Likewise. * sysdeps/m68k/setjmp.c: Likewise. * sysdeps/posix/getcwd.c: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/s390/s390-32/setjmp.S: Likewise. * sysdeps/s390/s390-64/setjmp.S: Likewise. * sysdeps/sh/sh3/setjmp.S: Likewise. * sysdeps/sh/sh4/setjmp.S: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/x86_64/setjmp.S: Likewise.
* [PATCH] S390: Fix remaining ONE_DIRECTION warning messagesStefan Liebler2014-07-313-0/+3
| | | | | | | | | | | | | | This patch fixes the remaining ONE_DIRECTION warnings for s390 specific conversions. It defines ONE_DIRECTION to 0 like the patch from Steve Ellcey: https://www.sourceware.org/ml/libc-alpha/2014-05/msg00039.html Changelog: * sysdeps/s390/s390-64/utf16-utf32-z9.c (ONE_DIRECTION): Define. * sysdeps/s390/s390-64/utf8-utf16-z9.c (ONE_DIRECTION): Define. * sysdeps/s390/s390-64/utf8-utf32-z9.c (ONE_DIRECTION): Define.
* S/390: Revert the jmp_buf/ucontext_t ABI change.Stefan Liebler2014-07-312-9/+36
|
* Fix Wundef warning for ELF_MACHINE_NO_RELASiddhesh Poyarekar2014-06-261-0/+1
| | | | | | | This patch defines ELF_MACHINE_NO_RELA on all architectures. Tested only on x86_64 to verify that the sources before and after are identical except for two instructions that pass the current line number in dl-machine.h to assert_fail.
* Use $(rtld-prefix) more consistently.Joseph Myers2014-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The glibc makefiles have a standard variable, $(rtld-prefix), to run the dynamic linker with a default --library-path option; this is used as the basis of lots of other variables for running programs compiled with the newly built library. A few places however use $(elf-objpfx)ld.so or $(elf-objpfx)${rtld-installed-name} directly, with such a --library-path option. This patch makes such places use $(rtld-prefix) instead. I'm not aware of any significance in these cases to the choice of ld.so or ${rtld-installed-name} when running the dynamic linker, or to whether $(patsubst %,:%,$(sysdep-library-path)) is included in the library-path as it is in $(rtld-prefix) and just one of the places being changed. Tested x86_64. * elf/Makefile ($(objpfx)tst-unused-dep.out): Use $(rtld-prefix). * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. localedata/ChangeLog: * Makefile (LOCALEDEF): Use $(rtld-prefix).
* Remove redundant C locale settings.Joseph Myers2014-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various glibc build / install / test code has C locale settings that are redundant with LC_ALL=C. LC_ALL takes precedence over LANG, so anywhere that sets LC_ALL=C (explicitly, or through it being in the default environment for running tests) does not need to set LANG=C. LC_ALL=C also takes precedence over LANGUAGE, since 2001-01-02 Ulrich Drepper <drepper@redhat.com> * intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE value is ignored if the selected locale is the C locale. * intl/tst-gettext.c: Set locale for above change. * intl/tst-translit.c: Likewise. and so settings of LANGUAGE=C are also redundant when LC_ALL=C is set. One test also had LC_ALL=C in its -ENV setting, although it's part of the default environment used for tests. This patch removes the redundant settings. It removes a suggestion in install.texi of setting LANGUAGE=C LC_ALL=C for "make install"; the Makefile.in target "install" already sets LC_ALL_C so there's no need for the user to set it (and nor should there be any need for the user to set it). If some build machine tool used by "make install" uses a version of libintl predating that 2001 change, and the user has LANGUAGE set, the removal of LANGUAGE=C from the Makefile.in "install" rule could in principle affect the user's installation. However, I don't think we need to be concerned about pre-2001 build tools. Tested x86_64. * Makefile (install): Don't set LANGUAGE. * Makefile.in (install): Likewise. * assert/Makefile (test-assert-ENV): Remove variable. (test-assert-perr-ENV): Likewise. * elf/Makefile (neededtest4-ENV): Likewise. * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Don't set LANGUAGE. * io/ftwtest-sh (LANG): Remove variable. * libio/Makefile (tst-widetext-ENV): Likewise. * manual/install.texi (Running make install): Don't refer to environment settings for make install. * INSTALL: Regenerated. * nptl/tst-tls6.sh: Don't set LANG. * posix/globtest.sh (LANG): Remove variable. * string/Makefile (tester-ENV): Likewise. (inl-tester-ENV): Likewise. (noinl-tester-ENV): Likewise. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Don't set LANGUAGE. * timezone/Makefile (build-testdata): Use $(built-program-cmd) without explicit environment settings. localedata/ChangeLog: * tst-fmon.sh: Don't set LANGUAGE. * tst-locale.sh: Likewise.
* Consistently use $(elf-objpfx).Joseph Myers2014-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As previously noted <https://sourceware.org/ml/libc-alpha/2013-05/msg00696.html>, $(elf-objpfx) and $(elfobjdir) are redundant and should be consolidated. This patch consolidates on $(elf-objpfx) (for consistency with $(csu-objpfx)), also changing direct uses of $(common-objpfx)elf/ to use $(elf-objpfx). Tested x86_64, including that installed shared libraries are unchanged by the patch. * Makeconfig [$(build-hardcoded-path-in-tests) = yes] (rtld-tests-LDFLAGS): Use $(elf-objpfx) instead of $(common-objpfx)elf/. (link-libc-before-gnulib): Likewise. (elfobjdir): Remove variable. * Makefile (install): Use $(elf-objpfx) instead of $(common-objpfx)elf/. * Makerules (link-libc-args): Use $(elf-objpfx) instead of $(elfobjdir)/. (link-libc-deps): Likewise. ($(common-objpfx)libc.so): Likewise. ($(common-objpfx)linkobj/libc.so): Likewise. [$(cross-compiling) = no] (symbolic-link-prog): Use $(elf-objpfx) instead of $(common-objpfx)elf/. (symbolic-link-list): Likewise. * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. * sysdeps/arm/Makefile (gnulib-arch): Use $(elf-objpfx) instead of $(elfobjdir)/. (static-gnulib-arch): Likewise. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Use $(elf-objpfx) instead of $(common-objpfx)elf/. localedata/ChangeLog: * Makefile (LOCALEDEF): Use $(elf-objpfx) instead of $(common-objpfx)elf/.
* S/390: Unify 31 and 64 bit configure.acStefan Liebler2014-04-112-11/+0
|
* S390: Define SIZE_MAX as unsigned long (BZ #16712).Stefan Liebler2014-03-241-0/+1
|
* Use glibc_likely instead __builtin_expect.Ondřej Bílka2014-02-104-41/+41
|
* S/390: Make jmp_buf extendible.Andreas Krebbel2014-01-072-7/+11
|
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0130-30/+30
|
* [BZ #16214] S/390: Fix TLS GOT pointer setup.Andreas Krebbel2013-11-291-6/+7
|
* rename configure.in to configure.acMike Frysinger2013-10-302-1/+1
| | | | | | | Autoconf has been deprecating configure.in for quite a long time. Rename all our configure.in and preconfigure.in files to .ac. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* BZ #15754: CVE-2013-4788Carlos O'Donell2013-09-231-0/+14
| | | | | | | | | | | | The pointer guard used for pointer mangling was not initialized for static applications resulting in the security feature being disabled. The pointer guard is now correctly initialized to a random value for static applications. Existing static applications need to be recompiled to take advantage of the fix. The test tst-ptrguard1-static and tst-ptrguard1 add regression coverage to ensure the pointer guards are sufficiently random and initialized to a default value.
* Remove trailing whitespace.Joseph Myers2013-06-052-4/+4
|
* Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar2013-05-291-2/+1
| | | | | | | | | Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users.
* s390/s390x: Undef PSEUDO before redef.Carlos O'Donell2013-04-061-0/+1
| | | | | | | | | | | | | | | | | | | The s390 and s390x sysdep.h files include the more generic sysdep.h. The more generic sysdep.h defines PSEUDO. This causes an annoying CPP warning saying the PSEUDO was redefined. This patch removes the warning by undefining PSEUDO before the redefinition. This is in line with what all the other machines do. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> * sysdeps/s390/s390-32/sysdep.h: Undefine PSEUDO before redefinition. * sysdeps/s390/s390-64/sysdep.h: Likewise. Notes: Added ChangeLog with this commit: b7a329a5614d9001abcc3300a3da548a0865a3ac
* S/390: Use attribute_hidden in ifunc-resolve.cAndreas Krebbel2013-03-051-3/+3
|
* S/390: Fix _dl_runtime_profileAndreas Krebbel2013-02-181-32/+38
|
* S/390: Fix setjmp/longjmp FPR save/restoreAndreas Krebbel2013-01-232-8/+16
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0230-30/+30
|
* Fix some build warnings on s390xSiddhesh Poyarekar2012-12-083-4/+4
|
* Add missing magic to GLIBC_PROVIDES.Roland McGrath2012-10-091-0/+1
|
* S/390: Make IFUNC optimized mem* functions hidden.Andreas Krebbel2012-09-031-3/+5
|
* Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}.Marek Polacek2012-08-022-5/+3
|
* Move testsuite audit definitions to sysdeps tst-audit.h files.Joseph Myers2012-07-261-0/+25
|
* S/390: Add support for STT_GNU_IFUNC symbols.Andreas Krebbel2012-07-199-47/+560
| | | | | | Add support for STT_GNU_IFUNC symbols and the new R_390_IRELATIVE relocation. Provide optimized version of memcpy, memset, and memcmp for z10 and z196.
* Remove TLS configure checks.Marek Polacek2012-07-172-151/+0
|
* Split tls-macros.h into sysdeps directories.Joseph Myers2012-07-171-0/+87
|
* Get rid of ASM_GLOBAL_DIRECTIVE.Marek Polacek2012-07-102-3/+3
|
* Split up stackguard-macros.h into sysdeps directories.Joseph Myers2012-05-151-0/+4
|
* Remove last distribute variableAndreas Jaeger2012-04-211-2/+0
| | | | make dist support has been removed, remove the last remains of it.
* Regenerate configure filesAndreas Jaeger2012-03-281-0/+126
|
* Move sysdeps/s390/s390-64/elf filesAndreas Jaeger2012-03-289-277/+30
| | | | | | | | | | | | | | | * sysdeps/s390/s390-64/elf/bsd-_setjmp.S: Moved to ... * sysdeps/s390/s390-64/bsd-_setjmp.S: ... here. * sysdeps/s390/s390-64/elf/bsd-setjmp.S: Moved to ... * sysdeps/s390/s390-64/bsd-setjmp.S: ... here. * sysdeps/s390/s390-64/elf/setjmp.S: Moved to ... * sysdeps/s390/s390-64/setjmp.S: ... here. * sysdeps/s390/s390-64/elf/configure.in: Moved to ... * sysdeps/s390/s390-64/configure.in: ... here * sysdeps/s390/s390-64/elf/configure: Delete file. * sysdeps/s390/s390-64/elf/start.S: Moved to ... * sysdeps/s390/s390-64/start.S: ... here. * sysdeps/s390/s390-64/elf/configure: Delete.
* s390: Convert to crt[in].S.Richard Henderson2012-02-163-143/+141
|
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-0926-77/+51
|
* More fallout from supporting only ELFUlrich Drepper2012-01-081-6/+0
|
* Remove non-ELF supportUlrich Drepper2012-01-071-11/+1
|
* Don't call ifunc functions in trace modeAndreas Schwab2011-10-051-2/+3
|
* Remove --wth-tls option, TLS support is requiredUlrich Drepper2011-09-112-20/+93
|
* Remove support for !USE___THREADUlrich Drepper2011-09-101-3/+2
|
* Fix for installation in sysdeps/s390/s390-64/MakefileUlrich Drepper2011-07-061-0/+12
|
* Use .machine to prevent AS from complaining about z9-109 instructions in ↵Andreas Krebbel2011-04-173-3/+12
| | | | iconv modules
* Fix register conflict in s390 ____longjmp_chkAndreas Schwab2010-09-151-5/+8
|