Commit Graph

3893 Commits

Author SHA1 Message Date
Joseph Myers
cb182378d7 Fix m68k fchownat for empty file names.
[BZ #10609]
	* sysdeps/unix/sysv/linux/m68k/fchownat.c (fchownat): Fix handling
	of empty parameters for file names.
2009-10-30 20:52:15 +00:00
Joseph Myers
a896552ef1 Define F_OWNER_* and f_owner_ex for MIPS.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define F_OWNER_* and
	f_owner_ex.
2009-10-29 16:51:55 +00:00
Joseph Myers
0366e55931 Define F_OWNER_* and f_owner_ex for ARM.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define F_OWNER_* and
	f_owner_ex.
2009-10-29 16:51:04 +00:00
Daniel Gutson
274895575e Add ARM EABI build attributes.
Ensure that all objects in ARM EABI glibc have the proper EABI build
attributes to indicate that 8-byte stack alignment is required and
preserved.  (GNU ld does not currently give errors for mixing code
requiring 8-byte alignment - such as anything built with GCC - and
code not marked as preserving it, because of the prevalence of
assembly code without proper markers to indicate that alignment is
preserved.  The ARM RealView linker does give such errors.)

The bulk of the markers are accomplished by the change to sysdep.h,
but a few .S files do not include sysdep.h.  In the case of
internal_accept4.S, no code is generated because EABI does not have
socketcall, but for completeness a dummy file with the right
attributes is used to override the default version in libc.

	* sysdeps/arm/sysdep.h: (Tag_ABI_align8_preserved,
	Tag_ABI_align8_needed): Attributes added.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/arm/eabi/abi-note.S: New file.
	* sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S: New
	file.
2009-10-22 19:39:47 +00:00
Andrew Stubbs
fbc4c20a80 Fix register conflicts and avoid deprecated instructions in ARM EABI setjmp/longjmp.
* setjmp and longjmp were using the obsolete fstmiax and fldmiax
  instructions.

* Because of a confusion with two different sets of names for the same
  registers (r0...r3 and a1...a4), if VFP was present then the
  subsequent check for iWMMXt support would use a register that had
  been clobbered by saving/restoring the VFP registers.  (The bit
  being checked was clobbered by a reserved bit of FPSCR that it
  always 0 on present hardware, and no present hardware has both VFP
  and iWMMXt, so this did not cause visible problems.)

2009-10-22  Andrew Stubbs  <ams@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>

	* sysdeps/arm/eabi/setjmp.S (__sigsetjmp): Replace deprecated
	instruction fstmiax with vstmia.
	Correct register conflict and comment.
	* sysdeps/arm/eabi/__longjmp.S (__longjmp): Use vldmia not fldmiax.
	Don't clobber r1/a2 register before testing IWMMXT hwcap.
2009-10-22 19:35:53 +00:00
Julian Brown
b5c2620bee Fix locating GOT for Thumb-2 PIE binaries.
* sysdeps/arm/elf/start.S (_start): Avoid dependency on PC pipeline
	offset.
2009-10-22 19:22:35 +00:00
Joseph Myers
afd09ae82a Define F_SETOWN_EX and F_GETOWN_EX for MIPS.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define F_SETOWN_EX
	and F_GETOWN_EX.
2009-10-03 17:39:53 +00:00
Joseph Myers
4ba089f88e Define F_SETOWN_EX and F_GETOWN_EX for ARM.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define F_SETOWN_EX and
	F_GETOWN_EX.
2009-10-03 17:39:05 +00:00
Daniel Jacobowitz
f1297d79b2 Prevent GCC reusing "hi" and "lo" across system calls.
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(__SYSCALL_CLOBBERS): Add "hi" and "lo".
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
2009-09-25 18:19:03 -04:00
Carlos O'Donell
be0f2008ac Implement new NPTL POSIX Threads ABI for HPPA.
This version of the NPTL POSIX thread ABI for hppa does
not break backwards compatibility with the the old
Linuxthreads ABI, and is therefore suitable for release
by distributions.

	sysdeps/unix/sysv/linux/hppa/
	* internaltypes.h: New file.

	sysdeps/unix/sysv/linux/hppa/nptl/
	* pthreadP.h: New file.
	* pthread.h: New file.
	* pthread_cond_broadcast.c: New file.
	* pthread_cond_destroy.c: New file.
	* pthread_cond_init.c: New file.
	* pthread_cond_signal.c: New file.
	* pthread_cond_timedwait.c: New file.
	* pthread_cond_wait.c: New file.
	* bits/pthreadtypes.h: Make pthread_mutex_t,
	pthread_rwlock_t, and pthread_cond_t backwards
	compatible.
2009-09-08 14:32:53 -04:00
Andreas Schwab
f0e6944906 Add ____longjmp_chk for m68k-linux 2009-09-06 21:24:50 +02:00
Joseph Myers
53df8bcec0 Add alternate signal stack support to ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S,
	sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S: This.  New
	files.
	* sysdeps/arm/__longjmp.S, sysdeps/arm/eabi/__longjmp.S: Use r4
	for saved sp.
2009-08-06 16:53:09 +00:00
Joseph Myers
c67273d5b2 Signal stack support for MIPS ____longjmp_chk.
* sysdeps/mips/____longjmp_chk.c: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/mips/____longjmp_chk.c: This.  New file.
	* sysdeps/mips/__longjmp.c (__longjmp): Use explicit register
	variable for env.  Use expansion of CHECK_SP macro for check.
	* sysdeps/mips/mips64/__longjmp.c (__Longjmp): Likewise.
2009-08-05 21:02:50 +00:00
Joseph Myers
9d84a81fe9 Make accept4 for MIPS o32 avoid socketcall.
sysdeps/unix/sysv/linux/internal_accept4.S expects socket.S to be
present if __NR_socketcall is defined (which it is on MIPS o32, even
though there are separate syscalls as well) and __NR_accept4 isn't.
MIPS does not have socket.S, since it uses separate syscalls, but
though the accept4 syscall should be added soon present kernel headers
do not have it.  This patch creates a dummy internal_accept4.S for
MIPS o32, and an accept4.c wrapper that undefines __NR_socketcall so
that the main accept4.c falls back to the ENOSYS implementation if
__NR_accept4 isn't defined; it doesn't seem worthwhile to have a
special socketcall-based assembly implementation just for o32 on a few
kernels in the range between accept4 being available via socketcall
and the accept4 syscall being available.
2009-08-03 16:48:38 +00:00
Aurelien Jarno
197aec2596 Define __ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4 for MIPS.
* sysdeps/unix/sysv/linux/mips/kernel-features.h: Define
	__ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4.
2009-07-29 15:27:35 +00:00
Aurelien Jarno
0a6ab2a600 Define __ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4 for ARM.
* sysdeps/unix/sysv/linux/arm/kernel-features.h: Define
	__ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4.
2009-07-29 15:26:39 +00:00
Aurelien Jarno
6b4e363a79 asm/elf.h don't exist anymore since linux kernel 2.6.25
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h (ELF_NGREG,
	ELF_NFPREG, elf_greg_t, elf_gregset_t, elf_fpreg_t,
	elf_fpregset_t): Define. Don't include asm/elf.h.
2009-07-19 16:01:07 +02:00
Aurelien Jarno
97d1e7c8e1 Update include paths following the move of alpha to ports
* sysdeps/unix/sysv/linux/alpha/getdents64.c: Adjust include path.
	* sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sysconf.c: Likewise.
2009-07-19 16:00:06 +02:00
Aurelien Jarno
8cb716ea2c * sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h: Define
FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and
	FUTEX_BITSET_MATCH_ANY.
2009-07-19 15:59:58 +02:00
Aurelien Jarno
c1592c256a Adapt alpha version of getsysstats.c to the changes in the main Linux version
* sysdeps/unix/sysv/linux/alpha/getsysstats.c (GET_NPROCS_PARSER):
        Change parameters and use next_line.
2009-07-19 15:59:49 +02:00
Joseph Myers
cda50f828e Update MIPS dl-lookup.c for changes to generic version.
* sysdeps/mips/do-lookup.h: Remove.
	* sysdeps/mips/dl-lookup.c: Update from generic version, with
	non-PIC handling integrated.
2009-07-17 20:39:04 +00:00
Paul Brook
f40617927c Avoid invalid unwind directives when building crti.o and crtn.o for ARM EABI.
* sysdeps/arm/eabi/Makefile (CFLAGS-initfini.s): Add
	-fno-asynchronous-unwind-tables -fno-unwind-tables.
	(CFLAGS-pt-initfini.s): Ditto.
2009-06-30 20:10:14 +00:00
Nathan Froyd
5a6ba634c6 Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.
* sysdeps/arm/eabi/aeabi_lcsts.c (__aeabi_stdin, __aeabi_stdout,
	__aeabi_stderr): New variables.
	(setup_aeabi_stdio): New function.  Add it to .preinit_array.
2009-06-25 13:27:59 +00:00
Maxim Kuvyrkov
b6dec1881f ARM EABI backtrace using unwind information.
2009-06-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>
            Kazu Hirata  <kazu@codesourcery.com>

	* sysdeps/arm/eabi/backtrace.c: New.
	* sysdeps/arm/eabi/Makefile (CFLAGS-backtrace.c): Add
	-funwind-tables.
	* sysdeps/arm/preconfigure: Add -fno-unwind-tables to CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure.in: Remove
	-fno-unwind-tables from CFLAGS.
	* sysdeps/unix/sysv/linux/arm/eabi/configure: Regenerate.
	* sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h (_Unwind_Trace_Fn):
	Define.
	(_Unwind_Backtrace): Declare.
2009-06-24 15:55:04 +00:00
Joseph Myers
8200e168ef Define PF_IEEE802154 and AF_IEEE802154 for MIPS.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define PF_IEEE802154
	and AF_IEEE802154.
2009-06-18 22:04:19 +00:00
Joseph Myers
bf89c0e245 Use unsigned comparison in ARM ____longjmp_chk.
* sysdeps/arm/____longjmp_chk.S (CHECK_SP): Use unsigned
	comparison.
2009-05-18 19:48:54 +00:00
Joseph Myers
6a9f82ac93 ____longjmp_chk for MIPS.
* sysdeps/mips/____longjmp_chk.c: New file.
	* sysdeps/mips/__longjmp.c: If CHECK_SP is defined, use it.  Don't
	undefine __longjmp.
	* sysdeps/mips64/__longjmp.c: Likewise.
2009-05-16 22:24:56 +00:00
Joseph Myers
ef889ffe8d ____longjmp_chk for ARM.
* sysdeps/arm/____longjmp_chk.S: New file.
	* sysdeps/arm/__longjmp.S: If CHECK_SP is defined, use it.
	* sysdeps/arm/eabi/__longjmp.S: Likewise.
2009-05-16 22:20:23 +00:00
Joseph Myers
d9056ac655 fallocate fixes for MIPS n32 and n64.
* sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate.c,
	sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c: New.
2009-05-16 17:42:10 +00:00
Joseph Myers
9f8832d47f Assume preadv and pwritev syscalls on ARM for 2.6.30.
* sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PREADV,
	__ASSUME_PWRITEV): Don't undefine.
2009-05-16 15:19:32 +00:00
Joseph Myers
3066cb224d * sysdeps/unix/sysv/linux/m68k/Versions (libc): Add
fallocate64@@GLIBC_2.11.
2009-05-16 15:14:44 +00:00
Joseph Myers
c504ff3be9 Add fallocate64 export for MIPS.
* sysdeps/unix/sysv/linux/mips/Versions (libc): Add
	fallocate64@@GLIBC_2.11.
2009-05-16 14:30:47 +00:00
Joseph Myers
db99b35dde Add fallocate64 export for ARM.
* sysdeps/unix/sysv/linux/arm/Versions (libc): Add
	fallocate64@@GLIBC_2.11.
2009-05-16 14:29:06 +00:00
Andreas Schwab
9c052b7cc1 Remove .cvsignore files 2009-05-16 10:36:20 +02:00
Joseph Myers
19afa98284 Fix MIPS n64 build failure with preadv64/pwritev64 aliases.
* sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c: New files.
2009-05-14 22:24:35 +00:00
Andreas Schwab
2b2b217196 * sysdeps/unix/sysv/linux/m68k/kernel-features.h: Revert last
change, the syscalls have been added to 2.6.30-rc4.
2009-04-25 19:30:25 +00:00
Joseph Myers
ba35741e51 2009-04-25 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/arm/eabi/fpu_control.h: If soft-float, don't use
	floating-point registers.
2009-04-25 15:23:44 +00:00
Carlos O'Donell
84c54b39d2 2009-04-24 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/hppa/hppa1.1/s_signbit.c: New file.
2009-04-24 20:37:17 +00:00
Carlos O'Donell
ec4cafcbcd 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/hppa/dl-machine.h: Remove VALID_ELF_OSABI,
	VALID_ELF_ABIVERSION, and VALID_ELF_HEADER.
2009-04-24 02:53:23 +00:00
Carlos O'Donell
783398d8c2 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Do not include
	sysdep.h. Document the reason for other includes.
2009-04-24 02:50:30 +00:00
Carlos O'Donell
fa34de4116 2009-04-23 Carlos O'Donell <carlos@codesourcery.com>
* sysdeps/unix/sysv/linux/hppa/sysdep.h [!__ASSEMBLER__]:
	Include errno.h.
2009-04-24 02:48:15 +00:00
Joseph Myers
ff3475331e 2009-04-18 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/makecontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/setcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (mcontext_t):
	Update comment.
	* sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h: New file.
	* sysdeps/unix/sysv/linux/mips/ucontext_i.sym: New file.
	* sysdeps/unix/sysv/linux/mips/Makefile (gen-as-const-headers):
	Add ucontext_i.sym.
2009-04-18 17:32:04 +00:00
Joseph Myers
19d6bdd79a * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_PREADV,
__ASSUME_PWRITEV): Undefine.
2009-04-18 16:26:00 +00:00
Joseph Myers
80c0ce1cac * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PREADV,
__ASSUME_PWRITEV): Undefine.
2009-04-18 14:08:41 +00:00
Joseph Myers
57d0274fe9 * sysdeps/unix/sysv/linux/mips/kernel-features.h (__ASSUME_PREADV,
__ASSUME_PWRITEV): Don't define here.
2009-04-18 14:08:18 +00:00
Joseph Myers
6db53cd548 2009-04-15 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/mips/sys/fpregdef.h: Update for new ABIs.
2009-04-15 20:22:41 +00:00
Joseph Myers
70fdbfd956 * sysdeps/unix/sysv/linux/mips/bits/socket.h: Add missing protocol
numbers.
	* sysdeps/unix/sysv/linux/mips/sys/eventfd.h (EFD_SEMAPHORE):
	Define.
	* sysdeps/unix/sysv/linux/mips/kernel-features.h: Add entries for
	preadv and pwritev.
2009-04-09 22:14:47 +00:00
Joseph Myers
d69fd0cbd2 2009-03-18 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/readelflib.c (process_elf_file):
	Use the Elf32_Ehdr type to check for EF_MIPS_ABI2 in the flags.
2009-03-18 14:38:51 +00:00
Joseph Myers
0262d0c47c 2009-03-18 Zhang Le <r0bertz@gentoo.org>
[BZ #7074]
	* sysdeps/unix/sysv/linux/mips/readelflib.c (process_elf_file):
	Fix the condition used to annotate n32 objects.
2009-03-18 14:31:30 +00:00
Joseph Myers
edb1d6ef2f * sysdeps/unix/sysv/linux/m68k/getsysstats.c (GET_NPROCS_PARSER):
Change parameters and use next_line.
2009-03-17 17:41:36 +00:00