[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21613 - in /fsf/trunk/libc: ./ catgets/ csu/ debug/ elf/ iconv/ locale/programs/ login/programs/ malloc/ manual/ nscd/ nss/...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21613 - in /fsf/trunk/libc: ./ catgets/ csu/ debug/ elf/ iconv/ locale/programs/ login/programs/ malloc/ manual/ nscd/ nss/...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 09 Nov 2012 22:22:52 -0000
Author: eglibc
Date: Fri Nov 9 22:22:50 2012
New Revision: 21613
Log:
Import glibc-mainline for 2012-11-09
Added:
fsf/trunk/libc/ports/ChangeLog.aarch64
fsf/trunk/libc/ports/sysdeps/aarch64/
fsf/trunk/libc/ports/sysdeps/aarch64/Implies
fsf/trunk/libc/ports/sysdeps/aarch64/Makefile
fsf/trunk/libc/ports/sysdeps/aarch64/__longjmp.S
fsf/trunk/libc/ports/sysdeps/aarch64/backtrace.c
fsf/trunk/libc/ports/sysdeps/aarch64/bits/
fsf/trunk/libc/ports/sysdeps/aarch64/bits/atomic.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/endian.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/fenv.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/link.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/linkmap.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/mathdef.h
fsf/trunk/libc/ports/sysdeps/aarch64/bits/setjmp.h
fsf/trunk/libc/ports/sysdeps/aarch64/bsd-_setjmp.S
fsf/trunk/libc/ports/sysdeps/aarch64/bsd-setjmp.S
fsf/trunk/libc/ports/sysdeps/aarch64/crti.S
fsf/trunk/libc/ports/sysdeps/aarch64/crtn.S
fsf/trunk/libc/ports/sysdeps/aarch64/dl-irel.h
fsf/trunk/libc/ports/sysdeps/aarch64/dl-link.sym
fsf/trunk/libc/ports/sysdeps/aarch64/dl-machine.h
fsf/trunk/libc/ports/sysdeps/aarch64/dl-sysdep.h
fsf/trunk/libc/ports/sysdeps/aarch64/dl-tls.h
fsf/trunk/libc/ports/sysdeps/aarch64/dl-tlsdesc.S
fsf/trunk/libc/ports/sysdeps/aarch64/dl-tlsdesc.h
fsf/trunk/libc/ports/sysdeps/aarch64/dl-trampoline.S
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fclrexcpt.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fedisblxcpt.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/feenablxcpt.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fegetenv.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fegetexcept.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fegetround.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/feholdexcpt.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fesetenv.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fesetround.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/feupdateenv.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fgetexcptflg.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fpu_control.h
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fraiseexcpt.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/fsetexcptflg.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/ftestexcept.c
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/get-rounding-mode.h
fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fma.c
fsf/trunk/libc/ports/sysdeps/aarch64/jmpbuf-offsets.h
fsf/trunk/libc/ports/sysdeps/aarch64/jmpbuf-unwind.h
fsf/trunk/libc/ports/sysdeps/aarch64/ldsodefs.h
fsf/trunk/libc/ports/sysdeps/aarch64/libc-tls.c
fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps
fsf/trunk/libc/ports/sysdeps/aarch64/machine-gmon.h
fsf/trunk/libc/ports/sysdeps/aarch64/memusage.h
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/Makefile
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/pthreaddef.h
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/tcb-offsets.sym
fsf/trunk/libc/ports/sysdeps/aarch64/nptl/tls.h
fsf/trunk/libc/ports/sysdeps/aarch64/preconfigure
fsf/trunk/libc/ports/sysdeps/aarch64/setjmp.S
fsf/trunk/libc/ports/sysdeps/aarch64/shlib-versions
fsf/trunk/libc/ports/sysdeps/aarch64/soft-fp/
fsf/trunk/libc/ports/sysdeps/aarch64/soft-fp/Makefile
fsf/trunk/libc/ports/sysdeps/aarch64/soft-fp/e_sqrtl.c
fsf/trunk/libc/ports/sysdeps/aarch64/soft-fp/sfp-machine.h
fsf/trunk/libc/ports/sysdeps/aarch64/sotruss-lib.c
fsf/trunk/libc/ports/sysdeps/aarch64/stackinfo.h
fsf/trunk/libc/ports/sysdeps/aarch64/start.S
fsf/trunk/libc/ports/sysdeps/aarch64/sysdep.h
fsf/trunk/libc/ports/sysdeps/aarch64/tls-macros.h
fsf/trunk/libc/ports/sysdeps/aarch64/tlsdesc.c
fsf/trunk/libc/ports/sysdeps/aarch64/tlsdesc.sym
fsf/trunk/libc/ports/sysdeps/aarch64/tst-audit.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/Implies
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/Versions
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/bits/
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/bits/libc-vdso.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.in
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/gettimeofday.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/init-first.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/kernel-features.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/makecontext.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/bits/semaphore.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/c++-types.data
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/clone.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/createthread.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/fork.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/ld.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libBrokenLocale.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libanl.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libcrypt.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libdl.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libnsl.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libresolv.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/librt.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libthread_db.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libutil.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pt-vfork.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/pthread_once.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/vfork.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/profil-counter.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/setcontext.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sigaction.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/elf.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sys/user.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/syscall.S
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/vfork.S
fsf/trunk/libc/timezone/version.h
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/INSTALL
fsf/trunk/libc/Makefile
fsf/trunk/libc/NEWS
fsf/trunk/libc/aclocal.m4
fsf/trunk/libc/catgets/gencat.c
fsf/trunk/libc/config.h.in
fsf/trunk/libc/config.make.in
fsf/trunk/libc/configure
fsf/trunk/libc/configure.in
fsf/trunk/libc/csu/version.c
fsf/trunk/libc/debug/Makefile
fsf/trunk/libc/debug/catchsegv.sh
fsf/trunk/libc/debug/pcprofiledump.c
fsf/trunk/libc/debug/xtrace.sh
fsf/trunk/libc/elf/Makefile
fsf/trunk/libc/elf/dl-close.c
fsf/trunk/libc/elf/ldconfig.c
fsf/trunk/libc/elf/ldd.bash.in
fsf/trunk/libc/elf/pldd.c
fsf/trunk/libc/elf/sln.c
fsf/trunk/libc/elf/sotruss.ksh
fsf/trunk/libc/elf/sprof.c
fsf/trunk/libc/iconv/iconv_prog.c
fsf/trunk/libc/iconv/iconvconfig.c
fsf/trunk/libc/locale/programs/locale.c
fsf/trunk/libc/locale/programs/localedef.c
fsf/trunk/libc/login/programs/pt_chown.c
fsf/trunk/libc/malloc/Makefile
fsf/trunk/libc/malloc/memusage.sh
fsf/trunk/libc/malloc/memusagestat.c
fsf/trunk/libc/malloc/mtrace.pl
fsf/trunk/libc/manual/Makefile
fsf/trunk/libc/manual/install.texi
fsf/trunk/libc/manual/libc.texinfo
fsf/trunk/libc/nscd/nscd.c
fsf/trunk/libc/nss/getent.c
fsf/trunk/libc/nss/makedb.c
fsf/trunk/libc/posix/getconf.c
fsf/trunk/libc/stdlib/stdlib.h
fsf/trunk/libc/sunrpc/clnt_tcp.c
fsf/trunk/libc/sunrpc/clnt_udp.c
fsf/trunk/libc/sunrpc/clnt_unix.c
fsf/trunk/libc/sunrpc/proto.h
fsf/trunk/libc/sunrpc/rpc_main.c
fsf/trunk/libc/sunrpc/rpcinfo.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/lddlibc4.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
fsf/trunk/libc/timezone/README
fsf/trunk/libc/timezone/checktab.awk
fsf/trunk/libc/timezone/ialloc.c
fsf/trunk/libc/timezone/private.h
fsf/trunk/libc/timezone/scheck.c
fsf/trunk/libc/timezone/tzfile.h
fsf/trunk/libc/timezone/tzselect.ksh
fsf/trunk/libc/timezone/zdump.c
fsf/trunk/libc/timezone/zic.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Nov 9 22:22:50 2012
@@ -1,3 +1,143 @@
+2012-11-09 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * aclocal.m4 (ACX_PKGVERSION): New macro.
+ (ACX_BUGURL): Likewise.
+ * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
+ (PKGVERSION): New AC_DEFINE_UNQUOTED.
+ (REPORT_BUGS_TO): Likewise.
+ * configure: Regenerated.
+ * config.h.in (PKGVERSION): New macro.
+ (REPORT_BUGS_TO): Likewise.
+ * config.make.in (PKGVERSION): New variable.
+ (PKGVERSION_TEXI): Likewise.
+ (REPORT_BUGS_TO): Likewise.
+ (REPORT_BUGS_TEXI): Likewise.
+ * Makefile (format-me): Use -I$(common-objpfx)manual.
+ (INSTALL): Depend on $(common-objpfx)manual/pkgvers.texi.
+ ($(common-objpfx)manual/%): New target.
+ (manual/%): Remove target.
+ * catgets/gencat.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * csu/version.c (banner): Use PKGVERSION and REPORT_BUGS_TO.
+ * debug/Makefile ($(objpfx)catchsegv): Also substitute PKGVERSION
+ and REPORT_BUGS_TO.
+ ($(objpfx)xtrace): Likewise.
+ * debug/catchsegv.sh: Use PKGVERSION and REPORT_BUGS_TO.
+ * debug/pcprofiledump.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * debug/xtrace.sh (do_help): Use REPORT_BUGS_TO.
+ (do_version): Use PKGVERSION.
+ * elf/Makefile ($(objpfx)sotruss): Also substitute PKGVERSION and
+ REPORT_BUGS_TO.
+ (common-ldd-rewrite): Likewise.
+ * elf/dl-close.c (_dl_close_worker): Use REPORT_BUGS_TO.
+ * elf/ldconfig.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * elf/ldd.bash.in: Use PKGVERSION and REPORT_BUGS_TO.
+ * elf/pldd.c (argp_program_bug_address): Remove variable.
+ (more_help): New function.
+ (argp): Use more_help.
+ (print_version): Use PKGVERSION.
+ * elf/sln.c (main): Use PKGVERSION.
+ (usage): Use REPORT_BUGS_TO.
+ * elf/sotruss.ksh (do_help): Use REPORT_BUGS_TO.
+ (top level): Use PKGVERSION.
+ * elf/sprof.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * iconv/iconv_prog.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * iconv/iconvconfig.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * locale/programs/locale.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * locale/programs/localedef.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * login/programs/pt_chown.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * malloc/Makefile ($(objpfx)mtrace): Also substitute PKGVERSION
+ and BUGURL.
+ ($(objpfx)memusage): Likewise.
+ * malloc/memusage.sh (do_help): Use REPORT_BUGS_TO.
+ (do_version): Use PKGVERSION.
+ * malloc/memusagestat.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * malloc/mtrace.pl ($PACKAGE): Remove variable.
+ ($PKGVERSION): New variable.
+ ($REPORT_BUGS_TO): Likewise.
+ (usage): Use $REPORT_BUGS_TO.
+ (top level): Use $PKGVERSION.
+ * manual/Makefile (libc-texi-generated): Add pkgvers.texi.
+ ($(objpfx)pkgvers.texi): New rule.
+ ($(objpfx)stamp-pkgvers): Likewise.
+ * manual/install.texi: Include pkgvers.texi.
+ (--with-pkgversion): Document new configure option.
+ (--with-bugurl): Likewise.
+ (Reporting Bugs): Describe Bugzilla as upstream tracker rather
+ than necessarily for this particular distribution. Use
+ REPORT_BUGS_TO for where to report bugs.
+ * INSTALL: Regenerated.
+ * manual/libc.texinfo: Include pkgvers.texi.
+ [!PKGVERSION_DEFAULT]: Include PKGVERSION in version information.
+ * nscd/nscd.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * nss/getent.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * nss/makedb.c (more_help): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * posix/getconf.c (main): Use PKGVERSION and REPORT_BUGS_TO.
+ * sunrpc/proto.h [IS_IN_build] (_libc_intl_domainname): Remove
+ macro.
+ * sunrpc/rpc_main.c (options_usage): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * sunrpc/rpcinfo.c (usage): Use REPORT_BUGS_TO.
+ (print_version): Use PKGVERSION.
+ * sysdeps/unix/sysv/linux/lddlibc4.c (main): Use REPORT_BUGS_TO
+ and PKGVERSION.
+
+ * timezone/checktab.awk: Update from tzcode 2012i.
+ * timezone/ialloc.c: Likewise.
+ * timezone/private.h: Likewise.
+ * timezone/scheck.c: Likewise.
+ * timezone/tzfile.h: Likewise.
+ * timezone/tzselect.ksh: Merge in changes from tzcode 2012i.
+ (TZVERSION): Hardcode tzcode version number.
+ * timezone/zdump.c: Update from tzcode 2012i.
+ * timezone/zic.c: Likewise.
+ * timezone/version.h: New file.
+ * timezone/README: Describe version.h. Update upstream location.
+
+ [BZ #14824]
+ * stdlib/stdlib.h [__USE_XOPEN_EXTENDED && __USE_XOPEN2K]
+ (mktemp): Enable declaration.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (ecvt): Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (fcvt): Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (gcvt): Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qecvt):
+ Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qfcvt):
+ Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qgcvt):
+ Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (ecvt_r):
+ Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (fcvt_r):
+ Likewise.
+ [__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (gcvt_r):
+ Likewise.
+
+ [BZ #14821]
+ * sunrpc/clnt_tcp.c (clnttcp_control): Access values at fixed
+ offset in buffer as u_int32_t not u_long. Consistently use memcpy
+ for copies of such integer values.
+ * sunrpc/clnt_udp.c (clntudp_control): Likewise.
+ * sunrpc/clnt_unix.c (clntunix_control): Likewise.
+
+2012-11-09 Andreas Jaeger <aj@xxxxxxx>
+
+ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Remove all
+ definitions and declarations that are provided by
+ <bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
+
2012-11-08 Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add "te".
Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Fri Nov 9 22:22:50 2012
@@ -147,6 +147,19 @@
CFLAGS.
If you specify just `--build', `configure' will get confused.
+
+`--with-pkgversion=VERSION'
+ Specify a description, possibly including a build number or build
+ date, of the binaries being built, to be included in `--version'
+ output from programs installed with the GNU C Library. For
+ example, `--with-pkgversion='FooBar GNU/Linux glibc build 123''.
+ The default value is `GNU libc'.
+
+`--with-bugurl=URL'
+ Specify the URL that users should visit if they wish to report a
+ bug, to be included in `--help' output from programs installed with
+ the GNU C Library. The default value refers to the main
+ bug-reporting information for the GNU C Library.
To build the library and related programs, type `make'. This will
produce a lot of output, some of which may look like errors from `make'
@@ -404,10 +417,10 @@
It is a good idea to verify that the problem has not already been
reported. Bugs are documented in two places: The file `BUGS' describes
-a number of well known bugs and the bug tracking system has a WWW
-interface at `http://sourceware.org/bugzilla/'. The WWW interface
-gives you access to open and closed reports. A closed report normally
-includes a patch or a hint on solving the problem.
+a number of well known bugs and the central GNU C Library bug tracking
+system has a WWW interface at `http://sourceware.org/bugzilla/'. The
+WWW interface gives you access to open and closed reports. A closed
+report normally includes a patch or a hint on solving the problem.
To report a bug, first you must find it. With any luck, this will
be the hard part. Once you've found a bug, make sure it's really a
@@ -428,7 +441,7 @@
call, if possible. This should not be too difficult.
The final step when you have a simple test case is to report the bug.
-Do this using the WWW interface to the bug database.
+Do this at `http://www.gnu.org/software/libc/bugs.html'.
If you are not sure how a function should behave, and this manual
doesn't tell you, that's a bug in the manual. Report that too! If the
Modified: fsf/trunk/libc/Makefile
==============================================================================
--- fsf/trunk/libc/Makefile (original)
+++ fsf/trunk/libc/Makefile Fri Nov 9 22:22:50 2012
@@ -399,15 +399,18 @@
define format-me
@rm -f $@
-makeinfo --no-validate --plaintext --no-number-sections $< -o $@
+makeinfo --no-validate --plaintext --no-number-sections \
+ -I$(common-objpfx)manual $< -o $@
-chmod a-w $@
endef
-INSTALL: manual/install.texi manual/macros.texi; $(format-me)
-manual/dir-add.texi manual/dir-add.info: FORCE
- $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
+INSTALL: manual/install.texi manual/macros.texi \
+ $(common-objpfx)manual/pkgvers.texi
+ $(format-me)
+$(common-objpfx)manual/%: FORCE
+ $(MAKE) $(PARALLELMFLAGS) -C manual $@
FORCE:
-iconvdata/% localedata/% po/% manual/%: FORCE
+iconvdata/% localedata/% po/%: FORCE
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
# glibc 2.0 contains some header files which aren't used with glibc 2.1
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Nov 9 22:22:50 2012
@@ -19,7 +19,7 @@
14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621,
14638, 14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716,
14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805,
- 14807, 14809, 14811, 14815.
+ 14807, 14809, 14811, 14815, 14821, 14824.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
Modified: fsf/trunk/libc/aclocal.m4
==============================================================================
--- fsf/trunk/libc/aclocal.m4 (original)
+++ fsf/trunk/libc/aclocal.m4 Fri Nov 9 22:22:50 2012
@@ -165,3 +165,51 @@
done
AC_MSG_RESULT()
fi])
+
+# These two macros are taken from GCC's config/acx.m4.
+dnl Support the --with-pkgversion configure option.
+dnl ACX_PKGVERSION(default-pkgversion)
+AC_DEFUN([ACX_PKGVERSION],[
+ AC_ARG_WITH(pkgversion,
+ AS_HELP_STRING([--with-pkgversion=PKG],
+ [Use PKG in the version string in place of "$1"]),
+ [case "$withval" in
+ yes) AC_MSG_ERROR([package version not specified]) ;;
+ no) PKGVERSION= ;;
+ *) PKGVERSION="($withval) " ;;
+ esac],
+ PKGVERSION="($1) "
+ )
+ PKGVERSION_TEXI=`echo "$PKGVERSION" | sed 's/@/@@/g'`
+ AC_SUBST(PKGVERSION)
+ AC_SUBST(PKGVERSION_TEXI)
+])
+
+dnl Support the --with-bugurl configure option.
+dnl ACX_BUGURL(default-bugurl)
+AC_DEFUN([ACX_BUGURL],[
+ AC_ARG_WITH(bugurl,
+ AS_HELP_STRING([--with-bugurl=URL],
+ [Direct users to URL to report a bug]),
+ [case "$withval" in
+ yes) AC_MSG_ERROR([bug URL not specified]) ;;
+ no) BUGURL=
+ ;;
+ *) BUGURL="$withval"
+ ;;
+ esac],
+ BUGURL="$1"
+ )
+ case ${BUGURL} in
+ "")
+ REPORT_BUGS_TO=
+ REPORT_BUGS_TEXI=
+ ;;
+ *)
+ REPORT_BUGS_TO="<$BUGURL>"
+ REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
+ ;;
+ esac;
+ AC_SUBST(REPORT_BUGS_TO)
+ AC_SUBST(REPORT_BUGS_TEXI)
+])
Modified: fsf/trunk/libc/catgets/gencat.c
==============================================================================
--- fsf/trunk/libc/catgets/gencat.c (original)
+++ fsf/trunk/libc/catgets/gencat.c Fri Nov 9 22:22:50 2012
@@ -227,13 +227,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -244,7 +247,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "gencat (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "gencat %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Fri Nov 9 22:22:50 2012
@@ -160,6 +160,12 @@
/* Define if __stack_chk_guard canary should be randomized at program startup. */
#undef ENABLE_STACKGUARD_RANDOMIZE
+
+/* Package description. */
+#undef PKGVERSION
+
+/* Bug reporting address. */
+#undef REPORT_BUGS_TO
/* Define if multi-arch DSOs should be generated. */
#undef USE_MULTIARCH
Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Fri Nov 9 22:22:50 2012
@@ -139,4 +139,10 @@
# Additional libraries.
LIBGD = @LIBGD@
+# Package versions and bug reporting configuration.
+PKGVERSION = @PKGVERSION@
+PKGVERSION_TEXI = @PKGVERSION_TEXI@
+REPORT_BUGS_TO = @REPORT_BUGS_TO@
+REPORT_BUGS_TEXI = @REPORT_BUGS_TEXI@
+
# More variables may be inserted below by configure.
Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Fri Nov 9 22:22:50 2012
@@ -685,6 +685,10 @@
build_cpu
build
subdirs
+REPORT_BUGS_TEXI
+REPORT_BUGS_TO
+PKGVERSION_TEXI
+PKGVERSION
target_alias
host_alias
build_alias
@@ -726,6 +730,8 @@
ac_subst_files=''
ac_user_opts='
enable_option_checking
+with_pkgversion
+with_bugurl
with_gd
with_gd_include
with_gd_lib
@@ -1417,6 +1423,8 @@
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pkgversion=PKG Use PKG in the version string in place of "GNU libc"
+ --with-bugurl=URL Direct users to URL to report a bug
--with-gd=DIR find libgd include dir and library with prefix DIR
--with-gd-include=DIR find libgd include files in DIR
--with-gd-lib=DIR find libgd library files in DIR
@@ -2283,6 +2291,64 @@
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+
+# Check whether --with-pkgversion was given.
+if test "${with_pkgversion+set}" = set; then :
+ withval=$with_pkgversion; case "$withval" in
+ yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
+ no) PKGVERSION= ;;
+ *) PKGVERSION="($withval) " ;;
+ esac
+else
+ PKGVERSION="(GNU libc) "
+
+fi
+
+ PKGVERSION_TEXI=`echo "$PKGVERSION" | sed 's/@/@@/g'`
+
+
+
+
+
+# Check whether --with-bugurl was given.
+if test "${with_bugurl+set}" = set; then :
+ withval=$with_bugurl; case "$withval" in
+ yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
+ no) BUGURL=
+ ;;
+ *) BUGURL="$withval"
+ ;;
+ esac
+else
+ BUGURL="http://www.gnu.org/software/libc/bugs.html"
+
+fi
+
+ case ${BUGURL} in
+ "")
+ REPORT_BUGS_TO=
+ REPORT_BUGS_TEXI=
+ ;;
+ *)
+ REPORT_BUGS_TO="<$BUGURL>"
+ REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
+ ;;
+ esac;
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define PKGVERSION "$PKGVERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define REPORT_BUGS_TO "$REPORT_BUGS_TO"
+_ACEOF
# Glibc should not depend on any header files
Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Fri Nov 9 22:22:50 2012
@@ -4,6 +4,13 @@
AC_CONFIG_SRCDIR([include/features.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([scripts])
+
+ACX_PKGVERSION([GNU libc])
+ACX_BUGURL([http://www.gnu.org/software/libc/bugs.html])
+AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"],
+ [Package description])
+AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"],
+ [Bug reporting address])
# Glibc should not depend on any header files
AC_DEFUN([_AC_INCLUDES_DEFAULT_REQUIREMENTS],
Modified: fsf/trunk/libc/csu/version.c
==============================================================================
--- fsf/trunk/libc/csu/version.c (original)
+++ fsf/trunk/libc/csu/version.c Fri Nov 9 22:22:50 2012
@@ -24,7 +24,7 @@
static const char __libc_version[] = VERSION;
static const char banner[] =
-"GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
+"GNU C Library "PKGVERSION RELEASE" release version "VERSION", by Roland McGrath et al.\n\
Copyright (C) 2012 Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions.\n\
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
@@ -38,7 +38,7 @@
"The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n"
#endif
"For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n";
+"REPORT_BUGS_TO".\n";
#include <unistd.h>
Modified: fsf/trunk/libc/debug/Makefile
==============================================================================
--- fsf/trunk/libc/debug/Makefile (original)
+++ fsf/trunk/libc/debug/Makefile Fri Nov 9 22:22:50 2012
@@ -156,7 +156,9 @@
$(objpfx)catchsegv: catchsegv.sh $(common-objpfx)soversions.mk \
$(common-objpfx)config.make
slibpfx=`echo $(slibdir)|sed 's/lib\(64\|\)$$/\\\\\\\\$$LIB/'`; \
- sed -e 's|@VERSION@|$(version)|' -e "s|@SLIB@|$$slibpfx|" $< > $@.new
+ sed -e 's|@VERSION@|$(version)|' -e "s|@SLIB@|$$slibpfx|" \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $< > $@.new
chmod 555 $@.new
mv -f $@.new $@
@@ -165,7 +167,9 @@
$(objpfx)xtrace: xtrace.sh
rm -f $@.new
sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
- -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' $^ > $@.new \
+ -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
Modified: fsf/trunk/libc/debug/catchsegv.sh
==============================================================================
--- fsf/trunk/libc/debug/catchsegv.sh (original)
+++ fsf/trunk/libc/debug/catchsegv.sh Fri Nov 9 22:22:50 2012
@@ -33,12 +33,14 @@
echo 'Usage: catchsegv PROGRAM ARGS...'
echo ' --help print this help, then exit'
echo ' --version print version number, then exit'
- echo "For bug reporting instructions, please see:"
- echo "<http://www.gnu.org/software/libc/bugs.html>."
+ echo 'For bug reporting instructions, please see:'
+ cat <<\EOF
+@REPORT_BUGS_TO@.
+EOF
exit 0
;;
--v | --ve | --ver | --vers | --versi | --versio | --version)
- echo 'catchsegv (GNU libc) @VERSION@'
+ echo 'catchsegv @PKGVERSION@@VERSION@'
echo 'Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Modified: fsf/trunk/libc/debug/pcprofiledump.c
==============================================================================
--- fsf/trunk/libc/debug/pcprofiledump.c (original)
+++ fsf/trunk/libc/debug/pcprofiledump.c Fri Nov 9 22:22:50 2012
@@ -1,5 +1,5 @@
/* Dump information generated by PC profiling.
- Copyright (C) 1999, 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1999.
@@ -200,13 +200,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -217,7 +220,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "pcprofiledump (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "pcprofiledump %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/debug/xtrace.sh
==============================================================================
--- fsf/trunk/libc/debug/xtrace.sh (original)
+++ fsf/trunk/libc/debug/xtrace.sh Fri Nov 9 22:22:50 2012
@@ -54,14 +54,13 @@
short options.
"
- echo $"For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>.
-"
+ printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+ "@REPORT_BUGS_TO@"
exit 0
}
do_version() {
- echo 'xtrace (GNU libc) @VERSION@'
+ echo 'xtrace @PKGVERSION@@VERSION@'
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Fri Nov 9 22:22:50 2012
@@ -108,7 +108,10 @@
sed -e 's%@KSH@%$(KSH)%g' \
-e 's%@VERSION@%$(version)%g' \
-e 's%@TEXTDOMAINDIR@%$(msgcatdir)%g' \
- -e 's%@PREFIX@%$(prefix)%g' < $< > $@.new
+ -e 's%@PREFIX@%$(prefix)%g' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
+ < $< > $@.new
chmod 555 $@.new
mv -f $@.new $@
$(inst_auditdir)/sotruss-lib.so: $(objpfx)sotruss-lib.so $(+force)
@@ -381,7 +384,9 @@
common-ldd-rewrite = -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
- -e 's%@VERSION@%$(version)%g'
+ -e 's%@VERSION@%$(version)%g' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g'
sh-ldd-rewrite = $(common-ldd-rewrite) -e 's%@BASH@%/bin/sh%g;s/\$$"/"/g'
bash-ldd-rewrite = $(common-ldd-rewrite) -e 's%@BASH@%$(BASH)%g' \
-e 's%@TEXTDOMAINDIR@%$(msgcatdir)%g'
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 9 22:22:50 2012
@@ -702,7 +702,7 @@
if (any_tls)
{
if (__builtin_expect (++GL(dl_tls_generation) == 0, 0))
- _dl_fatal_printf ("TLS generation counter wrapped! Please report as described in <http://www.gnu.org/software/libc/bugs.html>.\n");
+ _dl_fatal_printf ("TLS generation counter wrapped! Please report as described in "REPORT_BUGS_TO".\n");
if (tls_free_end == GL(dl_tls_static_used))
GL(dl_tls_static_used) = tls_free_start;
Modified: fsf/trunk/libc/elf/ldconfig.c
==============================================================================
--- fsf/trunk/libc/elf/ldconfig.c (original)
+++ fsf/trunk/libc/elf/ldconfig.c Fri Nov 9 22:22:50 2012
@@ -294,13 +294,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -311,7 +314,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "ldconfig (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "ldconfig %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/elf/ldd.bash.in
==============================================================================
--- fsf/trunk/libc/elf/ldd.bash.in (original)
+++ fsf/trunk/libc/elf/ldd.bash.in Fri Nov 9 22:22:50 2012
@@ -34,7 +34,7 @@
while test $# -gt 0; do
case "$1" in
--vers | --versi | --versio | --version)
- echo 'ldd (GNU libc) @VERSION@'
+ echo 'ldd @PKGVERSION@@VERSION@'
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -52,9 +52,8 @@
-u, --unused print unused direct dependencies
-v, --verbose print all information
"
- echo $"For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>.
-"
+ printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+ "@REPORT_BUGS_TO@"
exit 0
;;
-d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
Modified: fsf/trunk/libc/elf/pldd.c
==============================================================================
--- fsf/trunk/libc/elf/pldd.c (original)
+++ fsf/trunk/libc/elf/pldd.c Fri Nov 9 22:22:50 2012
@@ -52,10 +52,8 @@
static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
-/* Bug report address. */
-const char *argp_program_bug_address = N_("\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
@@ -76,7 +74,7 @@
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc, NULL, NULL, NULL
+ options, parse_opt, args_doc, doc, NULL, more_help, NULL
};
// File descriptor of /proc/*/mem file.
@@ -212,11 +210,31 @@
}
+/* Print bug-reporting information in the help message. */
+static char *
+more_help (int key, const char *text, void *input)
+{
+ char *tp = NULL;
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "pldd (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "pldd %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/elf/sln.c
==============================================================================
--- fsf/trunk/libc/elf/sln.c (original)
+++ fsf/trunk/libc/elf/sln.c Fri Nov 9 22:22:50 2012
@@ -58,7 +58,7 @@
{
case 2:
if (strcmp (argv[1], "--version") == 0) {
- printf ("sln (GNU libc) %s\n", VERSION);
+ printf ("sln %s%s\n", PKGVERSION, VERSION);
return 0;
} else if (strcmp (argv[1], "--help") == 0) {
usage ();
@@ -82,8 +82,8 @@
usage (void)
{
printf (_("Usage: sln src dest|file\n\n"));
- fputs (_("For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"), stdout);
+ printf (_("For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO);
}
static int
Modified: fsf/trunk/libc/elf/sotruss.ksh
==============================================================================
--- fsf/trunk/libc/elf/sotruss.ksh (original)
+++ fsf/trunk/libc/elf/sotruss.ksh Fri Nov 9 22:22:50 2012
@@ -46,9 +46,8 @@
printf $"Mandatory arguments to long options are also mandatory for any corresponding\nshort options.\n"
echo
- printf $"For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>.
-"
+ printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+ "@REPORT_BUGS_TO@"
exit 0
}
@@ -72,7 +71,7 @@
while test $# -gt 0; do
case "$1" in
--v | --ve | --ver | --vers | --versi | --versio | --version)
- echo "sotruss (GNU libc) @VERSION@"
+ echo "sotruss @PKGVERSION@@VERSION@"
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Modified: fsf/trunk/libc/elf/sprof.c
==============================================================================
--- fsf/trunk/libc/elf/sprof.c (original)
+++ fsf/trunk/libc/elf/sprof.c Fri Nov 9 22:22:50 2012
@@ -363,13 +363,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -381,7 +384,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "sprof (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "sprof %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/iconv/iconv_prog.c
==============================================================================
--- fsf/trunk/libc/iconv/iconv_prog.c (original)
+++ fsf/trunk/libc/iconv/iconv_prog.c Fri Nov 9 22:22:50 2012
@@ -400,13 +400,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -418,7 +421,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "iconv (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "iconv %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/iconv/iconvconfig.c
==============================================================================
--- fsf/trunk/libc/iconv/iconvconfig.c (original)
+++ fsf/trunk/libc/iconv/iconvconfig.c Fri Nov 9 22:22:50 2012
@@ -375,13 +375,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -393,7 +396,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "iconvconfig (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "iconvconfig %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/locale/programs/locale.c
==============================================================================
--- fsf/trunk/libc/locale/programs/locale.c (original)
+++ fsf/trunk/libc/locale/programs/locale.c Fri Nov 9 22:22:50 2012
@@ -271,13 +271,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -289,7 +292,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "locale (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "locale %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/locale/programs/localedef.c
==============================================================================
--- fsf/trunk/libc/locale/programs/localedef.c (original)
+++ fsf/trunk/libc/locale/programs/localedef.c Fri Nov 9 22:22:50 2012
@@ -354,20 +354,26 @@
more_help (int key, const char *text, void *input)
{
char *cp;
+ char *tp;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
if (asprintf (&cp, gettext ("\
System's directory for character maps : %s\n\
repertoire maps: %s\n\
locale path : %s\n\
%s"),
- CHARMAP_PATH, REPERTOIREMAP_PATH, LOCALE_PATH, gettext ("\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n")) < 0)
- return NULL;
+ CHARMAP_PATH, REPERTOIREMAP_PATH, LOCALE_PATH, tp) < 0)
+ {
+ free (tp);
+ return NULL;
+ }
return cp;
default:
break;
@@ -379,7 +385,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "localedef (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "localedef %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/login/programs/pt_chown.c
==============================================================================
--- fsf/trunk/libc/login/programs/pt_chown.c (original)
+++ fsf/trunk/libc/login/programs/pt_chown.c Fri Nov 9 22:22:50 2012
@@ -58,7 +58,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "pt_chown (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "pt_chown %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
@@ -70,6 +70,7 @@
more_help (int key, const char *text, void *input)
{
char *cp;
+ char *tp;
switch (key)
{
@@ -84,13 +85,19 @@
return cp;
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- asprintf (&cp, gettext ("\
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ if (asprintf (&cp, gettext ("\
The owner is set to the current user, the group is set to `%s',\
and the access permission is set to `%o'.\n\n\
%s"),
- TTY_GROUP, S_IRUSR|S_IWUSR|S_IWGRP, gettext ("\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+ TTY_GROUP, S_IRUSR|S_IWUSR|S_IWGRP, tp) < 0)
+ {
+ free (tp);
+ return NULL;
+ }
return cp;
default:
break;
Modified: fsf/trunk/libc/malloc/Makefile
==============================================================================
--- fsf/trunk/libc/malloc/Makefile (original)
+++ fsf/trunk/libc/malloc/Makefile Fri Nov 9 22:22:50 2012
@@ -126,13 +126,17 @@
$(objpfx)mtrace: mtrace.pl
rm -f $@.new
sed -e 's|@PERL@|$(PERL)|' -e 's|@XXX@|$(address-width)|' \
- -e 's|@VERSION@|$(version)|' $^ > $@.new \
+ -e 's|@VERSION@|$(version)|' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@
$(objpfx)memusage: memusage.sh
rm -f $@.new
sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
- -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' $^ > $@.new \
+ -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
+ -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@
Modified: fsf/trunk/libc/malloc/memusage.sh
==============================================================================
--- fsf/trunk/libc/malloc/memusage.sh (original)
+++ fsf/trunk/libc/malloc/memusage.sh Fri Nov 9 22:22:50 2012
@@ -61,14 +61,13 @@
short options.
"
- echo $"For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>.
-"
+ printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+ "@REPORT_BUGS_TO@"
exit 0
}
do_version() {
- echo 'memusage (GNU libc) @VERSION@'
+ echo 'memusage @PKGVERSION@@VERSION@'
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Modified: fsf/trunk/libc/malloc/memusagestat.c
==============================================================================
--- fsf/trunk/libc/malloc/memusagestat.c (original)
+++ fsf/trunk/libc/malloc/memusagestat.c Fri Nov 9 22:22:50 2012
@@ -528,20 +528,17 @@
static char *
more_help (int key, const char *text, void *input)
{
- char *orig;
- char *cp;
+ char *tp;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- orig = gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
- cp = strdup (orig);
- if (cp == NULL)
- cp = orig;
- return cp;
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -552,7 +549,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "memusagestat (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "memusagestat %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/malloc/mtrace.pl
==============================================================================
--- fsf/trunk/libc/malloc/mtrace.pl (original)
+++ fsf/trunk/libc/malloc/mtrace.pl Fri Nov 9 22:22:50 2012
@@ -21,7 +21,8 @@
# <http://www.gnu.org/licenses/>.
$VERSION = "@VERSION@";
-$PACKAGE = "libc";
+$PKGVERSION = "@PKGVERSION@";
+$REPORT_BUGS_TO = '@REPORT_BUGS_TO@';
$progname = $0;
sub usage {
@@ -30,7 +31,7 @@
print " --version print version number, then exit\n";
print "\n";
print "For bug reporting instructions, please see:\n";
- print "<http://www.gnu.org/software/libc/bugs.html>.\n";
+ print "$REPORT_BUGS_TO.\n";
exit 0;
}
@@ -43,7 +44,7 @@
if ($ARGV[0] eq "--v" || $ARGV[0] eq "--ve" || $ARGV[0] eq "--ver" ||
$ARGV[0] eq "--vers" || $ARGV[0] eq "--versi" ||
$ARGV[0] eq "--versio" || $ARGV[0] eq "--version") {
- print "mtrace (GNU $PACKAGE) $VERSION\n";
+ print "mtrace $PKGVERSION$VERSION\n";
print "Copyright (C) 2012 Free Software Foundation, Inc.\n";
print "This is free software; see the source for copying conditions. There is NO\n";
print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
Modified: fsf/trunk/libc/manual/Makefile
==============================================================================
--- fsf/trunk/libc/manual/Makefile (original)
+++ fsf/trunk/libc/manual/Makefile Fri Nov 9 22:22:50 2012
@@ -61,7 +61,7 @@
# Generated files directly included from libc.texinfo.
libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \
- libm-err.texi version.texi
+ libm-err.texi version.texi pkgvers.texi
# Add path to build dir for generated files
texis-path := $(filter-out $(libc-texi-generated) summary.texi $(examples), \
@@ -111,6 +111,20 @@
pwd=`pwd`; \
$(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp
$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
+ touch $@
+
+# Package version and bug reporting URL.
+$(objpfx)pkgvers.texi: $(objpfx)stamp-pkgvers ;
+$(objpfx)stamp-pkgvers: $(common-objpfx)config.make
+ echo "@ifclear PKGVERS" > $(objpfx)pkgvers-tmp
+ echo "@set PKGVERS" >> $(objpfx)pkgvers-tmp
+ echo "@set PKGVERSION $(PKGVERSION_TEXI)" >> $(objpfx)pkgvers-tmp
+ if [ "$(PKGVERSION_TEXI)" = "(GNU libc) " ]; then \
+ echo "@set PKGVERSION_DEFAULT" >> $(objpfx)pkgvers-tmp; \
+ fi
+ echo "@set REPORT_BUGS_TO $(REPORT_BUGS_TEXI)" >> $(objpfx)pkgvers-tmp
+ echo "@end ifclear" >> $(objpfx)pkgvers-tmp
+ $(move-if-change) $(objpfx)pkgvers-tmp $(objpfx)pkgvers.texi
touch $@
# Generate a file with the version number.
Modified: fsf/trunk/libc/manual/install.texi
==============================================================================
--- fsf/trunk/libc/manual/install.texi (original)
+++ fsf/trunk/libc/manual/install.texi Fri Nov 9 22:22:50 2012
@@ -2,6 +2,7 @@
@c Makeinfo ignores it when processing the file from the include.
@setfilename INSTALL
@include macros.texi
+@include pkgvers.texi
@node Installation, Maintenance, Library Summary, Top
@c %MENU% How to install the GNU C Library
@@ -173,6 +174,19 @@
@var{CFLAGS}.
If you specify just @samp{--build}, @code{configure} will get confused.
+
+@item --with-pkgversion=@var{version}
+Specify a description, possibly including a build number or build
+date, of the binaries being built, to be included in
+@option{--version} output from programs installed with @theglibc{}.
+For example, @option{--with-pkgversion='FooBar GNU/Linux glibc build
+123'}. The default value is @samp{GNU libc}.
+
+@item --with-bugurl=@var{url}
+Specify the URL that users should visit if they wish to report a bug,
+to be included in @option{--help} output from programs installed with
+@theglibc{}. The default value refers to the main bug-reporting
+information for @theglibc{}.
@end table
To build the library and related programs, type @code{make}. This will
@@ -458,7 +472,8 @@
It is a good idea to verify that the problem has not already been
reported. Bugs are documented in two places: The file @file{BUGS}
-describes a number of well known bugs and the bug tracking system has a
+describes a number of well known bugs and the central @glibcadj{}
+bug tracking system has a
WWW interface at
@url{http://sourceware.org/bugzilla/}. The WWW
interface gives you access to open and closed reports. A closed report
@@ -483,7 +498,7 @@
function call, if possible. This should not be too difficult.
The final step when you have a simple test case is to report the bug.
-Do this using the WWW interface to the bug database.
+Do this at @value{REPORT_BUGS_TO}.
If you are not sure how a function should behave, and this manual
doesn't tell you, that's a bug in the manual. Report that too! If the
Modified: fsf/trunk/libc/manual/libc.texinfo
==============================================================================
--- fsf/trunk/libc/manual/libc.texinfo (original)
+++ fsf/trunk/libc/manual/libc.texinfo Fri Nov 9 22:22:50 2012
@@ -12,6 +12,8 @@
* Libc: (libc). C library.
@end direntry
@include dir-add.texi
+
+@include pkgvers.texi
@c This tells texinfo.tex to use the real section titles in xrefs in
@c place of the node name, when no section title is explicitly given.
@@ -36,7 +38,13 @@
This is
@c Disabled (printed editions, see above).
@c Edition @value{EDITION} of
-@cite{The GNU C Library Reference Manual}, for version @value{VERSION}.
+@cite{The GNU C Library Reference Manual}, for version
+@ifset PKGVERSION_DEFAULT
+@value{VERSION}.
+@end ifset
+@ifclear PKGVERSION_DEFAULT
+@value{VERSION} @value{PKGVERSION}.
+@end ifclear
Copyright @copyright{} 1993--2012 Free Software Foundation, Inc.
@@ -70,6 +78,10 @@
@c @center Edition @value{EDITION}
@c @sp 1
@center for version @value{VERSION}
+@ifclear PKGVERSION_DEFAULT
+@sp 1
+@center @value{PKGVERSION}
+@end ifclear
@page
@vskip 0pt plus 1filll
@insertcopying
@@ -96,6 +108,9 @@
@c Disabled (printed editions, see above).
@c Edition @value{EDITION} of
@cite{The GNU C Library Reference Manual}, for Version @value{VERSION}
+@ifclear PKGVERSION_DEFAULT
+@value{PKGVERSION}
+@end ifclear
of @theglibc{}.
@end ifnottex
Modified: fsf/trunk/libc/nscd/nscd.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd.c (original)
+++ fsf/trunk/libc/nscd/nscd.c Fri Nov 9 22:22:50 2012
@@ -451,13 +451,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -468,7 +471,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "nscd (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "nscd %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Modified: fsf/trunk/libc/nss/getent.c
==============================================================================
--- fsf/trunk/libc/nss/getent.c (original)
+++ fsf/trunk/libc/nss/getent.c Fri Nov 9 22:22:50 2012
@@ -82,7 +82,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "getent (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "getent %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
@@ -962,9 +962,9 @@
fputs ("\n\n", fp);
- fputs (gettext ("\
+ fprintf (fp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"), fp);
+%s.\n"), REPORT_BUGS_TO);
if (fclose (fp) == 0)
return doc;
Modified: fsf/trunk/libc/nss/makedb.c
==============================================================================
--- fsf/trunk/libc/nss/makedb.c (original)
+++ fsf/trunk/libc/nss/makedb.c Fri Nov 9 22:22:50 2012
@@ -363,13 +363,16 @@
static char *
more_help (int key, const char *text, void *input)
{
+ char *tp = NULL;
switch (key)
{
case ARGP_KEY_HELP_EXTRA:
/* We print some extra information. */
- return strdup (gettext ("\
+ if (asprintf (&tp, gettext ("\
For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n"));
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
default:
break;
}
@@ -380,7 +383,7 @@
static void
print_version (FILE *stream, struct argp_state *state)
{
- fprintf (stream, "makedb (GNU %s) %s\n", PACKAGE, VERSION);
+ fprintf (stream, "makedb %s%s\n", PKGVERSION, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
Added: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (added)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Fri Nov 9 22:22:50 2012
@@ -1,0 +1,120 @@
+2012-11-09 Marcus Shawcroft <marcus.shawcroft@xxxxxxxxxx>
+
+ * sysdeps/aarch64/Implies: New file.
+ * sysdeps/aarch64/Makefile: New file.
+ * sysdeps/aarch64/__longjmp.S: New file.
+ * sysdeps/aarch64/backtrace.c: New file.
+ * sysdeps/aarch64/bits: New file.
+ * sysdeps/aarch64/bits/atomic.h: New file.
+ * sysdeps/aarch64/bits/endian.h: New file.
+ * sysdeps/aarch64/bits/fenv.h: New file.
+ * sysdeps/aarch64/bits/link.h: New file.
+ * sysdeps/aarch64/bits/linkmap.h: New file.
+ * sysdeps/aarch64/bits/mathdef.h: New file.
+ * sysdeps/aarch64/bits/setjmp.h: New file.
+ * sysdeps/aarch64/bsd-_setjmp.S: New file.
+ * sysdeps/aarch64/bsd-setjmp.S: New file.
+ * sysdeps/aarch64/crti.S: New file.
+ * sysdeps/aarch64/crtn.S: New file.
+ * sysdeps/aarch64/dl-irel.h: New file.
+ * sysdeps/aarch64/dl-link.sym: New file.
+ * sysdeps/aarch64/dl-machine.h: New file.
+ * sysdeps/aarch64/dl-sysdep.h: New file.
+ * sysdeps/aarch64/dl-tls.h: New file.
+ * sysdeps/aarch64/dl-tlsdesc.S: New file.
+ * sysdeps/aarch64/dl-tlsdesc.h: New file.
+ * sysdeps/aarch64/dl-trampoline.S: New file.
+ * sysdeps/aarch64/fpu/fclrexcpt.c: New file.
+ * sysdeps/aarch64/fpu/fedisblxcpt.c: New file.
+ * sysdeps/aarch64/fpu/feenablxcpt.c: New file.
+ * sysdeps/aarch64/fpu/fegetenv.c: New file.
+ * sysdeps/aarch64/fpu/fegetexcept.c: New file.
+ * sysdeps/aarch64/fpu/fegetround.c: New file.
+ * sysdeps/aarch64/fpu/feholdexcpt.c: New file.
+ * sysdeps/aarch64/fpu/fesetenv.c: New file.
+ * sysdeps/aarch64/fpu/fesetround.c: New file.
+ * sysdeps/aarch64/fpu/feupdateenv.c: New file.
+ * sysdeps/aarch64/fpu/fgetexcptflg.c: New file.
+ * sysdeps/aarch64/fpu/fraiseexcpt.c: New file.
+ * sysdeps/aarch64/fpu/fsetexcptflg.c: New file.
+ * sysdeps/aarch64/fpu/ftestexcept.c: New file.
+ * sysdeps/aarch64/fpu/get-rounding-mode.h: New file.
+ * sysdeps/aarch64/fpu/s_fma.c: New file.
+ * sysdeps/aarch64/fpu_control.h: New file.
+ * sysdeps/aarch64/jmpbuf-offsets.h: New file.
+ * sysdeps/aarch64/jmpbuf-unwind.h: New file.
+ * sysdeps/aarch64/ldsodefs.h: New file.
+ * sysdeps/aarch64/libc-tls.c: New file.
+ * sysdeps/aarch64/libm-test-ulps: New file.
+ * sysdeps/aarch64/machine-gmon.h: New file.
+ * sysdeps/aarch64/memusage.h: New file.
+ * sysdeps/aarch64/nptl/Makefile: New file.
+ * sysdeps/aarch64/nptl/pthread_spin_lock.c: New file.
+ * sysdeps/aarch64/nptl/pthreaddef.h: New file.
+ * sysdeps/aarch64/nptl/tcb-offsets.sym: New file.
+ * sysdeps/aarch64/nptl/tls.h: New file.
+ * sysdeps/aarch64/sotruss-lib.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/Implies: New file.
+ * sysdeps/unix/sysv/linux/aarch64/Makefile: New file.
+ * sysdeps/unix/sysv/linux/aarch64/Versions: New file.
+ * sysdeps/unix/sysv/linux/aarch64/__read_tp.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/bits: New file.
+ * sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/bits/libc-vdso.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/clone.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/configure: New file.
+ * sysdeps/unix/sysv/linux/aarch64/configure.in: New file.
+ * sysdeps/unix/sysv/linux/aarch64/getcontext.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/init-first.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/ioctl.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/kernel-features.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/ldconfig.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/makecontext.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/mmap.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/bits: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/bits/local_lim.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/bits/semaphore.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/c++-types.data: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/clone.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/createthread.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/fork.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/ld.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libBrokenLocale.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libanl.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libcrypt.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libdl.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libnsl.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libresolv.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/librt.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libthread_db.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/libutil.abilist: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/pt-vfork.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/pthread_once.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/nptl/vfork.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/profil-counter.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/setcontext.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sigaction.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/swapcontext.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sys/elf.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sys/user.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/syscall.S: New file.
+ * sysdeps/unix/sysv/linux/aarch64/syscalls.list: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.c: New file.
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym: New file.
+ * sysdeps/unix/sysv/linux/aarch64/vfork.S: New file.
Added: fsf/trunk/libc/ports/sysdeps/aarch64/Implies
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/Implies (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/Implies Fri Nov 9 22:22:50 2012
@@ -1,0 +1,6 @@
+wordsize-64
+ieee754/ldbl-128
+ieee754/dbl-64/wordsize-64
+ieee754/dbl-64
+ieee754/flt-32
+aarch64/soft-fp
Added: fsf/trunk/libc/ports/sysdeps/aarch64/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/Makefile (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/Makefile Fri Nov 9 22:22:50 2012
@@ -1,0 +1,12 @@
+long-double-fcts = yes
+
+ifeq ($(subdir),elf)
+sysdep-dl-routines += tlsdesc dl-tlsdesc
+sysdep_routines += tlsdesc dl-tlsdesc
+sysdep-rtld-routines += tlsdesc dl-tlsdesc
+gen-as-const-headers += dl-link.sym
+endif
+
+ifeq ($(subdir),csu)
+gen-as-const-headers += tlsdesc.sym
+endif
Added: fsf/trunk/libc/ports/sysdeps/aarch64/__longjmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/__longjmp.S (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/__longjmp.S Fri Nov 9 22:22:50 2012
@@ -1,0 +1,98 @@
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include <jmpbuf-offsets.h>
+
+/* __longjmp(jmpbuf, val) */
+
+ENTRY (__longjmp)
+ cfi_def_cfa(x0, 0)
+ cfi_offset(x19, JB_X19<<3)
+ cfi_offset(x20, JB_X20<<3)
+ cfi_offset(x21, JB_X21<<3)
+ cfi_offset(x22, JB_X22<<3)
+ cfi_offset(x23, JB_X23<<3)
+ cfi_offset(x24, JB_X24<<3)
+ cfi_offset(x25, JB_X25<<3)
+ cfi_offset(x26, JB_X26<<3)
+ cfi_offset(x27, JB_X27<<3)
+ cfi_offset(x28, JB_X28<<3)
+ cfi_offset(x29, JB_X29<<3)
+ cfi_offset(x30, JB_LR<<3)
+
+ cfi_offset( d8, JB_D8<<3)
+ cfi_offset( d9, JB_D9<<3)
+ cfi_offset(d10, JB_D10<<3)
+ cfi_offset(d11, JB_D11<<3)
+ cfi_offset(d12, JB_D12<<3)
+ cfi_offset(d13, JB_D13<<3)
+ cfi_offset(d14, JB_D14<<3)
+ cfi_offset(d15, JB_D15<<3)
+
+ ldp x19, x20, [x0, #JB_X19<<3]
+ ldp x21, x22, [x0, #JB_X21<<3]
+ ldp x23, x24, [x0, #JB_X23<<3]
+ ldp x25, x26, [x0, #JB_X25<<3]
+ ldp x27, x28, [x0, #JB_X27<<3]
+ ldp x29, x30, [x0, #JB_X29<<3]
+
+ ldp d8, d9, [x0, #JB_D8<<3]
+ ldp d10, d11, [x0, #JB_D10<<3]
+ ldp d12, d13, [x0, #JB_D12<<3]
+ ldp d14, d15, [x0, #JB_D14<<3]
+
+ /* Originally this was implemented with a series of
+ .cfi_restore() directives.
+
+ The theory was that cfi_restore should revert to previous
+ frame value is the same as the current value. In practice
+ this doesn't work, even after cfi_restore() gdb continues
+ to try to recover a previous frame value offset from x0,
+ which gets stuffed after a few more instructions. The
+ cfi_same_value() mechanism appears to work fine. */
+
+ cfi_same_value(x19)
+ cfi_same_value(x20)
+ cfi_same_value(x21)
+ cfi_same_value(x22)
+ cfi_same_value(x23)
+ cfi_same_value(x24)
+ cfi_same_value(x25)
+ cfi_same_value(x26)
+ cfi_same_value(x27)
+ cfi_same_value(x28)
+ cfi_same_value(x29)
+ cfi_same_value(x30)
+ cfi_same_value(d8)
+ cfi_same_value(d9)
+ cfi_same_value(d10)
+ cfi_same_value(d11)
+ cfi_same_value(d12)
+ cfi_same_value(d13)
+ cfi_same_value(d14)
+ cfi_same_value(d15)
+
+ ldr x5, [x0, #JB_SP<<3]
+ mov sp, x5
+ cmp x1, #0
+ mov x0, #1
+ csel x0, x1, x0, ne
+ /* Use br instead of ret because ret is guaranteed to mispredict */
+ br x30
+END (__longjmp)
Added: fsf/trunk/libc/ports/sysdeps/aarch64/backtrace.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/backtrace.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/backtrace.c Fri Nov 9 22:22:50 2012
@@ -1,0 +1,1 @@
+#include <sysdeps/x86_64/backtrace.c>
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/atomic.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/atomic.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/atomic.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,171 @@
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _AARCH64_BITS_ATOMIC_H
+#define _AARCH64_BITS_ATOMIC_H 1
+
+#include <stdint.h>
+
+typedef int8_t atomic8_t;
+typedef int16_t atomic16_t;
+typedef int32_t atomic32_t;
+typedef int64_t atomic64_t;
+
+typedef uint8_t uatomic8_t;
+typedef uint16_t uatomic16_t;
+typedef uint32_t uatomic32_t;
+typedef uint64_t uatomic64_t;
+
+typedef intptr_t atomicptr_t;
+typedef uintptr_t uatomicptr_t;
+typedef intmax_t atomic_max_t;
+typedef uintmax_t uatomic_max_t;
+
+
+/* Compare and exchange.
+ For all "bool" routines, we return FALSE if exchange succesful. */
+
+# define __arch_compare_and_exchange_bool_8_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ })
+
+# define __arch_compare_and_exchange_bool_16_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ })
+
+# define __arch_compare_and_exchange_bool_32_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ })
+
+# define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ })
+
+# define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ __oldval; \
+ })
+
+# define __arch_compare_and_exchange_val_16_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ __oldval; \
+ })
+
+# define __arch_compare_and_exchange_val_32_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ __oldval; \
+ })
+
+# define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ __oldval; \
+ })
+
+
+/* Compare and exchange with "acquire" semantics, ie barrier after. */
+
+# define atomic_compare_and_exchange_bool_acq(mem, new, old) \
+ __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
+ mem, new, old, __ATOMIC_ACQUIRE)
+
+# define atomic_compare_and_exchange_val_acq(mem, new, old) \
+ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
+ mem, new, old, __ATOMIC_ACQUIRE)
+
+/* Compare and exchange with "release" semantics, ie barrier before. */
+
+# define atomic_compare_and_exchange_bool_rel(mem, new, old) \
+ __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
+ mem, new, old, __ATOMIC_RELEASE)
+
+# define atomic_compare_and_exchange_val_rel(mem, new, old) \
+ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
+ mem, new, old, __ATOMIC_RELEASE)
+
+
+/* Atomic exchange (without compare). */
+
+# define __arch_exchange_8_int(mem, newval, model) \
+ __atomic_exchange_n (mem, newval, model)
+
+# define __arch_exchange_16_int(mem, newval, model) \
+ __atomic_exchange_n (mem, newval, model)
+
+# define __arch_exchange_32_int(mem, newval, model) \
+ __atomic_exchange_n (mem, newval, model)
+
+# define __arch_exchange_64_int(mem, newval, model) \
+ __atomic_exchange_n (mem, newval, model)
+
+# define atomic_exchange_acq(mem, value) \
+ __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_ACQUIRE)
+
+# define atomic_exchange_rel(mem, value) \
+ __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_RELEASE)
+
+
+/* Atomically add value and return the previous (unincremented) value. */
+
+# define __arch_exchange_and_add_8_int(mem, value, model) \
+ __atomic_fetch_add (mem, value, model)
+
+# define __arch_exchange_and_add_16_int(mem, value, model) \
+ __atomic_fetch_add (mem, value, model)
+
+# define __arch_exchange_and_add_32_int(mem, value, model) \
+ __atomic_fetch_add (mem, value, model)
+
+# define __arch_exchange_and_add_64_int(mem, value, model) \
+ __atomic_fetch_add (mem, value, model)
+
+# define atomic_exchange_and_add_acq(mem, value) \
+ __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \
+ __ATOMIC_ACQUIRE)
+
+# define atomic_exchange_and_add_rel(mem, value) \
+ __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \
+ __ATOMIC_RELEASE)
+
+/* Barrier macro. */
+#define atomic_full_barrier() __sync_synchronize()
+
+#endif
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/endian.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/endian.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/endian.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,30 @@
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _ENDIAN_H
+# error "Never use <bits/endian.h> directly; include <endian.h> instead."
+#endif
+
+/* AArch64 can be either big or little endian. */
+#ifdef __AARCH64EB__
+# define __BYTE_ORDER __BIG_ENDIAN
+#else
+# define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
+
+#define __FLOAT_WORD_ORDER __BYTE_ORDER
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/fenv.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/fenv.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/fenv.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,74 @@
+/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _FENV_H
+# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
+#endif
+
+/* Define bits representing exceptions in the FPSR status word. */
+enum
+ {
+ FE_INVALID =
+#define FE_INVALID 1
+ FE_INVALID,
+ FE_DIVBYZERO =
+#define FE_DIVBYZERO 2
+ FE_DIVBYZERO,
+ FE_OVERFLOW =
+#define FE_OVERFLOW 4
+ FE_OVERFLOW,
+ FE_UNDERFLOW =
+#define FE_UNDERFLOW 8
+ FE_UNDERFLOW,
+ FE_INEXACT =
+#define FE_INEXACT 16
+ FE_INEXACT,
+ };
+
+/* Amount to shift by to convert an exception bit in FPSR to a an
+ exception bit mask in FPCR. */
+#define FE_EXCEPT_SHIFT 8
+
+/* All supported exceptions. */
+#define FE_ALL_EXCEPT \
+ (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
+
+/* Define bits representing rounding modes in the FPCR Rmode field. */
+#define FE_TONEAREST 0x000000
+#define FE_UPWARD 0x400000
+#define FE_DOWNWARD 0x800000
+#define FE_TOWARDZERO 0xc00000
+
+/* Type representing exception flags. */
+typedef unsigned int fexcept_t;
+
+/* Type representing floating-point environment. */
+typedef struct
+ {
+ unsigned int __fpcr;
+ unsigned int __fpsr;
+ }
+fenv_t;
+
+/* If the default argument is used we use this value. */
+#define FE_DFL_ENV ((const fenv_t *) -1l)
+
+#ifdef __USE_GNU
+/* Floating-point environment where none of the exceptions are masked. */
+# define FE_NOMASK_ENV ((const fenv_t *) -2)
+#endif
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/link.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/link.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/link.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,60 @@
+/* Copyright (C) 2005-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _LINK_H
+# error "Never include <bits/link.h> directly; use <link.h> instead."
+#endif
+
+/* Registers for entry into PLT on AArch64. */
+typedef struct La_aarch64_regs
+{
+ uint64_t lr_xreg[8];
+ uint64_t lr_dreg[8];
+ uint64_t lr_sp;
+ uint64_t lr_lr;
+} La_aarch64_regs;
+
+/* Return values for calls from PLT on AArch64. */
+typedef struct La_aarch64_retval
+{
+ /* Up to two integer registers can be used for a return value. */
+ uint64_t lrv_xreg[2];
+ /* Up to four D registers can be used for a return value. */
+ uint64_t lrv_dreg[4];
+
+} La_aarch64_retval;
+__BEGIN_DECLS
+
+extern Elf64_Addr
+la_aarch64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
+ uintptr_t *__refcook,
+ uintptr_t *__defcook,
+ La_aarch64_regs *__regs,
+ unsigned int *__flags,
+ const char *__symname,
+ long int *__framesizep);
+
+extern unsigned int
+la_aarch64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
+ uintptr_t *__refcook,
+ uintptr_t *__defcook,
+ const La_aarch64_regs *__inregs,
+ La_aarch64_retval *__outregs,
+ const char *__symname);
+
+__END_DECLS
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/linkmap.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/linkmap.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/linkmap.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,23 @@
+/* Copyright (C) 2009-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+struct link_map_machine
+{
+ ElfW(Addr) plt; /* Address of .plt */
+ void *tlsdesc_table; /* Address of TLS descriptor hash table. */
+};
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/mathdef.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/mathdef.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,39 @@
+/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#if !defined _MATH_H && !defined _COMPLEX_H
+# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#endif
+
+#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
+# define _MATH_H_MATHDEF 1
+
+/* GCC does not promote `float' values to `double'. */
+typedef float float_t; /* `float' expressions are evaluated as
+ `float'. */
+typedef double double_t; /* `double' expressions are evaluated as
+ `double'. */
+
+/* The values returned by `ilogb' for 0 and NaN respectively. */
+# define FP_ILOGB0 (-2147483647)
+# define FP_ILOGBNAN (2147483647)
+
+# define FP_FAST_FMA 1
+# define FP_FAST_FMAF 1
+
+#endif /* ISO C99 */
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bits/setjmp.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bits/setjmp.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,33 @@
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H 1
+
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
+#ifndef _ASM
+/* Jump buffer contains:
+ x19-x28, x29(fp), x30(lr), (x31)sp, d8-d15. Other registers are not
+ saved. */
+typedef unsigned long long __jmp_buf [22];
+
+#endif
+#endif
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bsd-_setjmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bsd-_setjmp.S (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bsd-_setjmp.S Fri Nov 9 22:22:50 2012
@@ -1,0 +1,1 @@
+/* _setjmp is in setjmp.S */
Added: fsf/trunk/libc/ports/sysdeps/aarch64/bsd-setjmp.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/bsd-setjmp.S (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/bsd-setjmp.S Fri Nov 9 22:22:50 2012
@@ -1,0 +1,1 @@
+/* setjmp is in setjmp.S */
Added: fsf/trunk/libc/ports/sysdeps/aarch64/crti.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/crti.S (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/crti.S Fri Nov 9 22:22:50 2012
@@ -1,0 +1,90 @@
+/* Special .init and .fini section support for AArch64.
+ Copyright (C) 1995-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ In addition to the permissions in the GNU Lesser General Public
+ License, the Free Software Foundation gives you unlimited
+ permission to link the compiled version of this file with other
+ programs, and to distribute those programs without any restriction
+ coming from the use of this file. (The GNU Lesser General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into another program.)
+
+ Note that people who make modified versions of this file are not
+ obligated to grant this special exception for their modified
+ versions; it is their choice whether to do so. The GNU Lesser
+ General Public License gives permission to release a modified
+ version without this exception; this exception also makes it
+ possible to release a modified version which carries forward this
+ exception.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* crti.S puts a function prologue at the beginning of the .init and
+ .fini sections and defines global symbols for those addresses, so
+ they can be called as functions. The symbols _init and _fini are
+ magic and cause the linker to emit DT_INIT and DT_FINI. */
+
+#include <libc-symbols.h>
+
+#ifndef PREINIT_FUNCTION
+# define PREINIT_FUNCTION __gmon_start__
+#endif
+
+#ifndef PREINIT_FUNCTION_WEAK
+# define PREINIT_FUNCTION_WEAK 1
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+ weak_extern (PREINIT_FUNCTION)
+#else
+ .hidden PREINIT_FUNCTION
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+ .align 2
+ .type call_weak_fn, %function
+call_weak_fn:
+ adrp x0, :got:PREINIT_FUNCTION
+ ldr x0, [x0, #:got_lo12:PREINIT_FUNCTION]
+ cbz x0, 1f
+ b PREINIT_FUNCTION
+1:
+ RET
+ .size call_weak_fn, .-call_weak_fn
+#endif
+
+ .section .init,"ax",%progbits
+ .align 2
+ .global _init
+ .type _init, %function
+_init:
+ stp x29, x30, [sp, -16]!
+ mov x29, sp
+#if PREINIT_FUNCTION_WEAK
+ bl call_weak_fn
+#else
+ bl PREINIT_FUNCTION
+#endif
+
+ .section .fini,"ax",%progbits
+ .align 2
+ .global _fini
+ .type _fini, %function
+_fini:
+ stp x29, x30, [sp, -16]!
+ mov x29, sp
Added: fsf/trunk/libc/ports/sysdeps/aarch64/crtn.S
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/crtn.S (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/crtn.S Fri Nov 9 22:22:50 2012
@@ -1,0 +1,46 @@
+/* Special .init and .fini section support for AArch64.
+ Copyright (C) 1995-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ In addition to the permissions in the GNU Lesser General Public
+ License, the Free Software Foundation gives you unlimited
+ permission to link the compiled version of this file with other
+ programs, and to distribute those programs without any restriction
+ coming from the use of this file. (The GNU Lesser General Public
+ License restrictions do apply in other respects; for example, they
+ cover modification of the file, and distribution when not linked
+ into another program.)
+
+ Note that people who make modified versions of this file are not
+ obligated to grant this special exception for their modified
+ versions; it is their choice whether to do so. The GNU Lesser
+ General Public License gives permission to release a modified
+ version without this exception; this exception also makes it
+ possible to release a modified version which carries forward this
+ exception.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
+ .section .init,"ax",%progbits
+ ldp x29, x30, [sp], 16
+ RET
+
+ .section .fini,"ax",%progbits
+ ldp x29, x30, [sp], 16
+ RET
Added: fsf/trunk/libc/ports/sysdeps/aarch64/dl-irel.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/dl-irel.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/dl-irel.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,36 @@
+/* Machine-dependent ELF indirect relocation inline functions.
+ AArch64 version.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _DL_IREL_H
+#define _DL_IREL_H
+
+#include <stdio.h>
+#include <unistd.h>
+
+/* AArch64 does not yet implement IFUNC support. However since
+ 2011-06-20 provision of a elf_ifunc_invoke has been mandatory. */
+
+static inline ElfW(Addr)
+__attribute ((always_inline))
+elf_ifunc_invoke (ElfW(Addr) addr)
+{
+ return ((ElfW(Addr) (*) (void)) (addr)) ();
+}
+
+#endif
Added: fsf/trunk/libc/ports/sysdeps/aarch64/dl-link.sym
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/dl-link.sym (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/dl-link.sym Fri Nov 9 22:22:50 2012
@@ -1,0 +1,15 @@
+#include <stddef.h>
+#include <sysdep.h>
+#include <link.h>
+#include <dl-tlsdesc.h>
+
+DL_SIZEOF_RG sizeof(struct La_aarch64_regs)
+DL_SIZEOF_RV sizeof(struct La_aarch64_retval)
+
+DL_OFFSET_RG_X0 offsetof(struct La_aarch64_regs, lr_xreg)
+DL_OFFSET_RG_D0 offsetof(struct La_aarch64_regs, lr_dreg)
+DL_OFFSET_RG_SP offsetof(struct La_aarch64_regs, lr_sp)
+DL_OFFSET_RG_LR offsetof(struct La_aarch64_regs, lr_lr)
+
+DL_OFFSET_RV_X0 offsetof(struct La_aarch64_retval, lrv_xreg)
+DL_OFFSET_RV_D0 offsetof(struct La_aarch64_retval, lrv_dreg)
Added: fsf/trunk/libc/ports/sysdeps/aarch64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/dl-machine.h (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/dl-machine.h Fri Nov 9 22:22:50 2012
@@ -1,0 +1,388 @@
+/* Copyright (C) 1995-2012 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef dl_machine_h
+#define dl_machine_h
+
+#define ELF_MACHINE_NAME "aarch64"
+
+#include <tls.h>
+#include <dl-tlsdesc.h>
+
+/* Return nonzero iff ELF header is compatible with the running host. */
+static inline int __attribute__ ((unused))
+elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
+{
+ return ehdr->e_machine == EM_AARCH64;
+}
+
+/* Return the link-time address of _DYNAMIC. Conveniently, this is the
+ first element of the GOT. */
+static inline ElfW(Addr) __attribute__ ((unused))
+elf_machine_dynamic (void)
+{
+ ElfW(Addr) addr = (ElfW(Addr)) &_DYNAMIC;
+ return addr;
+}
+
+/* Return the run-time load address of the shared object. */
+
+static inline ElfW(Addr) __attribute__ ((unused))
+elf_machine_load_address (void)
+{
+ /* To figure out the load address we use the definition that for any symbol:
+ dynamic_addr(symbol) = static_addr(symbol) + load_addr
+
+ The choice of symbol is arbitrary. The static address we obtain
+ by constructing a non GOT reference to the symbol, the dynamic
+ address of the symbol we compute using adrp/add to compute the
+ symbol's address relative to the PC. */
+
+ ElfW(Addr) static_addr;
+ ElfW(Addr) dynamic_addr;
+
+ asm (" \n\
+ adrp %1, _dl_start; \n\
+ add %1, %1, #:lo12:_dl_start \n\
+ ldr %w0, 1f \n\
+ b 2f \n\
+1: .word _dl_start \n\
+2: \n\
+ " : "=r" (static_addr), "=r" (dynamic_addr));
+ return dynamic_addr - static_addr;
+}
+
+/* Set up the loaded object described by L so its unrelocated PLT
[... 15768 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits