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>
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>
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>
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 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>
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 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>
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>
A current bug in the hppa binutils code causes
relative relocations to be mixed with OPD relocations.
The OPD handling code in ld.so requires a relocation to
setup one of the data structures.
At startup ld.so tries to use the structure to handle
an OPD relocation *before* the structure is completely
setup by the relative relocation and this causes a crash.
This code is a workaround and a bandaid, the real fix
is in the static linker, but until then we must avoid
relocations in dl-fptr.c.
We copy dl-fptr.c from generic code, modify it, and
adjust the headers to fixup the structure at runtime
instead of having the relocation do this for us
automatically.
This patch removes the elf/ directory, moving any
special configury down a directory e.g. TLS checks.
This patch also implements the required crti.S
and crtn.S files, verifying that they match the
current implementation.
Common code moved _itoa.h necessitating a change in the #include path.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>