From d5efd131d4e7143173f8faef331b7ec2c4af6340 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 16 Apr 2012 22:02:27 -0400 Subject: ia64: move from main tree 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 --- sysdeps/ia64/Implies | 5 + sysdeps/ia64/Makefile | 24 + sysdeps/ia64/Versions | 21 + sysdeps/ia64/_mcount.S | 92 + sysdeps/ia64/abort-instr.h | 3 + sysdeps/ia64/backtrace.c | 133 + sysdeps/ia64/bcopy.S | 10 + sysdeps/ia64/bits/atomic.h | 119 + sysdeps/ia64/bits/byteswap.h | 121 + sysdeps/ia64/bits/fenv.h | 87 + sysdeps/ia64/bits/huge_vall.h | 42 + sysdeps/ia64/bits/link.h | 63 + sysdeps/ia64/bits/linkmap.h | 5 + sysdeps/ia64/bits/mathdef.h | 37 + sysdeps/ia64/bits/xtitypes.h | 34 + sysdeps/ia64/bzero.S | 315 + sysdeps/ia64/configure | 54 + sysdeps/ia64/configure.in | 35 + sysdeps/ia64/dl-dtprocnum.h | 22 + sysdeps/ia64/dl-fptr.h | 36 + sysdeps/ia64/dl-lookupcfg.h | 72 + sysdeps/ia64/dl-machine.h | 507 ++ sysdeps/ia64/dl-sysdep.h | 24 + sysdeps/ia64/dl-tls.h | 33 + sysdeps/ia64/dl-trampoline.S | 539 ++ sysdeps/ia64/elf/configure | 126 + sysdeps/ia64/elf/configure.in | 34 + sysdeps/ia64/elf/entry.h | 10 + sysdeps/ia64/elf/initfini.c | 152 + sysdeps/ia64/elf/start.S | 120 + sysdeps/ia64/fpu/Makefile | 34 + sysdeps/ia64/fpu/README | 50 + sysdeps/ia64/fpu/Versions | 10 + sysdeps/ia64/fpu/bits/math-finite.h | 25 + sysdeps/ia64/fpu/bits/mathinline.h | 54 + sysdeps/ia64/fpu/branred.c | 1 + sysdeps/ia64/fpu/doasin.c | 1 + sysdeps/ia64/fpu/dosincos.c | 1 + sysdeps/ia64/fpu/e_acos.S | 878 +++ sysdeps/ia64/fpu/e_acosf.S | 694 ++ sysdeps/ia64/fpu/e_acosh.S | 1202 +++ sysdeps/ia64/fpu/e_acoshf.S | 1030 +++ sysdeps/ia64/fpu/e_acoshl.S | 1716 +++++ sysdeps/ia64/fpu/e_acosl.S | 2552 +++++++ sysdeps/ia64/fpu/e_asin.S | 854 +++ sysdeps/ia64/fpu/e_asinf.S | 675 ++ sysdeps/ia64/fpu/e_asinl.S | 2528 +++++++ sysdeps/ia64/fpu/e_atan2.S | 1049 +++ sysdeps/ia64/fpu/e_atan2f.S | 900 +++ sysdeps/ia64/fpu/e_atan2l.c | 1 + sysdeps/ia64/fpu/e_atanh.S | 1071 +++ sysdeps/ia64/fpu/e_atanhf.S | 845 +++ sysdeps/ia64/fpu/e_atanhl.S | 1156 +++ sysdeps/ia64/fpu/e_cosh.S | 866 +++ sysdeps/ia64/fpu/e_coshf.S | 711 ++ sysdeps/ia64/fpu/e_coshl.S | 1095 +++ sysdeps/ia64/fpu/e_exp.S | 793 ++ sysdeps/ia64/fpu/e_exp10.S | 605 ++ sysdeps/ia64/fpu/e_exp10f.S | 557 ++ sysdeps/ia64/fpu/e_exp10l.S | 811 +++ sysdeps/ia64/fpu/e_exp2.S | 564 ++ sysdeps/ia64/fpu/e_exp2f.S | 539 ++ sysdeps/ia64/fpu/e_exp2l.S | 807 ++ sysdeps/ia64/fpu/e_expf.S | 716 ++ sysdeps/ia64/fpu/e_expl.c | 1 + sysdeps/ia64/fpu/e_fmod.S | 559 ++ sysdeps/ia64/fpu/e_fmodf.S | 571 ++ sysdeps/ia64/fpu/e_fmodl.S | 672 ++ sysdeps/ia64/fpu/e_gamma_r.c | 1 + sysdeps/ia64/fpu/e_gammaf_r.c | 1 + sysdeps/ia64/fpu/e_gammal_r.c | 1 + sysdeps/ia64/fpu/e_hypot.S | 440 ++ sysdeps/ia64/fpu/e_hypotf.S | 395 + sysdeps/ia64/fpu/e_hypotl.S | 478 ++ sysdeps/ia64/fpu/e_lgamma_r.c | 71 + sysdeps/ia64/fpu/e_lgammaf_r.c | 71 + sysdeps/ia64/fpu/e_lgammal_r.c | 70 + sysdeps/ia64/fpu/e_log.S | 1729 +++++ sysdeps/ia64/fpu/e_log10.c | 1 + sysdeps/ia64/fpu/e_log10f.c | 1 + sysdeps/ia64/fpu/e_log10l.c | 1 + sysdeps/ia64/fpu/e_log2.S | 711 ++ sysdeps/ia64/fpu/e_log2f.S | 551 ++ sysdeps/ia64/fpu/e_log2l.S | 817 +++ sysdeps/ia64/fpu/e_logf.S | 1159 +++ sysdeps/ia64/fpu/e_logl.S | 1200 +++ sysdeps/ia64/fpu/e_pow.S | 2297 ++++++ sysdeps/ia64/fpu/e_powf.S | 2066 ++++++ sysdeps/ia64/fpu/e_powl.S | 2810 +++++++ sysdeps/ia64/fpu/e_rem_pio2.c | 1 + sysdeps/ia64/fpu/e_rem_pio2f.c | 1 + sysdeps/ia64/fpu/e_remainder.S | 590 ++ sysdeps/ia64/fpu/e_remainderf.S | 609 ++ sysdeps/ia64/fpu/e_remainderl.S | 617 ++ sysdeps/ia64/fpu/e_scalb.S | 599 ++ sysdeps/ia64/fpu/e_scalbf.S | 599 ++ sysdeps/ia64/fpu/e_scalbl.S | 599 ++ sysdeps/ia64/fpu/e_sinh.S | 905 +++ sysdeps/ia64/fpu/e_sinhf.S | 748 ++ sysdeps/ia64/fpu/e_sinhl.S | 1117 +++ sysdeps/ia64/fpu/e_sqrt.S | 342 + sysdeps/ia64/fpu/e_sqrtf.S | 260 + sysdeps/ia64/fpu/e_sqrtl.S | 275 + sysdeps/ia64/fpu/fclrexcpt.c | 39 + sysdeps/ia64/fpu/fedisblxcpt.c | 37 + sysdeps/ia64/fpu/feenablxcpt.c | 37 + sysdeps/ia64/fpu/fegetenv.c | 30 + sysdeps/ia64/fpu/fegetexcept.c | 31 + sysdeps/ia64/fpu/fegetround.c | 31 + sysdeps/ia64/fpu/feholdexcpt.c | 42 + sysdeps/ia64/fpu/fesetenv.c | 42 + sysdeps/ia64/fpu/fesetround.c | 42 + sysdeps/ia64/fpu/feupdateenv.c | 41 + sysdeps/ia64/fpu/fgetexcptflg.c | 35 + sysdeps/ia64/fpu/fraiseexcpt.c | 80 + sysdeps/ia64/fpu/fsetexcptflg.c | 41 + sysdeps/ia64/fpu/ftestexcept.c | 33 + sysdeps/ia64/fpu/gen_import_file_list | 90 + sysdeps/ia64/fpu/halfulp.c | 1 + sysdeps/ia64/fpu/import_check | 81 + sysdeps/ia64/fpu/import_diffs | 7 + sysdeps/ia64/fpu/import_file.awk | 151 + sysdeps/ia64/fpu/import_intel_libm | 106 + sysdeps/ia64/fpu/k_rem_pio2.c | 1 + sysdeps/ia64/fpu/k_rem_pio2f.c | 1 + sysdeps/ia64/fpu/k_rem_pio2l.c | 1 + sysdeps/ia64/fpu/libc_libm_error.c | 14 + sysdeps/ia64/fpu/libm-symbols.h | 64 + sysdeps/ia64/fpu/libm-test-ulps | 1146 +++ sysdeps/ia64/fpu/libm_cpu_defs.h | 156 + sysdeps/ia64/fpu/libm_error.c | 4295 +++++++++++ sysdeps/ia64/fpu/libm_error_codes.h | 211 + sysdeps/ia64/fpu/libm_frexp.S | 209 + sysdeps/ia64/fpu/libm_frexp4.S | 199 + sysdeps/ia64/fpu/libm_frexp4f.S | 199 + sysdeps/ia64/fpu/libm_frexp4l.S | 198 + sysdeps/ia64/fpu/libm_frexpf.S | 209 + sysdeps/ia64/fpu/libm_frexpl.S | 209 + sysdeps/ia64/fpu/libm_lgamma.S | 3623 +++++++++ sysdeps/ia64/fpu/libm_lgammaf.S | 2199 ++++++ sysdeps/ia64/fpu/libm_lgammal.S | 7678 ++++++++++++++++++++ sysdeps/ia64/fpu/libm_reduce.S | 1578 ++++ sysdeps/ia64/fpu/libm_scalblnf.S | 450 ++ sysdeps/ia64/fpu/libm_sincos.S | 783 ++ sysdeps/ia64/fpu/libm_sincos_large.S | 2757 +++++++ sysdeps/ia64/fpu/libm_sincosf.S | 745 ++ sysdeps/ia64/fpu/libm_sincosl.S | 2528 +++++++ sysdeps/ia64/fpu/libm_support.h | 1051 +++ sysdeps/ia64/fpu/libm_tan.S | 3332 +++++++++ sysdeps/ia64/fpu/math_ldbl.h | 100 + sysdeps/ia64/fpu/mpa.c | 1 + sysdeps/ia64/fpu/mpatan.c | 1 + sysdeps/ia64/fpu/mpatan2.c | 1 + sysdeps/ia64/fpu/mpexp.c | 1 + sysdeps/ia64/fpu/mplog.c | 1 + sysdeps/ia64/fpu/mpsqrt.c | 1 + sysdeps/ia64/fpu/mptan.c | 1 + sysdeps/ia64/fpu/printf_fphex.c | 81 + sysdeps/ia64/fpu/s_asinh.S | 1138 +++ sysdeps/ia64/fpu/s_asinhf.S | 937 +++ sysdeps/ia64/fpu/s_asinhl.S | 1347 ++++ sysdeps/ia64/fpu/s_atan.S | 753 ++ sysdeps/ia64/fpu/s_atanf.S | 556 ++ sysdeps/ia64/fpu/s_atanl.S | 2007 +++++ sysdeps/ia64/fpu/s_cbrt.S | 767 ++ sysdeps/ia64/fpu/s_cbrtf.S | 765 ++ sysdeps/ia64/fpu/s_cbrtl.S | 986 +++ sysdeps/ia64/fpu/s_ceil.S | 224 + sysdeps/ia64/fpu/s_ceilf.S | 224 + sysdeps/ia64/fpu/s_ceill.S | 224 + sysdeps/ia64/fpu/s_copysign.S | 38 + sysdeps/ia64/fpu/s_copysignf.S | 1 + sysdeps/ia64/fpu/s_copysignl.S | 1 + sysdeps/ia64/fpu/s_cos.S | 768 ++ sysdeps/ia64/fpu/s_cosf.S | 717 ++ sysdeps/ia64/fpu/s_cosl.S | 2365 ++++++ sysdeps/ia64/fpu/s_erf.S | 926 +++ sysdeps/ia64/fpu/s_erfc.S | 1199 +++ sysdeps/ia64/fpu/s_erfcf.S | 983 +++ sysdeps/ia64/fpu/s_erfcl.S | 2066 ++++++ sysdeps/ia64/fpu/s_erff.S | 558 ++ sysdeps/ia64/fpu/s_erfl.S | 1240 ++++ sysdeps/ia64/fpu/s_expm1.S | 886 +++ sysdeps/ia64/fpu/s_expm1f.S | 671 ++ sysdeps/ia64/fpu/s_expm1l.S | 1431 ++++ sysdeps/ia64/fpu/s_fabs.S | 82 + sysdeps/ia64/fpu/s_fabsf.S | 82 + sysdeps/ia64/fpu/s_fabsl.S | 82 + sysdeps/ia64/fpu/s_fdim.S | 228 + sysdeps/ia64/fpu/s_fdimf.S | 228 + sysdeps/ia64/fpu/s_fdiml.S | 228 + sysdeps/ia64/fpu/s_finite.S | 45 + sysdeps/ia64/fpu/s_finitef.S | 1 + sysdeps/ia64/fpu/s_finitel.S | 1 + sysdeps/ia64/fpu/s_floor.S | 216 + sysdeps/ia64/fpu/s_floorf.S | 215 + sysdeps/ia64/fpu/s_floorl.S | 215 + sysdeps/ia64/fpu/s_fma.S | 71 + sysdeps/ia64/fpu/s_fmaf.S | 71 + sysdeps/ia64/fpu/s_fmal.S | 71 + sysdeps/ia64/fpu/s_fmax.S | 114 + sysdeps/ia64/fpu/s_fmaxf.S | 114 + sysdeps/ia64/fpu/s_fmaxl.S | 114 + sysdeps/ia64/fpu/s_fpclassify.S | 62 + sysdeps/ia64/fpu/s_fpclassifyf.S | 1 + sysdeps/ia64/fpu/s_fpclassifyl.S | 1 + sysdeps/ia64/fpu/s_frexp.c | 67 + sysdeps/ia64/fpu/s_frexpf.c | 67 + sysdeps/ia64/fpu/s_frexpl.c | 67 + sysdeps/ia64/fpu/s_ilogb.S | 268 + sysdeps/ia64/fpu/s_ilogbf.S | 268 + sysdeps/ia64/fpu/s_ilogbl.S | 268 + sysdeps/ia64/fpu/s_isinf.S | 58 + sysdeps/ia64/fpu/s_isinff.S | 1 + sysdeps/ia64/fpu/s_isinfl.S | 1 + sysdeps/ia64/fpu/s_isnan.S | 51 + sysdeps/ia64/fpu/s_isnanf.S | 1 + sysdeps/ia64/fpu/s_isnanl.S | 1 + sysdeps/ia64/fpu/s_ldexp.c | 61 + sysdeps/ia64/fpu/s_ldexpf.c | 61 + sysdeps/ia64/fpu/s_ldexpl.c | 61 + sysdeps/ia64/fpu/s_libm_ldexp.S | 452 ++ sysdeps/ia64/fpu/s_libm_ldexpf.S | 452 ++ sysdeps/ia64/fpu/s_libm_ldexpl.S | 452 ++ sysdeps/ia64/fpu/s_libm_scalbn.S | 452 ++ sysdeps/ia64/fpu/s_libm_scalbnf.S | 452 ++ sysdeps/ia64/fpu/s_libm_scalbnl.S | 452 ++ sysdeps/ia64/fpu/s_log1p.S | 1103 +++ sysdeps/ia64/fpu/s_log1pf.S | 789 ++ sysdeps/ia64/fpu/s_log1pl.S | 1200 +++ sysdeps/ia64/fpu/s_logb.S | 281 + sysdeps/ia64/fpu/s_logbf.S | 281 + sysdeps/ia64/fpu/s_logbl.S | 281 + sysdeps/ia64/fpu/s_matherrf.c | 33 + sysdeps/ia64/fpu/s_matherrl.c | 33 + sysdeps/ia64/fpu/s_modf.S | 278 + sysdeps/ia64/fpu/s_modff.S | 278 + sysdeps/ia64/fpu/s_modfl.S | 273 + sysdeps/ia64/fpu/s_nearbyint.S | 217 + sysdeps/ia64/fpu/s_nearbyintf.S | 217 + sysdeps/ia64/fpu/s_nearbyintl.S | 217 + sysdeps/ia64/fpu/s_nextafter.S | 498 ++ sysdeps/ia64/fpu/s_nextafterf.S | 504 ++ sysdeps/ia64/fpu/s_nextafterl.S | 503 ++ sysdeps/ia64/fpu/s_nexttoward.S | 490 ++ sysdeps/ia64/fpu/s_nexttowardf.S | 496 ++ sysdeps/ia64/fpu/s_nexttowardl.S | 494 ++ sysdeps/ia64/fpu/s_rint.S | 229 + sysdeps/ia64/fpu/s_rintf.S | 229 + sysdeps/ia64/fpu/s_rintl.S | 229 + sysdeps/ia64/fpu/s_round.S | 233 + sysdeps/ia64/fpu/s_roundf.S | 233 + sysdeps/ia64/fpu/s_roundl.S | 233 + sysdeps/ia64/fpu/s_scalblnf.c | 61 + sysdeps/ia64/fpu/s_scalbn.c | 61 + sysdeps/ia64/fpu/s_scalbnf.c | 61 + sysdeps/ia64/fpu/s_scalbnl.c | 61 + sysdeps/ia64/fpu/s_signbit.S | 37 + sysdeps/ia64/fpu/s_signbitf.S | 1 + sysdeps/ia64/fpu/s_signbitl.S | 1 + sysdeps/ia64/fpu/s_significand.S | 153 + sysdeps/ia64/fpu/s_significandf.S | 152 + sysdeps/ia64/fpu/s_significandl.S | 153 + sysdeps/ia64/fpu/s_sin.c | 1 + sysdeps/ia64/fpu/s_sincos.c | 1 + sysdeps/ia64/fpu/s_sincosf.c | 1 + sysdeps/ia64/fpu/s_sincosl.c | 1 + sysdeps/ia64/fpu/s_sinf.c | 1 + sysdeps/ia64/fpu/s_sinl.c | 1 + sysdeps/ia64/fpu/s_tan.S | 878 +++ sysdeps/ia64/fpu/s_tanf.S | 692 ++ sysdeps/ia64/fpu/s_tanh.S | 986 +++ sysdeps/ia64/fpu/s_tanhf.S | 581 ++ sysdeps/ia64/fpu/s_tanhl.S | 1348 ++++ sysdeps/ia64/fpu/s_tanl.S | 3248 +++++++++ sysdeps/ia64/fpu/s_trunc.S | 166 + sysdeps/ia64/fpu/s_truncf.S | 166 + sysdeps/ia64/fpu/s_truncl.S | 166 + sysdeps/ia64/fpu/sincos32.c | 1 + sysdeps/ia64/fpu/slowexp.c | 1 + sysdeps/ia64/fpu/slowpow.c | 1 + sysdeps/ia64/fpu/t_exp.c | 1 + sysdeps/ia64/fpu/w_acos.c | 1 + sysdeps/ia64/fpu/w_acosf.c | 1 + sysdeps/ia64/fpu/w_acosh.c | 1 + sysdeps/ia64/fpu/w_acoshf.c | 1 + sysdeps/ia64/fpu/w_acoshl.c | 1 + sysdeps/ia64/fpu/w_acosl.c | 1 + sysdeps/ia64/fpu/w_asin.c | 1 + sysdeps/ia64/fpu/w_asinf.c | 1 + sysdeps/ia64/fpu/w_asinl.c | 1 + sysdeps/ia64/fpu/w_atan2.c | 1 + sysdeps/ia64/fpu/w_atan2f.c | 1 + sysdeps/ia64/fpu/w_atan2l.c | 1 + sysdeps/ia64/fpu/w_atanh.c | 1 + sysdeps/ia64/fpu/w_atanhf.c | 1 + sysdeps/ia64/fpu/w_atanhl.c | 1 + sysdeps/ia64/fpu/w_cosh.c | 1 + sysdeps/ia64/fpu/w_coshf.c | 1 + sysdeps/ia64/fpu/w_coshl.c | 1 + sysdeps/ia64/fpu/w_exp.c | 1 + sysdeps/ia64/fpu/w_exp10.c | 1 + sysdeps/ia64/fpu/w_exp10f.c | 1 + sysdeps/ia64/fpu/w_exp10l.c | 1 + sysdeps/ia64/fpu/w_exp2.c | 1 + sysdeps/ia64/fpu/w_exp2f.c | 1 + sysdeps/ia64/fpu/w_exp2l.c | 1 + sysdeps/ia64/fpu/w_expf.c | 1 + sysdeps/ia64/fpu/w_expl.c | 1 + sysdeps/ia64/fpu/w_fmod.c | 1 + sysdeps/ia64/fpu/w_fmodf.c | 1 + sysdeps/ia64/fpu/w_fmodl.c | 1 + sysdeps/ia64/fpu/w_hypot.c | 1 + sysdeps/ia64/fpu/w_hypotf.c | 1 + sysdeps/ia64/fpu/w_hypotl.c | 1 + sysdeps/ia64/fpu/w_lgamma.c | 80 + sysdeps/ia64/fpu/w_lgamma_r.c | 1 + sysdeps/ia64/fpu/w_lgammaf.c | 80 + sysdeps/ia64/fpu/w_lgammaf_r.c | 1 + sysdeps/ia64/fpu/w_lgammal.c | 79 + sysdeps/ia64/fpu/w_lgammal_r.c | 1 + sysdeps/ia64/fpu/w_log.c | 1 + sysdeps/ia64/fpu/w_log10.c | 1 + sysdeps/ia64/fpu/w_log10f.c | 1 + sysdeps/ia64/fpu/w_log10l.c | 1 + sysdeps/ia64/fpu/w_log2.c | 1 + sysdeps/ia64/fpu/w_log2f.c | 1 + sysdeps/ia64/fpu/w_log2l.c | 1 + sysdeps/ia64/fpu/w_logf.c | 1 + sysdeps/ia64/fpu/w_logl.c | 1 + sysdeps/ia64/fpu/w_pow.c | 1 + sysdeps/ia64/fpu/w_powf.c | 1 + sysdeps/ia64/fpu/w_powl.c | 1 + sysdeps/ia64/fpu/w_remainder.c | 1 + sysdeps/ia64/fpu/w_remainderf.c | 1 + sysdeps/ia64/fpu/w_remainderl.c | 1 + sysdeps/ia64/fpu/w_scalb.c | 1 + sysdeps/ia64/fpu/w_scalbf.c | 1 + sysdeps/ia64/fpu/w_scalbl.c | 1 + sysdeps/ia64/fpu/w_sinh.c | 1 + sysdeps/ia64/fpu/w_sinhf.c | 1 + sysdeps/ia64/fpu/w_sinhl.c | 1 + sysdeps/ia64/fpu/w_sqrt.c | 1 + sysdeps/ia64/fpu/w_sqrtf.c | 1 + sysdeps/ia64/fpu/w_sqrtl.c | 1 + sysdeps/ia64/fpu/w_tgamma.S | 1836 +++++ sysdeps/ia64/fpu/w_tgammaf.S | 1331 ++++ sysdeps/ia64/fpu/w_tgammal.S | 4487 ++++++++++++ sysdeps/ia64/gccframe.h | 32 + sysdeps/ia64/hp-timing.c | 24 + sysdeps/ia64/hp-timing.h | 148 + sysdeps/ia64/htonl.S | 31 + sysdeps/ia64/htons.S | 31 + sysdeps/ia64/ia64libgcc.S | 350 + sysdeps/ia64/ieee754.h | 205 + sysdeps/ia64/jmpbuf-unwind.h | 44 + sysdeps/ia64/ldbl2mpn.c | 1 + sysdeps/ia64/libc-tls.c | 32 + sysdeps/ia64/machine-gmon.h | 26 + sysdeps/ia64/memccpy.S | 250 + sysdeps/ia64/memchr.S | 161 + sysdeps/ia64/memcmp.S | 165 + sysdeps/ia64/memcpy.S | 436 ++ sysdeps/ia64/memmove.S | 251 + sysdeps/ia64/memset.S | 400 + sysdeps/ia64/memusage.h | 30 + sysdeps/ia64/nptl/Makefile | 25 + sysdeps/ia64/nptl/pthread_spin_lock.c | 36 + sysdeps/ia64/nptl/pthread_spin_trylock.c | 28 + sysdeps/ia64/nptl/pthread_spin_unlock.c | 28 + sysdeps/ia64/nptl/pthreaddef.h | 43 + sysdeps/ia64/nptl/tcb-offsets.sym | 7 + sysdeps/ia64/nptl/tls.h | 186 + sysdeps/ia64/sched_cpucount.c | 21 + sysdeps/ia64/softpipe.h | 29 + sysdeps/ia64/stackinfo.h | 35 + sysdeps/ia64/strcat.c | 27 + sysdeps/ia64/strchr.S | 112 + sysdeps/ia64/strcmp.S | 54 + sysdeps/ia64/strcpy.S | 145 + sysdeps/ia64/strlen.S | 98 + sysdeps/ia64/strncmp.S | 62 + sysdeps/ia64/strncpy.S | 232 + sysdeps/ia64/sysdep.h | 63 + sysdeps/unix/sysv/linux/ia64/Implies | 1 + sysdeps/unix/sysv/linux/ia64/Makefile | 27 + sysdeps/unix/sysv/linux/ia64/Versions | 25 + sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S | 42 + sysdeps/unix/sysv/linux/ia64/__longjmp.S | 171 + sysdeps/unix/sysv/linux/ia64/__start_context.S | 52 + sysdeps/unix/sysv/linux/ia64/bits/endian.h | 7 + sysdeps/unix/sysv/linux/ia64/bits/fcntl.h | 320 + sysdeps/unix/sysv/linux/ia64/bits/ipc.h | 54 + sysdeps/unix/sysv/linux/ia64/bits/mman.h | 110 + sysdeps/unix/sysv/linux/ia64/bits/msq.h | 69 + sysdeps/unix/sysv/linux/ia64/bits/sem.h | 87 + sysdeps/unix/sysv/linux/ia64/bits/setjmp.h | 35 + sysdeps/unix/sysv/linux/ia64/bits/shm.h | 95 + sysdeps/unix/sysv/linux/ia64/bits/sigaction.h | 75 + sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h | 81 + sysdeps/unix/sysv/linux/ia64/bits/siginfo.h | 343 + sysdeps/unix/sysv/linux/ia64/bits/sigstack.h | 63 + sysdeps/unix/sysv/linux/ia64/bits/stat.h | 150 + sysdeps/unix/sysv/linux/ia64/brk.S | 52 + sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S | 1 + sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S | 1 + sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c | 32 + sysdeps/unix/sysv/linux/ia64/clone.S | 1 + sysdeps/unix/sysv/linux/ia64/clone2.S | 106 + sysdeps/unix/sysv/linux/ia64/dl-brk.S | 1 + sysdeps/unix/sysv/linux/ia64/dl-cache.h | 25 + sysdeps/unix/sysv/linux/ia64/dl-static.c | 69 + sysdeps/unix/sysv/linux/ia64/fork.S | 41 + sysdeps/unix/sysv/linux/ia64/get_clockfreq.c | 89 + sysdeps/unix/sysv/linux/ia64/getclktck.c | 2 + sysdeps/unix/sysv/linux/ia64/getcontext.S | 158 + sysdeps/unix/sysv/linux/ia64/getpagesize.c | 39 + sysdeps/unix/sysv/linux/ia64/has_cpuclock.c | 52 + sysdeps/unix/sysv/linux/ia64/ioperm.c | 217 + sysdeps/unix/sysv/linux/ia64/kernel_stat.h | 21 + sysdeps/unix/sysv/linux/ia64/ldconfig.h | 25 + sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed | 1 + sysdeps/unix/sysv/linux/ia64/ldsodefs.h | 33 + sysdeps/unix/sysv/linux/ia64/makecontext.c | 93 + sysdeps/unix/sysv/linux/ia64/nptl/Makefile | 3 + sysdeps/unix/sysv/linux/ia64/nptl/Versions | 13 + sysdeps/unix/sysv/linux/ia64/nptl/__ia64_longjmp.S | 159 + .../unix/sysv/linux/ia64/nptl/__sigstack_longjmp.c | 168 + sysdeps/unix/sysv/linux/ia64/nptl/bits/local_lim.h | 100 + .../unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h | 169 + sysdeps/unix/sysv/linux/ia64/nptl/bits/semaphore.h | 36 + sysdeps/unix/sysv/linux/ia64/nptl/clone2.S | 9 + sysdeps/unix/sysv/linux/ia64/nptl/createthread.c | 26 + sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h | 77 + sysdeps/unix/sysv/linux/ia64/nptl/fork.c | 31 + sysdeps/unix/sysv/linux/ia64/nptl/lowlevellock.h | 295 + sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c | 50 + sysdeps/unix/sysv/linux/ia64/nptl/pt-vfork.S | 60 + sysdeps/unix/sysv/linux/ia64/nptl/pthread_once.c | 94 + sysdeps/unix/sysv/linux/ia64/nptl/sysdep-cancel.h | 205 + sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c | 1 + sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c | 1 + sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c | 1 + sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c | 1 + sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c | 1 + .../sysv/linux/ia64/nptl/unwind-forcedunwind.c | 39 + sysdeps/unix/sysv/linux/ia64/nptl/unwind_longjmp.c | 44 + sysdeps/unix/sysv/linux/ia64/nptl/vfork.S | 69 + sysdeps/unix/sysv/linux/ia64/pipe.S | 38 + sysdeps/unix/sysv/linux/ia64/profil-counter.h | 32 + sysdeps/unix/sysv/linux/ia64/readelflib.c | 60 + sysdeps/unix/sysv/linux/ia64/register-dump.h | 182 + sysdeps/unix/sysv/linux/ia64/rt-sysdep.S | 1 + sysdeps/unix/sysv/linux/ia64/setcontext.S | 153 + sysdeps/unix/sysv/linux/ia64/setjmp.S | 199 + sysdeps/unix/sysv/linux/ia64/sigaction.c | 59 + .../unix/sysv/linux/ia64/sigcontext-offsets.sym | 16 + sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h | 26 + sysdeps/unix/sysv/linux/ia64/sigpending.c | 39 + sysdeps/unix/sysv/linux/ia64/sigprocmask.c | 45 + sysdeps/unix/sysv/linux/ia64/swapcontext.c | 40 + sysdeps/unix/sysv/linux/ia64/sys/io.h | 68 + sysdeps/unix/sysv/linux/ia64/sys/procfs.h | 130 + sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 192 + sysdeps/unix/sysv/linux/ia64/sys/rse.h | 78 + sysdeps/unix/sysv/linux/ia64/sys/ucontext.h | 66 + sysdeps/unix/sysv/linux/ia64/sys/user.h | 54 + sysdeps/unix/sysv/linux/ia64/syscall.S | 30 + sysdeps/unix/sysv/linux/ia64/syscalls.list | 50 + sysdeps/unix/sysv/linux/ia64/sysconf.c | 31 + sysdeps/unix/sysv/linux/ia64/sysdep.S | 59 + sysdeps/unix/sysv/linux/ia64/sysdep.h | 384 + sysdeps/unix/sysv/linux/ia64/system.c | 35 + sysdeps/unix/sysv/linux/ia64/ucontext_i.h | 47 + sysdeps/unix/sysv/linux/ia64/umount.c | 31 + sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c | 1 + sysdeps/unix/sysv/linux/ia64/vfork.S | 44 + sysdeps/unix/sysv/linux/ia64/wordexp.c | 60 + 478 files changed, 154659 insertions(+) create mode 100644 sysdeps/ia64/Implies create mode 100644 sysdeps/ia64/Makefile create mode 100644 sysdeps/ia64/Versions create mode 100644 sysdeps/ia64/_mcount.S create mode 100644 sysdeps/ia64/abort-instr.h create mode 100644 sysdeps/ia64/backtrace.c create mode 100644 sysdeps/ia64/bcopy.S create mode 100644 sysdeps/ia64/bits/atomic.h create mode 100644 sysdeps/ia64/bits/byteswap.h create mode 100644 sysdeps/ia64/bits/fenv.h create mode 100644 sysdeps/ia64/bits/huge_vall.h create mode 100644 sysdeps/ia64/bits/link.h create mode 100644 sysdeps/ia64/bits/linkmap.h create mode 100644 sysdeps/ia64/bits/mathdef.h create mode 100644 sysdeps/ia64/bits/xtitypes.h create mode 100644 sysdeps/ia64/bzero.S create mode 100644 sysdeps/ia64/configure create mode 100644 sysdeps/ia64/configure.in create mode 100644 sysdeps/ia64/dl-dtprocnum.h create mode 100644 sysdeps/ia64/dl-fptr.h create mode 100644 sysdeps/ia64/dl-lookupcfg.h create mode 100644 sysdeps/ia64/dl-machine.h create mode 100644 sysdeps/ia64/dl-sysdep.h create mode 100644 sysdeps/ia64/dl-tls.h create mode 100644 sysdeps/ia64/dl-trampoline.S create mode 100644 sysdeps/ia64/elf/configure create mode 100644 sysdeps/ia64/elf/configure.in create mode 100644 sysdeps/ia64/elf/entry.h create mode 100644 sysdeps/ia64/elf/initfini.c create mode 100644 sysdeps/ia64/elf/start.S create mode 100644 sysdeps/ia64/fpu/Makefile create mode 100644 sysdeps/ia64/fpu/README create mode 100644 sysdeps/ia64/fpu/Versions create mode 100644 sysdeps/ia64/fpu/bits/math-finite.h create mode 100644 sysdeps/ia64/fpu/bits/mathinline.h create mode 100644 sysdeps/ia64/fpu/branred.c create mode 100644 sysdeps/ia64/fpu/doasin.c create mode 100644 sysdeps/ia64/fpu/dosincos.c create mode 100644 sysdeps/ia64/fpu/e_acos.S create mode 100644 sysdeps/ia64/fpu/e_acosf.S create mode 100644 sysdeps/ia64/fpu/e_acosh.S create mode 100644 sysdeps/ia64/fpu/e_acoshf.S create mode 100644 sysdeps/ia64/fpu/e_acoshl.S create mode 100644 sysdeps/ia64/fpu/e_acosl.S create mode 100644 sysdeps/ia64/fpu/e_asin.S create mode 100644 sysdeps/ia64/fpu/e_asinf.S create mode 100644 sysdeps/ia64/fpu/e_asinl.S create mode 100644 sysdeps/ia64/fpu/e_atan2.S create mode 100644 sysdeps/ia64/fpu/e_atan2f.S create mode 100644 sysdeps/ia64/fpu/e_atan2l.c create mode 100644 sysdeps/ia64/fpu/e_atanh.S create mode 100644 sysdeps/ia64/fpu/e_atanhf.S create mode 100644 sysdeps/ia64/fpu/e_atanhl.S create mode 100644 sysdeps/ia64/fpu/e_cosh.S create mode 100644 sysdeps/ia64/fpu/e_coshf.S create mode 100644 sysdeps/ia64/fpu/e_coshl.S create mode 100644 sysdeps/ia64/fpu/e_exp.S create mode 100644 sysdeps/ia64/fpu/e_exp10.S create mode 100644 sysdeps/ia64/fpu/e_exp10f.S create mode 100644 sysdeps/ia64/fpu/e_exp10l.S create mode 100644 sysdeps/ia64/fpu/e_exp2.S create mode 100644 sysdeps/ia64/fpu/e_exp2f.S create mode 100644 sysdeps/ia64/fpu/e_exp2l.S create mode 100644 sysdeps/ia64/fpu/e_expf.S create mode 100644 sysdeps/ia64/fpu/e_expl.c create mode 100644 sysdeps/ia64/fpu/e_fmod.S create mode 100644 sysdeps/ia64/fpu/e_fmodf.S create mode 100644 sysdeps/ia64/fpu/e_fmodl.S create mode 100644 sysdeps/ia64/fpu/e_gamma_r.c create mode 100644 sysdeps/ia64/fpu/e_gammaf_r.c create mode 100644 sysdeps/ia64/fpu/e_gammal_r.c create mode 100644 sysdeps/ia64/fpu/e_hypot.S create mode 100644 sysdeps/ia64/fpu/e_hypotf.S create mode 100644 sysdeps/ia64/fpu/e_hypotl.S create mode 100644 sysdeps/ia64/fpu/e_lgamma_r.c create mode 100644 sysdeps/ia64/fpu/e_lgammaf_r.c create mode 100644 sysdeps/ia64/fpu/e_lgammal_r.c create mode 100644 sysdeps/ia64/fpu/e_log.S create mode 100644 sysdeps/ia64/fpu/e_log10.c create mode 100644 sysdeps/ia64/fpu/e_log10f.c create mode 100644 sysdeps/ia64/fpu/e_log10l.c create mode 100644 sysdeps/ia64/fpu/e_log2.S create mode 100644 sysdeps/ia64/fpu/e_log2f.S create mode 100644 sysdeps/ia64/fpu/e_log2l.S create mode 100644 sysdeps/ia64/fpu/e_logf.S create mode 100644 sysdeps/ia64/fpu/e_logl.S create mode 100644 sysdeps/ia64/fpu/e_pow.S create mode 100644 sysdeps/ia64/fpu/e_powf.S create mode 100644 sysdeps/ia64/fpu/e_powl.S create mode 100644 sysdeps/ia64/fpu/e_rem_pio2.c create mode 100644 sysdeps/ia64/fpu/e_rem_pio2f.c create mode 100644 sysdeps/ia64/fpu/e_remainder.S create mode 100644 sysdeps/ia64/fpu/e_remainderf.S create mode 100644 sysdeps/ia64/fpu/e_remainderl.S create mode 100644 sysdeps/ia64/fpu/e_scalb.S create mode 100644 sysdeps/ia64/fpu/e_scalbf.S create mode 100644 sysdeps/ia64/fpu/e_scalbl.S create mode 100644 sysdeps/ia64/fpu/e_sinh.S create mode 100644 sysdeps/ia64/fpu/e_sinhf.S create mode 100644 sysdeps/ia64/fpu/e_sinhl.S create mode 100644 sysdeps/ia64/fpu/e_sqrt.S create mode 100644 sysdeps/ia64/fpu/e_sqrtf.S create mode 100644 sysdeps/ia64/fpu/e_sqrtl.S create mode 100644 sysdeps/ia64/fpu/fclrexcpt.c create mode 100644 sysdeps/ia64/fpu/fedisblxcpt.c create mode 100644 sysdeps/ia64/fpu/feenablxcpt.c create mode 100644 sysdeps/ia64/fpu/fegetenv.c create mode 100644 sysdeps/ia64/fpu/fegetexcept.c create mode 100644 sysdeps/ia64/fpu/fegetround.c create mode 100644 sysdeps/ia64/fpu/feholdexcpt.c create mode 100644 sysdeps/ia64/fpu/fesetenv.c create mode 100644 sysdeps/ia64/fpu/fesetround.c create mode 100644 sysdeps/ia64/fpu/feupdateenv.c create mode 100644 sysdeps/ia64/fpu/fgetexcptflg.c create mode 100644 sysdeps/ia64/fpu/fraiseexcpt.c create mode 100644 sysdeps/ia64/fpu/fsetexcptflg.c create mode 100644 sysdeps/ia64/fpu/ftestexcept.c create mode 100644 sysdeps/ia64/fpu/gen_import_file_list create mode 100644 sysdeps/ia64/fpu/halfulp.c create mode 100644 sysdeps/ia64/fpu/import_check create mode 100644 sysdeps/ia64/fpu/import_diffs create mode 100644 sysdeps/ia64/fpu/import_file.awk create mode 100644 sysdeps/ia64/fpu/import_intel_libm create mode 100644 sysdeps/ia64/fpu/k_rem_pio2.c create mode 100644 sysdeps/ia64/fpu/k_rem_pio2f.c create mode 100644 sysdeps/ia64/fpu/k_rem_pio2l.c create mode 100644 sysdeps/ia64/fpu/libc_libm_error.c create mode 100644 sysdeps/ia64/fpu/libm-symbols.h create mode 100644 sysdeps/ia64/fpu/libm-test-ulps create mode 100644 sysdeps/ia64/fpu/libm_cpu_defs.h create mode 100644 sysdeps/ia64/fpu/libm_error.c create mode 100644 sysdeps/ia64/fpu/libm_error_codes.h create mode 100644 sysdeps/ia64/fpu/libm_frexp.S create mode 100644 sysdeps/ia64/fpu/libm_frexp4.S create mode 100644 sysdeps/ia64/fpu/libm_frexp4f.S create mode 100644 sysdeps/ia64/fpu/libm_frexp4l.S create mode 100644 sysdeps/ia64/fpu/libm_frexpf.S create mode 100644 sysdeps/ia64/fpu/libm_frexpl.S create mode 100644 sysdeps/ia64/fpu/libm_lgamma.S create mode 100644 sysdeps/ia64/fpu/libm_lgammaf.S create mode 100644 sysdeps/ia64/fpu/libm_lgammal.S create mode 100644 sysdeps/ia64/fpu/libm_reduce.S create mode 100644 sysdeps/ia64/fpu/libm_scalblnf.S create mode 100644 sysdeps/ia64/fpu/libm_sincos.S create mode 100644 sysdeps/ia64/fpu/libm_sincos_large.S create mode 100644 sysdeps/ia64/fpu/libm_sincosf.S create mode 100644 sysdeps/ia64/fpu/libm_sincosl.S create mode 100644 sysdeps/ia64/fpu/libm_support.h create mode 100644 sysdeps/ia64/fpu/libm_tan.S create mode 100644 sysdeps/ia64/fpu/math_ldbl.h create mode 100644 sysdeps/ia64/fpu/mpa.c create mode 100644 sysdeps/ia64/fpu/mpatan.c create mode 100644 sysdeps/ia64/fpu/mpatan2.c create mode 100644 sysdeps/ia64/fpu/mpexp.c create mode 100644 sysdeps/ia64/fpu/mplog.c create mode 100644 sysdeps/ia64/fpu/mpsqrt.c create mode 100644 sysdeps/ia64/fpu/mptan.c create mode 100644 sysdeps/ia64/fpu/printf_fphex.c create mode 100644 sysdeps/ia64/fpu/s_asinh.S create mode 100644 sysdeps/ia64/fpu/s_asinhf.S create mode 100644 sysdeps/ia64/fpu/s_asinhl.S create mode 100644 sysdeps/ia64/fpu/s_atan.S create mode 100644 sysdeps/ia64/fpu/s_atanf.S create mode 100644 sysdeps/ia64/fpu/s_atanl.S create mode 100644 sysdeps/ia64/fpu/s_cbrt.S create mode 100644 sysdeps/ia64/fpu/s_cbrtf.S create mode 100644 sysdeps/ia64/fpu/s_cbrtl.S create mode 100644 sysdeps/ia64/fpu/s_ceil.S create mode 100644 sysdeps/ia64/fpu/s_ceilf.S create mode 100644 sysdeps/ia64/fpu/s_ceill.S create mode 100644 sysdeps/ia64/fpu/s_copysign.S create mode 100644 sysdeps/ia64/fpu/s_copysignf.S create mode 100644 sysdeps/ia64/fpu/s_copysignl.S create mode 100644 sysdeps/ia64/fpu/s_cos.S create mode 100644 sysdeps/ia64/fpu/s_cosf.S create mode 100644 sysdeps/ia64/fpu/s_cosl.S create mode 100644 sysdeps/ia64/fpu/s_erf.S create mode 100644 sysdeps/ia64/fpu/s_erfc.S create mode 100644 sysdeps/ia64/fpu/s_erfcf.S create mode 100644 sysdeps/ia64/fpu/s_erfcl.S create mode 100644 sysdeps/ia64/fpu/s_erff.S create mode 100644 sysdeps/ia64/fpu/s_erfl.S create mode 100644 sysdeps/ia64/fpu/s_expm1.S create mode 100644 sysdeps/ia64/fpu/s_expm1f.S create mode 100644 sysdeps/ia64/fpu/s_expm1l.S create mode 100644 sysdeps/ia64/fpu/s_fabs.S create mode 100644 sysdeps/ia64/fpu/s_fabsf.S create mode 100644 sysdeps/ia64/fpu/s_fabsl.S create mode 100644 sysdeps/ia64/fpu/s_fdim.S create mode 100644 sysdeps/ia64/fpu/s_fdimf.S create mode 100644 sysdeps/ia64/fpu/s_fdiml.S create mode 100644 sysdeps/ia64/fpu/s_finite.S create mode 100644 sysdeps/ia64/fpu/s_finitef.S create mode 100644 sysdeps/ia64/fpu/s_finitel.S create mode 100644 sysdeps/ia64/fpu/s_floor.S create mode 100644 sysdeps/ia64/fpu/s_floorf.S create mode 100644 sysdeps/ia64/fpu/s_floorl.S create mode 100644 sysdeps/ia64/fpu/s_fma.S create mode 100644 sysdeps/ia64/fpu/s_fmaf.S create mode 100644 sysdeps/ia64/fpu/s_fmal.S create mode 100644 sysdeps/ia64/fpu/s_fmax.S create mode 100644 sysdeps/ia64/fpu/s_fmaxf.S create mode 100644 sysdeps/ia64/fpu/s_fmaxl.S create mode 100644 sysdeps/ia64/fpu/s_fpclassify.S create mode 100644 sysdeps/ia64/fpu/s_fpclassifyf.S create mode 100644 sysdeps/ia64/fpu/s_fpclassifyl.S create mode 100644 sysdeps/ia64/fpu/s_frexp.c create mode 100644 sysdeps/ia64/fpu/s_frexpf.c create mode 100644 sysdeps/ia64/fpu/s_frexpl.c create mode 100644 sysdeps/ia64/fpu/s_ilogb.S create mode 100644 sysdeps/ia64/fpu/s_ilogbf.S create mode 100644 sysdeps/ia64/fpu/s_ilogbl.S create mode 100644 sysdeps/ia64/fpu/s_isinf.S create mode 100644 sysdeps/ia64/fpu/s_isinff.S create mode 100644 sysdeps/ia64/fpu/s_isinfl.S create mode 100644 sysdeps/ia64/fpu/s_isnan.S create mode 100644 sysdeps/ia64/fpu/s_isnanf.S create mode 100644 sysdeps/ia64/fpu/s_isnanl.S create mode 100644 sysdeps/ia64/fpu/s_ldexp.c create mode 100644 sysdeps/ia64/fpu/s_ldexpf.c create mode 100644 sysdeps/ia64/fpu/s_ldexpl.c create mode 100644 sysdeps/ia64/fpu/s_libm_ldexp.S create mode 100644 sysdeps/ia64/fpu/s_libm_ldexpf.S create mode 100644 sysdeps/ia64/fpu/s_libm_ldexpl.S create mode 100644 sysdeps/ia64/fpu/s_libm_scalbn.S create mode 100644 sysdeps/ia64/fpu/s_libm_scalbnf.S create mode 100644 sysdeps/ia64/fpu/s_libm_scalbnl.S create mode 100644 sysdeps/ia64/fpu/s_log1p.S create mode 100644 sysdeps/ia64/fpu/s_log1pf.S create mode 100644 sysdeps/ia64/fpu/s_log1pl.S create mode 100644 sysdeps/ia64/fpu/s_logb.S create mode 100644 sysdeps/ia64/fpu/s_logbf.S create mode 100644 sysdeps/ia64/fpu/s_logbl.S create mode 100644 sysdeps/ia64/fpu/s_matherrf.c create mode 100644 sysdeps/ia64/fpu/s_matherrl.c create mode 100644 sysdeps/ia64/fpu/s_modf.S create mode 100644 sysdeps/ia64/fpu/s_modff.S create mode 100644 sysdeps/ia64/fpu/s_modfl.S create mode 100644 sysdeps/ia64/fpu/s_nearbyint.S create mode 100644 sysdeps/ia64/fpu/s_nearbyintf.S create mode 100644 sysdeps/ia64/fpu/s_nearbyintl.S create mode 100644 sysdeps/ia64/fpu/s_nextafter.S create mode 100644 sysdeps/ia64/fpu/s_nextafterf.S create mode 100644 sysdeps/ia64/fpu/s_nextafterl.S create mode 100644 sysdeps/ia64/fpu/s_nexttoward.S create mode 100644 sysdeps/ia64/fpu/s_nexttowardf.S create mode 100644 sysdeps/ia64/fpu/s_nexttowardl.S create mode 100644 sysdeps/ia64/fpu/s_rint.S create mode 100644 sysdeps/ia64/fpu/s_rintf.S create mode 100644 sysdeps/ia64/fpu/s_rintl.S create mode 100644 sysdeps/ia64/fpu/s_round.S create mode 100644 sysdeps/ia64/fpu/s_roundf.S create mode 100644 sysdeps/ia64/fpu/s_roundl.S create mode 100644 sysdeps/ia64/fpu/s_scalblnf.c create mode 100644 sysdeps/ia64/fpu/s_scalbn.c create mode 100644 sysdeps/ia64/fpu/s_scalbnf.c create mode 100644 sysdeps/ia64/fpu/s_scalbnl.c create mode 100644 sysdeps/ia64/fpu/s_signbit.S create mode 100644 sysdeps/ia64/fpu/s_signbitf.S create mode 100644 sysdeps/ia64/fpu/s_signbitl.S create mode 100644 sysdeps/ia64/fpu/s_significand.S create mode 100644 sysdeps/ia64/fpu/s_significandf.S create mode 100644 sysdeps/ia64/fpu/s_significandl.S create mode 100644 sysdeps/ia64/fpu/s_sin.c create mode 100644 sysdeps/ia64/fpu/s_sincos.c create mode 100644 sysdeps/ia64/fpu/s_sincosf.c create mode 100644 sysdeps/ia64/fpu/s_sincosl.c create mode 100644 sysdeps/ia64/fpu/s_sinf.c create mode 100644 sysdeps/ia64/fpu/s_sinl.c create mode 100644 sysdeps/ia64/fpu/s_tan.S create mode 100644 sysdeps/ia64/fpu/s_tanf.S create mode 100644 sysdeps/ia64/fpu/s_tanh.S create mode 100644 sysdeps/ia64/fpu/s_tanhf.S create mode 100644 sysdeps/ia64/fpu/s_tanhl.S create mode 100644 sysdeps/ia64/fpu/s_tanl.S create mode 100644 sysdeps/ia64/fpu/s_trunc.S create mode 100644 sysdeps/ia64/fpu/s_truncf.S create mode 100644 sysdeps/ia64/fpu/s_truncl.S create mode 100644 sysdeps/ia64/fpu/sincos32.c create mode 100644 sysdeps/ia64/fpu/slowexp.c create mode 100644 sysdeps/ia64/fpu/slowpow.c create mode 100644 sysdeps/ia64/fpu/t_exp.c create mode 100644 sysdeps/ia64/fpu/w_acos.c create mode 100644 sysdeps/ia64/fpu/w_acosf.c create mode 100644 sysdeps/ia64/fpu/w_acosh.c create mode 100644 sysdeps/ia64/fpu/w_acoshf.c create mode 100644 sysdeps/ia64/fpu/w_acoshl.c create mode 100644 sysdeps/ia64/fpu/w_acosl.c create mode 100644 sysdeps/ia64/fpu/w_asin.c create mode 100644 sysdeps/ia64/fpu/w_asinf.c create mode 100644 sysdeps/ia64/fpu/w_asinl.c create mode 100644 sysdeps/ia64/fpu/w_atan2.c create mode 100644 sysdeps/ia64/fpu/w_atan2f.c create mode 100644 sysdeps/ia64/fpu/w_atan2l.c create mode 100644 sysdeps/ia64/fpu/w_atanh.c create mode 100644 sysdeps/ia64/fpu/w_atanhf.c create mode 100644 sysdeps/ia64/fpu/w_atanhl.c create mode 100644 sysdeps/ia64/fpu/w_cosh.c create mode 100644 sysdeps/ia64/fpu/w_coshf.c create mode 100644 sysdeps/ia64/fpu/w_coshl.c create mode 100644 sysdeps/ia64/fpu/w_exp.c create mode 100644 sysdeps/ia64/fpu/w_exp10.c create mode 100644 sysdeps/ia64/fpu/w_exp10f.c create mode 100644 sysdeps/ia64/fpu/w_exp10l.c create mode 100644 sysdeps/ia64/fpu/w_exp2.c create mode 100644 sysdeps/ia64/fpu/w_exp2f.c create mode 100644 sysdeps/ia64/fpu/w_exp2l.c create mode 100644 sysdeps/ia64/fpu/w_expf.c create mode 100644 sysdeps/ia64/fpu/w_expl.c create mode 100644 sysdeps/ia64/fpu/w_fmod.c create mode 100644 sysdeps/ia64/fpu/w_fmodf.c create mode 100644 sysdeps/ia64/fpu/w_fmodl.c create mode 100644 sysdeps/ia64/fpu/w_hypot.c create mode 100644 sysdeps/ia64/fpu/w_hypotf.c create mode 100644 sysdeps/ia64/fpu/w_hypotl.c create mode 100644 sysdeps/ia64/fpu/w_lgamma.c create mode 100644 sysdeps/ia64/fpu/w_lgamma_r.c create mode 100644 sysdeps/ia64/fpu/w_lgammaf.c create mode 100644 sysdeps/ia64/fpu/w_lgammaf_r.c create mode 100644 sysdeps/ia64/fpu/w_lgammal.c create mode 100644 sysdeps/ia64/fpu/w_lgammal_r.c create mode 100644 sysdeps/ia64/fpu/w_log.c create mode 100644 sysdeps/ia64/fpu/w_log10.c create mode 100644 sysdeps/ia64/fpu/w_log10f.c create mode 100644 sysdeps/ia64/fpu/w_log10l.c create mode 100644 sysdeps/ia64/fpu/w_log2.c create mode 100644 sysdeps/ia64/fpu/w_log2f.c create mode 100644 sysdeps/ia64/fpu/w_log2l.c create mode 100644 sysdeps/ia64/fpu/w_logf.c create mode 100644 sysdeps/ia64/fpu/w_logl.c create mode 100644 sysdeps/ia64/fpu/w_pow.c create mode 100644 sysdeps/ia64/fpu/w_powf.c create mode 100644 sysdeps/ia64/fpu/w_powl.c create mode 100644 sysdeps/ia64/fpu/w_remainder.c create mode 100644 sysdeps/ia64/fpu/w_remainderf.c create mode 100644 sysdeps/ia64/fpu/w_remainderl.c create mode 100644 sysdeps/ia64/fpu/w_scalb.c create mode 100644 sysdeps/ia64/fpu/w_scalbf.c create mode 100644 sysdeps/ia64/fpu/w_scalbl.c create mode 100644 sysdeps/ia64/fpu/w_sinh.c create mode 100644 sysdeps/ia64/fpu/w_sinhf.c create mode 100644 sysdeps/ia64/fpu/w_sinhl.c create mode 100644 sysdeps/ia64/fpu/w_sqrt.c create mode 100644 sysdeps/ia64/fpu/w_sqrtf.c create mode 100644 sysdeps/ia64/fpu/w_sqrtl.c create mode 100644 sysdeps/ia64/fpu/w_tgamma.S create mode 100644 sysdeps/ia64/fpu/w_tgammaf.S create mode 100644 sysdeps/ia64/fpu/w_tgammal.S create mode 100644 sysdeps/ia64/gccframe.h create mode 100644 sysdeps/ia64/hp-timing.c create mode 100644 sysdeps/ia64/hp-timing.h create mode 100644 sysdeps/ia64/htonl.S create mode 100644 sysdeps/ia64/htons.S create mode 100644 sysdeps/ia64/ia64libgcc.S create mode 100644 sysdeps/ia64/ieee754.h create mode 100644 sysdeps/ia64/jmpbuf-unwind.h create mode 100644 sysdeps/ia64/ldbl2mpn.c create mode 100644 sysdeps/ia64/libc-tls.c create mode 100644 sysdeps/ia64/machine-gmon.h create mode 100644 sysdeps/ia64/memccpy.S create mode 100644 sysdeps/ia64/memchr.S create mode 100644 sysdeps/ia64/memcmp.S create mode 100644 sysdeps/ia64/memcpy.S create mode 100644 sysdeps/ia64/memmove.S create mode 100644 sysdeps/ia64/memset.S create mode 100644 sysdeps/ia64/memusage.h create mode 100644 sysdeps/ia64/nptl/Makefile create mode 100644 sysdeps/ia64/nptl/pthread_spin_lock.c create mode 100644 sysdeps/ia64/nptl/pthread_spin_trylock.c create mode 100644 sysdeps/ia64/nptl/pthread_spin_unlock.c create mode 100644 sysdeps/ia64/nptl/pthreaddef.h create mode 100644 sysdeps/ia64/nptl/tcb-offsets.sym create mode 100644 sysdeps/ia64/nptl/tls.h create mode 100644 sysdeps/ia64/sched_cpucount.c create mode 100644 sysdeps/ia64/softpipe.h create mode 100644 sysdeps/ia64/stackinfo.h create mode 100644 sysdeps/ia64/strcat.c create mode 100644 sysdeps/ia64/strchr.S create mode 100644 sysdeps/ia64/strcmp.S create mode 100644 sysdeps/ia64/strcpy.S create mode 100644 sysdeps/ia64/strlen.S create mode 100644 sysdeps/ia64/strncmp.S create mode 100644 sysdeps/ia64/strncpy.S create mode 100644 sysdeps/ia64/sysdep.h create mode 100644 sysdeps/unix/sysv/linux/ia64/Implies create mode 100644 sysdeps/unix/sysv/linux/ia64/Makefile create mode 100644 sysdeps/unix/sysv/linux/ia64/Versions create mode 100644 sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S create mode 100644 sysdeps/unix/sysv/linux/ia64/__longjmp.S create mode 100644 sysdeps/unix/sysv/linux/ia64/__start_context.S create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/endian.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/fcntl.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/ipc.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/mman.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/msq.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/sem.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/setjmp.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/shm.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/sigaction.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/siginfo.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/sigstack.h create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/stat.h create mode 100644 sysdeps/unix/sysv/linux/ia64/brk.S create mode 100644 sysdeps/unix/sysv/linux/ia64/bsd-_setjmp.S create mode 100644 sysdeps/unix/sysv/linux/ia64/bsd-setjmp.S create mode 100644 sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c create mode 100644 sysdeps/unix/sysv/linux/ia64/clone.S create mode 100644 sysdeps/unix/sysv/linux/ia64/clone2.S create mode 100644 sysdeps/unix/sysv/linux/ia64/dl-brk.S create mode 100644 sysdeps/unix/sysv/linux/ia64/dl-cache.h create mode 100644 sysdeps/unix/sysv/linux/ia64/dl-static.c create mode 100644 sysdeps/unix/sysv/linux/ia64/fork.S create mode 100644 sysdeps/unix/sysv/linux/ia64/get_clockfreq.c create mode 100644 sysdeps/unix/sysv/linux/ia64/getclktck.c create mode 100644 sysdeps/unix/sysv/linux/ia64/getcontext.S create mode 100644 sysdeps/unix/sysv/linux/ia64/getpagesize.c create mode 100644 sysdeps/unix/sysv/linux/ia64/has_cpuclock.c create mode 100644 sysdeps/unix/sysv/linux/ia64/ioperm.c create mode 100644 sysdeps/unix/sysv/linux/ia64/kernel_stat.h create mode 100644 sysdeps/unix/sysv/linux/ia64/ldconfig.h create mode 100644 sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed create mode 100644 sysdeps/unix/sysv/linux/ia64/ldsodefs.h create mode 100644 sysdeps/unix/sysv/linux/ia64/makecontext.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/Makefile create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/Versions create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/__ia64_longjmp.S create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/__sigstack_longjmp.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/bits/local_lim.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/bits/semaphore.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/clone2.S create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/createthread.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/fork.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/lowlevellock.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/pt-initfini.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/pt-vfork.S create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/pthread_once.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/sysdep-cancel.h create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/timer_create.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/timer_delete.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/timer_getoverr.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/timer_gettime.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/timer_settime.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/unwind-forcedunwind.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/unwind_longjmp.c create mode 100644 sysdeps/unix/sysv/linux/ia64/nptl/vfork.S create mode 100644 sysdeps/unix/sysv/linux/ia64/pipe.S create mode 100644 sysdeps/unix/sysv/linux/ia64/profil-counter.h create mode 100644 sysdeps/unix/sysv/linux/ia64/readelflib.c create mode 100644 sysdeps/unix/sysv/linux/ia64/register-dump.h create mode 100644 sysdeps/unix/sysv/linux/ia64/rt-sysdep.S create mode 100644 sysdeps/unix/sysv/linux/ia64/setcontext.S create mode 100644 sysdeps/unix/sysv/linux/ia64/setjmp.S create mode 100644 sysdeps/unix/sysv/linux/ia64/sigaction.c create mode 100644 sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym create mode 100644 sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sigpending.c create mode 100644 sysdeps/unix/sysv/linux/ia64/sigprocmask.c create mode 100644 sysdeps/unix/sysv/linux/ia64/swapcontext.c create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/io.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/procfs.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/ptrace.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/rse.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/ucontext.h create mode 100644 sysdeps/unix/sysv/linux/ia64/sys/user.h create mode 100644 sysdeps/unix/sysv/linux/ia64/syscall.S create mode 100644 sysdeps/unix/sysv/linux/ia64/syscalls.list create mode 100644 sysdeps/unix/sysv/linux/ia64/sysconf.c create mode 100644 sysdeps/unix/sysv/linux/ia64/sysdep.S create mode 100644 sysdeps/unix/sysv/linux/ia64/sysdep.h create mode 100644 sysdeps/unix/sysv/linux/ia64/system.c create mode 100644 sysdeps/unix/sysv/linux/ia64/ucontext_i.h create mode 100644 sysdeps/unix/sysv/linux/ia64/umount.c create mode 100644 sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c create mode 100644 sysdeps/unix/sysv/linux/ia64/vfork.S create mode 100644 sysdeps/unix/sysv/linux/ia64/wordexp.c (limited to 'sysdeps') diff --git a/sysdeps/ia64/Implies b/sysdeps/ia64/Implies new file mode 100644 index 0000000000..8524257020 --- /dev/null +++ b/sysdeps/ia64/Implies @@ -0,0 +1,5 @@ +wordsize-64 +# ia64 uses IEEE 754 floating point. +ieee754/ldbl-96 +ieee754/dbl-64 +ieee754/flt-32 diff --git a/sysdeps/ia64/Makefile b/sysdeps/ia64/Makefile new file mode 100644 index 0000000000..2ea937ac9e --- /dev/null +++ b/sysdeps/ia64/Makefile @@ -0,0 +1,24 @@ +# The ia64 `long double' is a distinct type we support. +long-double-fcts = yes + +ifeq ($(subdir),gmon) +sysdep_routines += _mcount +endif + +ifeq ($(subdir), csu) +CPPFLAGS-start.S = -D__ASSEMBLY__ +sysdep_routines += hp-timing +elide-routines.os += hp-timing + +ifeq (yes,$(build-shared)) +# Compatibility +sysdep_routines += ia64libgcc +shared-only-routines += ia64libgcc +endif +endif + +ifeq ($(subdir),elf) +sysdep-dl-routines += dl-symaddr dl-fptr +sysdep_routines += $(sysdep-dl-routines) +sysdep-rtld-routines += $(sysdep-dl-routines) +endif diff --git a/sysdeps/ia64/Versions b/sysdeps/ia64/Versions new file mode 100644 index 0000000000..56b417d614 --- /dev/null +++ b/sysdeps/ia64/Versions @@ -0,0 +1,21 @@ +ld { + GLIBC_PRIVATE { + # ia64 specific functions in the dynamic linker, but used by libc.so. + _dl_symbol_address; _dl_unmap; _dl_lookup_address; + _dl_function_address; + } +} +libc { + GLIBC_2.2 { + # Functions from libgcc. + __divtf3; __divdf3; __divsf3; __divdi3; __moddi3; __udivdi3; __umoddi3; + __multi3; + } +} +libm { + GLIBC_2.1 { + # A generic bug got this omitted from other configurations' version + # sets, but we always had it. + exp2l; + } +} diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S new file mode 100644 index 0000000000..8720a9c104 --- /dev/null +++ b/sysdeps/ia64/_mcount.S @@ -0,0 +1,92 @@ +/* Machine-specific calling sequence for `mcount' profiling function. ia64 + Copyright (C) 2000 Free Software Foundation, Inc. + Contributed by David Mosberger + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* Assembly stub to invoke _mcount(). Compiler generated code calls + this stub before executing a function's prologue and without saving + any registers. It is therefore necessary to preserve the input + registers as they may contain function arguments. To work + correctly with frame-less functions, it is also necessary to + preserve the return pointer (b0 aka rp). + + State upon entering _mcount: + + r8 address of return value structure (used only when called + function returns a large structure) + r15 static link (used only for nested functions) + in0 ar.pfs to restore before returning to the function that + called _mcount + in1 gp value to restore before returning to the function that + called _mcount + in2 return address in the function that invoked the caller + of _mcount (frompc) + in3 address of the global-offset table entry that holds the + profile count dword allocated by the compiler; to get + the address of this dword, use "ld8 in2=[in2]; this + dword can be used in any way by _mcount (including + not at all, as is the case with the current implementation) + b0 address to return to after _mcount is done +*/ + +#include + +#undef ret + +LEAF(_mcount) + .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(4) + alloc loc1 = ar.pfs, 4, 4, 3, 0 + mov loc0 = rp + .body + mov loc2 = r8 // gcc uses r8 to pass pointer to return structure + ;; + mov loc3 = r15 // gcc uses r15 to pass the static link to nested functions + mov out0 = in2 + mov out1 = rp + br.call.sptk.few rp = __mcount + ;; +.here: +{ + .mii + mov gp = in1 + mov r2 = ip + mov ar.pfs = loc1 +} + ;; + adds r2 = _mcount_ret_helper - .here, r2 + mov b7 = loc0 + mov rp = in2 + ;; + mov r3 = in0 + mov r8 = loc2 + mov r15 = loc3 + mov b6 = r2 + br.ret.sptk.few b6 +END(_mcount) + +LOCAL_LEAF(_mcount_ret_helper) + .prologue + .altrp b7 + .save ar.pfs, r3 + .body + alloc r2 = ar.pfs, 0, 0, 8, 0 + mov ar.pfs = r3 + br b7 +END(_mcount_ret_helper) + +weak_alias (_mcount, mcount) diff --git a/sysdeps/ia64/abort-instr.h b/sysdeps/ia64/abort-instr.h new file mode 100644 index 0000000000..8f26f0fc2a --- /dev/null +++ b/sysdeps/ia64/abort-instr.h @@ -0,0 +1,3 @@ +/* An instruction which should crash any program is `break 0' which triggers + SIGILL. */ +#define ABORT_INSTRUCTION asm ("break 0") diff --git a/sysdeps/ia64/backtrace.c b/sysdeps/ia64/backtrace.c new file mode 100644 index 0000000000..d4ff291022 --- /dev/null +++ b/sysdeps/ia64/backtrace.c @@ -0,0 +1,133 @@ +/* Return backtrace of current program state. + Copyright (C) 2003-2005, 2007, 2009, 2011 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek , 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include +#include +#include +#include +#include + +struct trace_arg +{ + void **array; + _Unwind_Word cfa; + int cnt; + int size; +}; + +#ifdef SHARED +static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *); +static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *); +static _Unwind_Word (*unwind_getcfa) (struct _Unwind_Context *); +static void *libgcc_handle; + + +/* Dummy version in case libgcc_s does not contain the real code. */ +static _Unwind_Word +dummy_getcfa (struct _Unwind_Context *ctx __attribute__ ((unused))) +{ + return 0; +} + + +static void +init (void) +{ + libgcc_handle = __libc_dlopen ("libgcc_s.so.1"); + + if (libgcc_handle == NULL) + return; + + unwind_backtrace = __libc_dlsym (libgcc_handle, "_Unwind_Backtrace"); + unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP"); + if (unwind_getip == NULL) + unwind_backtrace = NULL; + unwind_getcfa = (__libc_dlsym (libgcc_handle, "_Unwind_GetCFA") + ?: dummy_getcfa); +} +#else +# define unwind_backtrace _Unwind_Backtrace +# define unwind_getip _Unwind_GetIP +# define unwind_getcfa _Unwind_GetCFA +#endif + +static _Unwind_Reason_Code +backtrace_helper (struct _Unwind_Context *ctx, void *a) +{ + struct trace_arg *arg = a; + + /* We are first called with address in the __backtrace function. + Skip it. */ + if (arg->cnt != -1) + { + arg->array[arg->cnt] = (void *) unwind_getip (ctx); + + /* Check whether we make any progress. */ + _Unwind_Word cfa = unwind_getcfa (ctx); + + if (arg->cnt > 0 && arg->array[arg->cnt - 1] == arg->array[arg->cnt] + && cfa == arg->cfa) + return _URC_END_OF_STACK; + arg->cfa = cfa; + } + if (++arg->cnt == arg->size) + return _URC_END_OF_STACK; + return _URC_NO_REASON; +} + +int +__backtrace (array, size) + void **array; + int size; +{ + struct trace_arg arg = { .array = array, .cfa = 0, .size = size, .cnt = -1 }; +#ifdef SHARED + __libc_once_define (static, once); + + __libc_once (once, init); + if (unwind_backtrace == NULL) + return 0; +#endif + + if (size >= 1) + unwind_backtrace (backtrace_helper, &arg); + + /* _Unwind_Backtrace on IA-64 seems to put NULL address above + _start. Fix it up here. */ + if (arg.cnt > 1 && arg.array[arg.cnt - 1] == NULL) + --arg.cnt; + return arg.cnt != -1 ? arg.cnt : 0; +} +weak_alias (__backtrace, backtrace) +libc_hidden_def (__backtrace) + + +#ifdef SHARED +/* Free all resources if necessary. */ +libc_freeres_fn (free_mem) +{ + unwind_backtrace = NULL; + if (libgcc_handle != NULL) + { + __libc_dlclose (libgcc_handle); + libgcc_handle = NULL; + } +} +#endif diff --git a/sysdeps/ia64/bcopy.S b/sysdeps/ia64/bcopy.S new file mode 100644 index 0000000000..bdabf5acdc --- /dev/null +++ b/sysdeps/ia64/bcopy.S @@ -0,0 +1,10 @@ +#include + +ENTRY(bcopy) + .regstk 3, 0, 0, 0 + mov r8 = in0 + mov in0 = in1 + ;; + mov in1 = r8 + br.cond.sptk.many HIDDEN_BUILTIN_JUMPTARGET(memmove) +END(bcopy) diff --git a/sysdeps/ia64/bits/atomic.h b/sysdeps/ia64/bits/atomic.h new file mode 100644 index 0000000000..1020c2f229 --- /dev/null +++ b/sysdeps/ia64/bits/atomic.h @@ -0,0 +1,119 @@ +/* Copyright (C) 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include +#include + +typedef int8_t atomic8_t; +typedef uint8_t uatomic8_t; +typedef int_fast8_t atomic_fast8_t; +typedef uint_fast8_t uatomic_fast8_t; + +typedef int16_t atomic16_t; +typedef uint16_t uatomic16_t; +typedef int_fast16_t atomic_fast16_t; +typedef uint_fast16_t uatomic_fast16_t; + +typedef int32_t atomic32_t; +typedef uint32_t uatomic32_t; +typedef int_fast32_t atomic_fast32_t; +typedef uint_fast32_t uatomic_fast32_t; + +typedef int64_t atomic64_t; +typedef uint64_t