This patch removes conditionals in ARM code on __GNUC_PREREQ(4,4),
which were already obsolete even before the move from 4.4 to 4.6 as
minimum GCC version for building glibc.
Tested for ARM that installed shared libraries are unchanged by this
patch.
* sysdeps/arm/sysdep.h [PROF && __GNUC_PREREQ(4,4)] (CALL_MCOUNT):
Make definition conditional only on [PROF].
[PROF && !__GNUC_PREREQ(4,4)] (CALL_MCOUNT): Remove conditional
definition.
[__GNUC_PREREQ(4,4)] (mcount): Make definition unconditional.
[!__GNUC_PREREQ(4,4)] (mcount): Remove conditional definition.
I've moved the ARM port from ports to the main sysdeps hierarchy.
Beyond the README update, the move of the files was simply
git mv ports/sysdeps/arm sysdeps/arm
git mv ports/sysdeps/unix/arm sysdeps/unix/arm
git mv ports/sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux/arm
and in addition to the ChangeLog entries here, I put a note at the top
of ports/ChangeLog.arm similar to that at the top of
ChangeLog.powerpc. There is deliberately no NEWS change, as I think
it makes the most sense to put in a general note above all ports
having moved if we can achieve that for 2.20.
Tested that disassembly of installed shared libraries for arm is the
same before and after this patch, except for data (not instructions)
in ld.so (there are assertions in sysdeps/arm/dl-machine.h, and the
path by which that file is found, and so by which it appears in the
assertion message, changes as a result of the move).
* sysdeps/arm: Move directory from ports/sysdeps/arm.
* sysdeps/unix/arm: Move directory from ports/sysdeps/unix/arm.
* sysdeps/unix/sysv/linux/arm: Move directory from
ports/sysdeps/unix/sysv/linux/arm.
* README: Update listing for arm-*-linux-gnueabi.
ports/ChangeLog.arm:
* sysdeps/arm: Move directory to ../sysdeps/arm.
* sysdeps/unix/arm: Move directory to ../sysdeps.arm.
* sysdeps/unix/sysv/linux/arm: Move directory to
../sysdeps/unix/sysv/linux/arm.
Use it instead of __THUMB_INTERWORK__. Make RETINSTR take
only a condition and a register.
* sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
__THUMB_INTERWORK__.
(_dl_start_user): Use BX.
* sysdeps/arm/strlen.S: Use DO_RET.
* sysdeps/unix/arm/brk.S, sysdeps/unix/arm/fork.S,
sysdeps/unix/arm/sysdep.S, sysdeps/unix/arm/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S,
sysdeps/unix/sysv/linux/arm/mmap.S,
sysdeps/unix/sysv/linux/arm/mmap64.S,
sysdeps/unix/sysv/linux/arm/socket.S,
sysdeps/unix/sysv/linux/arm/sysdep.h,
sysdeps/unix/sysv/linux/arm/vfork.S: Update uses of RETINSTR.
2003-09-17 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
libpthread is loaded. Elide backwards compatibility code when not
required.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
1998-08-20 16:01 Ulrich Drepper <drepper@cygnus.com>
* elf/ldd.sh.in: Redirect warnings and error messages to stderr.
* elf/ldd.bash.in: Likewise.
* elf/sln.c: Avoid warning for no main prototype.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Remove O_READ and
O_WRITE.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add F_SETSIG and
F_GETSIG.
* sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
1998-08-20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/fpu/ieee754.h: Move to...
* sysdeps/arm/ieee754.h: ... here.
* sysdeps/arm/__longjmp.S: Put return value in correct register.
Don't set the condition flags unnecessarily.
* sysdeps/arm/fpu/__longjmp.S: Likewise. Restore floating point
registers correctly.
* sysdeps/arm/dl-machine.h: Fix problems with profiling code
(patch from Scott Bambrough).
* sysdeps/arm/sysdep.h (CALL_MCOUNT): Add missing semicolons.
* csu/initfini.c (_init): Don't check whether __gmon_start__ is
NULL, just call it unconditionally.
(__gmon_start__): Provide stub version as a weak symbol.
1998-07-30 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/init-first.h: New file (from patch
by Scott Bambrough)
* sysdeps/unix/sysv/linux/arm/errlist.c: New file; ARM tools don't
like `@' in .type directives.
* sysdeps/arm/bsd-setjmp.S: Use PLT for procedure call.
* sysdeps/arm/bsd-_setjmp.S: Likewise.
* sysdeps/arm/dl-machine.h: Set __libc_stack_end.
1998-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN): Correct value.
(F_GETOWN): Likewise.
* sysdeps/unix/sysv/linux/bits/siginfo.h (SI_SIGIO): Add it (from
Linux 2.1.117).
1998-08-20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/glob.c [_LIBC]: Define __stat only if not
already defined.
1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no
more entries.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-initgroups.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/rpcsvc/yp.h: Generate new without 1024 byte limits.
* nis/ypclnt.c: Try binding dir only first time, could be to old.
* nis/yp_xdr.c: Remove 1024 byte limit.
* nis/ypupdate_xdr.c: Likewise.
* nis/nss_nis/nis-publickey.c: Make sure, nobody could send
wrong data.
1998-07-27 17:42 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_files/files-parse.c (INT_FIELD): Use strtoul instead of
strtol.
(INT_FIELD_MAYBE_NULL): Likewise.
* posix/globtest.c: Rewrite for extended test suite.
* posix/globtest.sh: More tests.
Patch by Brian Wellington <bwelling@anomaly.munge.com>.
* stdlib/strtol.c: Don't redefine LONG_MAX, LONG_MIN, and ULONG_MAX.
Use new macro.
* sysdeps/generic/readv.c: Correct return type.
* sysdeps/generic/writev.c: Likewise.
1998-07-24 Gordon Matzigkeit <gord@fig.org>
* argp/argp-help.c (_GNU_SOURCE): Define, to suck in
program_invocation_name when compiling outside of glibc.
1998-07-26 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/siglist.c: New file; ARM tools don't
like `@' in .type directives.
* sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Check whether
FE_TONEAREST exists for this platform before using it.
* sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Likewise.
* sysdeps/arm/dl-machine.h (elf_machine_rel): Delete redundant
debugging code. Correct handling of PC24 relocs.
* elf/Makefile (ld-map): Only define if versioning is in use.
* sysdeps/arm/fpu_control.h: Move to ...
* sysdeps/arm/fpu/fpu_control.h: ... here.
* sysdeps/generic/fpu_control.h: Made usable as a dummy
implementation.
* sysdeps/unix/sysv/linux/arm/brk.c: New file.
* sysdeps/arm/machine-gmon.h: Improved profiling for ARM.
* sysdeps/arm/sysdep.h (CALL_MCOUNT): Replace stub with real
implementation.
* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
Based on patch from Scott Bambrough and Pat Beirne.
* shlib-versions: Add appropriate definitions for ARM machines.
* README.template: Mention that Linux/ARM with ELF works now.
1998-07-18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Generate compilation rules for all object suffixes,
not only those currently selected, for sources in the current or
object directory.
1998-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/fnmatch.c (fnmatch): Allow `/' in character class. Don't
match `/' in filename by a character class if requested.
* posix/testfnm.c: Rewritten.
* posix/testfnm.args: Removed.
1998-07-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/annexc.c (limits_syms): Add missing symbols.
(stdarg_syms): Move va_list to `maybe' list.
(stdio_syms): Add FOPEN_MAX.
1998-05-19 15:58 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (process_envvars): Fix typo. Don't handle
LD_PROFILE_OUTPUT in SUID binaries.
* intl/dcgettext.c: In SUID binaries don't let language part of
locale value contain path elements.
* intl/explodename.h: Define new function _nl_find_language.
* intl/loadinfo.h: Declare _nl_find_language.
* locale/findlocale.c (_nl_find_locale): Use _nl_find_locale to get
language part it drop the value is path element is contained.
* locale/setlocale.c: Fix typo.
1998-05-18 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/arm/socket.S: Correct handling of arguments.
* sysdeps/arm/strlen.S: Support both big and little endian processors.
* sysdeps/arm/sysdep.h (ALIGNARG): ELF .align directive uses a
log, not a byte-count.
* sysdeps/unix/arm/sysdep.S (syscall_error): Use C_SYMBOL_NAME for
a.out compatibility.
1998-05-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/bsd/vax/vfork.S: Fix the "the the" problems.
* sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise.
* sysdeps/unix/bsd/hp/m68k/vfork.S: Likewise.
* posix/unistd.h: Likewise.
* math/math.h: Likewise.
* manual/users.texi (Manipulating the Database): Likewise.
* manual/signal.texi (Job Control Signals): Likewise.
* manual/message.texi (The gencat program): Likewise.
* manual/filesys.texi (Hard Links): Likewise.
* manual/math.texi (SVID Random): Likewise.
* manual/llio.texi (Waiting for I/O): Likewise.
* manual/io.texi (File Name Errors): Likewise.
* manual/conf.texi (String Parameters): Likewise.
* manual/arith.texi (Infinity): Likewise.
* malloc/malloc.c: Likewise.
* hurd/hurdsig.c (_hurd_internal_post_signal): Likewise.
* csu/Makefile: Likewise.
1998-03-18 14:25 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Add optimization for strdup.
Always define __strsep and __strtok_r and make real names available
when feature select macros are defined.
1998-03-18 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/install.texi (Installation): Use i486-linux as example
instead of the unsupported sunos4.
(Reporting Bugs): Mention glibcbug script.
(Tools for Installation): gcc 2.8.1/egcs 1.0.2 is required.
1998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/wordexp-tst.sh: Make portable. Add more tests.
* posix/Makefile (do-globtest do-wordexp-test): New targets.
1998-03-18 13:38 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/libc-start.c: Moved to ...
* sysdeps/generic/libc-start.c: ...here, replacing former content.
* sysdeps/unix/sysv/linux/Dist: Add netash/ash.h and
netpacket/packet.h.
* sysdeps/unix/sysv/linux/bits/socket.h: Pretty print.
1998-03-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/bits/resource.h: Remove trailing comma
in enumerator for strict standard compliance.
* sysdeps/generic/bits/resource.h: Likewise.
1998-03-18 10:04 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/sysdep.h (__ARM_USES_FP): Deleted.
(PLTJMP): New macro.
* sysdeps/arm/fpu/__longjmp.S: New file, implementation of
longjmp() when floating point enabled.
* sysdeps/arm/fpu/setjmp.S: Likewise for setjmp().
* sysdeps/arm/__longjmp.S: Remove floating point code.
* sysdeps/arm/setjmp.S: Likewise.
* sysdeps/arm/bsd-setjmp.S: Call __sigsetjmp by correct name.
* sysdeps/arm/bsd-_setjmp.S: Likewise.
* sysdeps/arm/memset.S: New file; optimised ARM implementation of
memset().
* sysdeps/generic/setsockopt.c (setsockopt): Keep in step with
prototype.
1998-03-17 16:16 Philip Blundell <pb@nexus.co.uk>
Based on patches from Pat Beirne and Scott Bambrough:
* sysdeps/arm/__longjmp.S: Use ip, not r2, as temporary.
* sysdeps/arm/bits/fenv.h: New file.
* sysdeps/arm/dl-machine.h: New file. Add ELF support.
* sysdeps/arm/elf/setjmp.S: Likewise.
* sysdeps/arm/elf/start.S: Likewise.
* sysdeps/arm/init-first.c: Likewise.
* sysdeps/arm/setjmp.S: Call __sigjmp_save through PLT
* sysdeps/arm/sysdep.h: Change format of .type directive. Correct
comment about floating point to reflect current reality.
* sysdeps/unix/arm/brk.S: Support PIC.
* sysdeps/unix/arm/sysdep.S (syscall_error): Support PIC and
re-entrant code.
* sysdeps/unix/sysv/linux/arm/socket.S: Check correctly for error
return; call syscall_error through PLT.
* sysdeps/unix/sysv/linux/arm/sysdep.h (ENTRY): Correct error jump.
1998-03-04 12:01 Philip Blundell <pb@nexus.co.uk>
* sysdeps/unix/sysv/linux/netpacket/packet.h: New file.
* sysdeps/unix/sysv/linux/netash/ash.h: Likewise.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Install them.
1997-04-15 03:14 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcsstr.c: Add weak alias wcswcs for Unix98 compliance.
* math/Makefile (libm-calls): Add s_sincos and s_cproj.
* math/mathcalls.h: Add prototype for sincos.
* sysdeps/i386/fpu/__math.h: Warn about restriction on arguments to
inlined sin and cos function.
Define functions new in ISO C 9X when __USE_ISOC9X is defined.
Add optimized version of finite.
Rewrite sincos function to handle too large arguments.
* sysdeps/libm-i387/s_cos.S: Better code alignment.
* sysdeps/libm-i387/s_cosl.S: Likewise.
* sysdeps/libm-i387/s_sin.S: Likewise.
* sysdeps/libm-i387/s_sinl.S: Likewise.
* sysdeps/libm-i387/s_finite.S: Yet better code.
* sysdeps/libm-i387/s_finitef.S: Likewise.
* sysdeps/libm-i387/s_sincos.S: New file.
* sysdeps/libm-i387/s_sincosf.S: New file.
* sysdeps/libm-i387/s_sincosl.S: New file.
* sysdeps/libm-ieee754/s_sincos.c: New file.
* sysdeps/libm-ieee754/s_sincosf.c: New file.
* sysdeps/libm-ieee754/s_sincosl.c: New file.
* sysdeps/libm-ieee754/s_ccosh.c: Change to use sincos function.
* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
* sysdeps/libm-ieee754/s_cexp.c: Likewise.
* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
* sysdeps/libm-ieee754/s_csinh.c: Likewise.
* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
* sysdeps/libm-ieee754/s_csinhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_cosl.c: Correct check for range.
* sysdeps/libm-ieee754/s_sinl.c: Likewise.
* sysdeps/libm-ieee754/s_roundtol.c: Fix typos.
* sysdeps/libm-ieee754/s_roundtoll.c: Likewise.
* nis/Makefile (services): Mention nisplus before compat.
* nis/nis_call.c (__do_niscall): Change type of variable server_len
to prevent warning.
* nis/nss_compat/compat-grp.c (getgrent_next_file_plusgroup): Add
cast to prevent warning.
* nis/nss_compat/compat-pwd.c (getpwent_next_file_plususer): Likewise.
* nis/nss_compat/compat-spwd.c (getspent_next_file_plususer): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent): Change
type of variable `i' to prevent warning.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
* sysdeps/generic/Dist: Remove old math implementation files.
* sysdeps/generic/mathimpl.h: Removed.
* sysdeps/generic/trig.h: Removed.
* sysdeps/generic/sincos.c: Removed.
* sysdeps/generic/asincos.c: Removed.
* sysdeps/generic/exp__E.c: Removed.
* sysdeps/generic/log__L.c: Removed.
1997-04-13 17:18 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* malloc/malloc.c (fREe): Small optimization. Before returning,
add fast check whether the heap containing top can go away.
1997-04-11 16:46 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* malloc/malloc.c (mALLOc, rEALLOc, cALLOc, mEMALIGn): When
failing to allocate a new chunk, also try the main_arena. It may
be that we are only running out of mmapped regions, and other
arenas cannot be enlarged sufficiently.
(new_heap, malloc_extend_top): Handle top_pad more consistently,
i.e. only in new_heap().
1997-04-13 21:10 Philip Blundell <pjb27@cl.cam.ac.uk>
* sysdeps/posix/Makefile: Don't try to build and run mk-stdiolim
if cross-compiling.
* configure.in: Recognise "...linuxaout" OS names and turn off ELF.
* configure.in: Add ARM support.
* sysdeps/arm/Implies: New file.
* sysdeps/arm/__longjmp.S: New file.
* sysdeps/arm/bsd-_setjmp: New file.
* sysdeps/arm/bsd-setjmp: New file.
* sysdeps/arm/bytesex.h: New file.
* sysdeps/arm/fpu_control.h: New file.
* sysdeps/arm/jmp_buf.h: New file.
* sysdeps/arm/setjmp.h: New file.
* sysdeps/arm/sysdep.h: New file.
* sysdeps/unix/arm/config.h: New file.
1997-04-14 04:03 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cproj.c: New file.
* sysdeps/libm-ieee754/s_cprojf.c: New file.
* sysdeps/libm-ieee754/s_cprojl.c: New file.