Installed headers should always use the forms of attributes with __
prefixes and suffixes, so __attribute__ ((__aligned__ (8))) instead of
the plain "aligned" form, to avoid taking identifiers from the user's
namespace.
URL: http://sourceware.org/bugzilla/show_bug.cgi?id=14109
Reported-by: Joseph Myers <joseph@codesourcery.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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).
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
The $dest variable is based on the top build dir but we need the ldd
rewrite variable to be based on the top source dir, so use $dir.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Processed with a simple sed script:
find `find sysdeps/ -name ia64` -type f -exec sed -i \
-e '/Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA/d' \
-e 's:License along with the GNU C Library; if not, write to the Free:License along with the GNU C Library; if not, see:' \
-e 's|02111-1307 USA.|<http://www.gnu.org/licenses/>.|' {} +
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Many ia64 files have trailing whitespace which gets in the way and
annoys me. So strip it away:
find `find sysdeps/ -name ia64` -type f -exec sed -i 's:[[:space:]]*$::' {} +
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This is a simple copy of the last version of ia64 in the main tree.
It does not work as-is, but serves as a basis for follow up changes
to restore it to working order.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>