Commit Graph

4359 Commits

Author SHA1 Message Date
Chris Metcalf d45ba2bc26 linux-generic: use "__aligned__", not "aligned", in public headers 2012-05-14 16:01:44 -04:00
Chris Metcalf b55e1c1e81 tile: add abilist files 2012-05-14 15:46:14 -04:00
Chris Metcalf bcfe09d241 tile: align stack for tilegx32
Previously we weren't re-aligning the stack pointer during the
call to _dl_init(), so for tilegx32 and an odd value in _dl_skip_args
and kernel unaligned access fixups disabled, we would die with SIGBUS.
We now handle this case properly by aligning before calling _dl_init().
2012-05-14 15:46:13 -04:00
Chris Metcalf 8927be2b21 tile: add include <features.h> to <sys/dataplane.h>
We were using __BEGIN_DECLS without <features.h> and it just happened
to mostly work, but of course we should include it here.
2012-05-14 15:46:13 -04:00
Chris Metcalf 024bb7b4a2 tile: fix bug in CFI definitions for clone.S
We were missing a critical cfi_def_cfa_offset call in .Lthread_start
which caused backtracing to get badly confused for threads.
2012-05-14 15:46:13 -04:00
Chris Metcalf 8daa704ea4 tile: fix broken TLS_GD macros
These still corresponded to an older version of the TLS code in
the compiler.  Now they match the code in gcc 4.7.
2012-05-14 15:46:12 -04:00
Chris Metcalf 64d76ca064 tilegx: small performance fix for string routines
We were multiplying a byte by 0x0101010101010101ULL to create a
constant for SIMD ops, but the compiler isn't good at optimizing
this case (the fact that one operand is a byte is lost by the time
it would be possible to do the optimization).  So instead we add
a helper routine that explicitly uses SIMD ops to create the constant.
2012-05-14 15:46:12 -04:00
Chris Metcalf 575298fcd2 tile: allow memcpy(p, p, n) without corrupting memory at "p"
Although this is not required by the definition of memcpy(),
in practice this sort of thing does happen, and it's easy to make
the code robust by doing nothing in this case.  (Since structure
copy causes the compiler to emit a memcpy, in the case where the
target structure is the same as the destination, we were seeing
corruption.)
2012-05-14 15:46:12 -04:00
Chris Metcalf cbf92fc466 tile: avoid using _LP64
The convention is to use __WORDSIZE everywhere.  I happened to
notice that we weren't doing this in __tls_get_addr.S.
2012-05-14 15:46:11 -04:00
Chris Metcalf 9b7108251c tile: support stackguard-macros.h header 2012-05-14 15:46:11 -04:00
Chris Metcalf 3c19868059 linux-generic: add wordsize-32 version of prlimit64/fanotify syscalls 2012-05-14 15:46:11 -04:00
Chris Metcalf 2a99f85fe3 tile: remove stale #define of ELF_MACHINE_PLTREL_OVERLAP 2012-05-14 15:46:11 -04:00
Chris Metcalf 87df4a4b09 tile: update pthread_attr_t and struct siginfo names
This adds a tag to the pthread_attr_t underlying type so we can
forward-declare it, and removes the siginfo_t type, to match
changes in the main tree.
2012-05-14 15:46:08 -04:00
Chris Metcalf 538c451b2b tile: Remove elf/ and create crti.S/crtn.S
This patches fixes up the tile startup files, moving elf/start.S up a
directory level and implementing the required crti.S and crtn.S files
based on the old initfini.c compiler output (hand-optimized to bum a
couple of cycles).
2012-05-14 15:34:04 -04:00
Chris Metcalf ec0001e175 Add _SNSECONDS_T_TYPE for linux-generic 2012-05-11 19:55:20 -04:00
Andreas Schwab 8173ecfb05 m68k: update libm test ULPs 2012-05-10 17:41:32 +02:00
Andreas Schwab 6c1fa9ca3d Update Changelog.m68k 2012-05-10 17:41:01 +02:00
Carlos O'Donell d3b36017d4 ARM: Use /lib/ld-linux-armhf.so.3 for the hard-float ABI.
The hard-float ABI will now use /lib/ld-linux-armhf.so.3.
We detect the use of the hard-float ABI and select the
appropriate dynamic linker name. You must have a new or
patched compiler which also uses the new dynamic loader
name when the hard-float ABI is selected.
2012-05-08 13:48:24 -04:00
Joseph Myers 567ce24cd1 Rearrange MIPS libm-test-ulps files. 2012-05-08 14:45:14 +00:00
Mike Frysinger f5cf58f794 ia64: include errno.h in sysdep.h
This header uses __set_errno(), so make sure we include errno.h for it.
Otherwise, if INLINE_SYSCALL() is used and errno.h isn't included, we
hit warnings like so:
In file included from libc-start.c:36:0:
../sysdeps/unix/sysv/linux/dl-osinfo.h: In function '_dl_setup_stack_chk_guard':
../sysdeps/unix/sysv/linux/dl-osinfo.h:79:7: warning: implicit declaration of function '__set_errno'

Which culminate in errors like so:
libc-start.c:(.text+0x692): undefined reference to '__set_errno'
libc-start.c:(.text+0x752): undefined reference to '__set_errno'
collect2: ld returned 1 exit status

Reported-by: Dennis Schridde <devurandom@gmx.net>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-07 23:22:59 -04:00
Mike Frysinger d2d3d79732 ia64: add matherr[fl] to libm.so plt whitelist
The ia64 math code has extra matherr functions (f and l variants),
so add them to the libm.so plt whitelist like the existing matherr
in the main code.

The check-localplt test now passes.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-06 18:27:33 -04:00
Mike Frysinger e44af88e6a ia64: update abilist
For the most part, these are adding symbols from newer glibc releases that
should have been added to ia64 in the first place, but no one noticed.

There were also adding symbols from older versions, but that appears to be
an oversight in the old abilist files where the ia64 tuple wasn't added to
the symbol block.

A few symbols did get deleted, but that looks normal as no other arch has
them, and comparing to an old glibc-2.7 build, things have been this way
for quite a while.

After this, `make check-abi` now passes for ia6.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-06 14:13:37 -04:00
Mike Frysinger 064b706950 ia64: restore abilist files
These are the abilists as ia64 had them before being removed from the
main tree.  Most libs pass, but a bunch need updating.  That'll be done
in a follow up commit.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-06 04:49:52 -04:00
Joseph Myers 360f4e6880 Restore MIPS n64 posix_fadvise64 export at GLIBC_2.3.3 (bug 14044). 2012-05-01 08:48:54 -07:00
Joseph Myers d353499456 Restore ARM profil_counter export (bug 14043). 2012-05-01 07:22:52 -07:00
Andreas Schwab cae2bdf1f3 m68k: add abilist files 2012-04-28 15:10:21 +02:00
Joseph Myers 8689e8776e Add abilist data for MIPS. 2012-04-28 04:29:32 -07:00
Joseph Myers 896216ffd1 Avoid endian.h include in MIPS64 string functions. 2012-04-28 03:41:29 -07:00
Joseph Myers 7a886e6fb1 Add abilist data for ARM. 2012-04-28 03:04:28 -07:00
Mike Frysinger f0984e264e ia64: math: rename s_ilogbl.S to e_ilogbl.S
The main tree renamed these files as well as the symbols.
Update ia64 accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:13:25 -04:00
Mike Frysinger 4625d0ae8d ia64: define __ASSUME_ACCEPT4
The latest kernels finally added accept4() to the ia64 kernel.
Define __ASSUME_ACCEPT4 accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:13:25 -04:00
Mike Frysinger 4723e427b5 ia64: add new GET_ADDR_PARAM define
The main tree updated the dl-tls code to use a new GET_ADDR_PARAM macro.
We need to define that to fix a build error due to it missing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:13:25 -04:00
Mike Frysinger 756b23ec1b ia64: split 16bit funcs out of byteswap.h and into byteswap-16.h
The main tree split the 16bit byteswap funcs out into a dedicated header.
Do the same for ia64.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:13:19 -04:00
Mike Frysinger 91e5f2e441 ia64: ucontext.h: drop __cplusplus
Building a lot of glibc files trigger warnings like so:
.../ucontext.h:52:25: warning: variably modified '_pad' at file scope

The ia64 header protects the use of __builtin_offsetof by a C++
compiler, but this builtin works just fine with C compilers, so
allow it to be used there too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:10:28 -04:00
Mike Frysinger e43013840b ia64: pthread_attr_t type mangling
This applies the same updates that already exist in the main tree for
making the pthread_attr_t union more standards compliant.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:10:09 -04:00
Mike Frysinger 7e4fc5890e ia64: add MAP_{STACK,HUGETLB} to bits/mman.h
Just adding new bit flags that newer kernels define.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:09:53 -04:00
Mike Frysinger 413a8f40ec ia64: math: add __scalbn* aliases
All other ports have __scalbn* aliases pointing back to scalbn*, but
the ia64 code had omitted them.  This didn't really matter as none
of the common code called them, but after a recent update, that's no
longer true.  Add the aliases needed by some common code to fix link
errors with libm due to them missing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:09:38 -04:00
Mike Frysinger 16aca1f771 ia64: drop __STDC__ handlings
The main tree dropped support for !__STDC__ code, so drop it from the
few places in the ia64 code too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:09:13 -04:00
Mike Frysinger 421ff1c38d ia64: math: stub out new e_rem_pio2l func
The ia64 math code stubs out the existing [er]_rem_*.c files, but the
main tree has added a new one since its removal.  Stub out that new
file too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:08:38 -04:00
Mike Frysinger 293432b4af ia64: convert __const to const
The main tree decided to drop support for pre-ISO C code, so we
can use "const" instead of "__const".

Processed with a simple sed script:

find `find sysdeps/ -name ia64` -type f -exec sed -i \
	's:\<__const\>:const:' {} +

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:08:17 -04:00
Mike Frysinger 60318997b8 ia64: convert "math{,_private}.h" to <math{,_private}.h>
The main tree decided to change all these includes to <...>, so update
the ia64 code accordingly.

Processed with a simple sed script:

find `find sysdeps/ -name ia64` -type f -exec sed -i \
	-r '/include/s:"(math.h|math_private.h)":<\1>:' {} +

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:07:56 -04:00
Mike Frysinger 6eeb0e8f7f ia64: convert <stdio-common/_itoa.h> to <_itoa.h>
The main tree relocated the _itoa.h header, so update our include
paths to match.

Processed with a simple sed script:

find `find sysdeps/ -name ia64` -type f -exec sed -i \
	'/<stdio-common._itoa.h>/s:<stdio-common/_itoa.h>:<_itoa.h>:' {} +

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:07:38 -04:00
Mike Frysinger d928ab870e ia64: initfini.c -> crt{i,n}.S split
This was done mostly by looking at the processed crt{i,n}.S files in
glibc-2.15, and then added the required update for using in either
csu/ or nptl/.

Seems to work -- when an earlier version didn't call the initializers,
many tests (pthread related) failed.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:07:20 -04:00
Mike Frysinger fd916d779b ia64: merge sysdeps/ia64/elf/ into sysdeps/ia64/
Moved the files, and then pasted the configure.in contents into the
parent file.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:07:00 -04:00
Mike Frysinger 15be91c2a0 ia64: add split-out settings into dedicated files
Logic specific to ia64 used to live in the main tree in common files.
Now that we can't do that (with #ifdef and such), we need to add that
logic into dedicated overriding files.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:06:32 -04:00
Mike Frysinger 5f870869a6 ia64: update include paths
We need to update the file paths after the ia64 code was moved from
the main tree to ports/.  In the case of backtrace.c, the main tree
actually copied the ia64 version to the x86_64 code, so we can go
ahead and drop the ia64 version.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-27 23:06:07 -04:00
Joseph Myers 4053d054cd Increase minimum MIPS kernel version to 2.6.12. 2012-04-27 20:52:33 +00:00
Matt Turner ee6cb8adf2 alpha: Correct kernel version needed to define __ASSUME_ACCEPT4. 2012-04-27 07:36:27 -07:00
Matt Turner 99449c154f alpha: Use fopen "rce" in ioperm 2012-04-27 07:34:53 -07:00
Matt Turner cdf73ff5b6 alpha: Update bits/mman.h. 2012-04-27 07:33:47 -07:00