Relocate hppa from ports to libc.

This commit is contained in:
Carlos O'Donell 2014-04-29 03:08:48 -04:00
parent 4e4a58f4ee
commit 5abebba403
152 changed files with 41 additions and 61 deletions

View File

@ -1,3 +1,10 @@
2014-05-29 Carlos O'Donell <carlos@systemhalted.org>
* sysdeps/hppa: Move directory from ports/sysdeps/hppa.
* sysdeps/unix/sysv/linux/hppa: Move directory from
ports/systeps/unix/sysv/linux/hppa.
* README: Update listing for hppa-*-linux-gnu.
2014-04-28 Ondřej Bílka <neleai@seznam.cz>
[BZ #16754]

3
README
View File

@ -27,6 +27,7 @@ The GNU C Library supports these configurations for using Linux kernels:
aarch64*-*-linux-gnu
alpha*-*-linux-gnu
arm-*-linux-gnueabi
hppa-*-linux-gnu Not currently functional without patches.
i[4567]86-*-linux-gnu
x86_64-*-linux-gnu Can build either x86_64 or x32
ia64-*-linux-gnu
@ -48,8 +49,6 @@ The code for other CPU configurations supported by volunteers outside of
the core glibc maintenance effort is contained in the `ports' add-on,
located in the `ports' subdirectory of the source tree.
hppa-*-linux-gnu Not currently functional without patches.
If you are interested in doing a port, please contact the glibc
maintainers; see http://www.gnu.org/software/libc/ for more
information.

View File

@ -41,5 +41,4 @@ endif
# We implement a 64-bit `long double'. The standard says we can do this.
# This means our `long double' and `double' are identical.
long-double-fcts = no
long-double-fcts = no

View File

@ -77,4 +77,3 @@ _fini:
stwm %r4,64(%sp)
stw %r19,-32(%sp)
copy %r19,%r4

View File

@ -85,4 +85,3 @@ _end_fini:
.extern _fini
.word _fini, _end_fini
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08

View File

@ -80,4 +80,3 @@ void _dl_unmap (struct link_map *map);
#define DL_FIXUP_VALUE_CODE_ADDR(value) ((value).ip)
#define DL_FIXUP_VALUE_ADDR(value) ((uintptr_t) &(value))
#define DL_FIXUP_ADDR_VALUE(addr) (*(struct fdesc *) (addr))

View File

@ -467,7 +467,7 @@ asm ( \
of the main executable's symbols, as for a COPY reloc. */
#if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD)
# define elf_machine_type_class(type) \
((((type) == R_PARISC_IPLT \
((((type) == R_PARISC_IPLT \
|| (type) == R_PARISC_EPLT \
|| (type) == R_PARISC_TLS_DTPMOD32 \
|| (type) == R_PARISC_TLS_DTPOFF32 \
@ -475,7 +475,7 @@ asm ( \
* ELF_RTYPE_CLASS_PLT) \
| (((type) == R_PARISC_COPY) * ELF_RTYPE_CLASS_COPY))
#else
#define elf_machine_type_class(type) \
#define elf_machine_type_class(type) \
((((type) == R_PARISC_IPLT \
|| (type) == R_PARISC_EPLT) \
* ELF_RTYPE_CLASS_PLT) \
@ -527,7 +527,7 @@ dl_platform_init (void)
auto void __attribute__((always_inline))
elf_machine_rela (struct link_map *map,
const Elf32_Rela *reloc,
const Elf32_Rela *reloc,
const Elf32_Sym *sym,
const struct r_found_version *version,
void *const reloc_addr_arg,
@ -653,13 +653,13 @@ elf_machine_rela (struct link_map *map,
if (__builtin_expect (sym_map != NULL, 1))
{
elf_machine_fixup_plt (NULL, sym_map, reloc, reloc_addr,
DL_FIXUP_MAKE_VALUE(sym_map, value));
DL_FIXUP_MAKE_VALUE(sym_map, value));
}
else
{
/* If we get here, it's a (weak) undefined sym. */
elf_machine_fixup_plt (NULL, map, reloc, reloc_addr,
DL_FIXUP_MAKE_VALUE(map, value));
DL_FIXUP_MAKE_VALUE(map, value));
}
return;

View File

@ -51,7 +51,7 @@ _dl_runtime_resolve:
/* Save static link register */
stw %r29,-16(%sp)
/* Save argument registers */
/* Save argument registers */
stw %r26,-36(%sp)
stw %r25,-40(%sp)
stw %r24,-44(%sp)
@ -74,11 +74,11 @@ _dl_runtime_resolve:
fstd,ma %fr6,-8(%r1)
fstd,ma %fr7,-8(%r1)
/* Set up args to fixup func, needs only two arguments */
/* Set up args to fixup func, needs only two arguments */
ldw 8+4(%r20),%r26 /* (1) got[1] == struct link_map */
copy %r19,%r25 /* (2) reloc offset */
/* Call the real address resolver. */
/* Call the real address resolver. */
bl _dl_fixup,%rp
copy %r21,%r19 /* set fixup func ltp */
@ -164,7 +164,7 @@ _dl_runtime_profile:
stw %r2,-52(%sp)
/* Set up args to fixup func, needs five arguments */
/* Set up args to fixup func, needs five arguments */
ldw 8+4(%r20),%r26 /* (1) got[1] == struct link_map */
stw %r26,-116(%sp) /* Save struct link_map */
copy %r19,%r25 /* (2) reloc offset */
@ -174,7 +174,7 @@ _dl_runtime_profile:
ldo -112(%sp), %r1
stw %r1, -52(%sp) /* (5) long int *framesizep */
/* Call the real address resolver. */
/* Call the real address resolver. */
bl _dl_profile_fixup,%rp
copy %r21,%r19 /* set fixup func ltp */
@ -255,7 +255,7 @@ L(cont):
/* Arguments to _dl_call_pltexit */
ldw -116(%sp), %r26 /* (1) got[1] == struct link_map */
ldw -120(%sp), %r25 /* (2) reloc offsets */
ldw -120(%sp), %r25 /* (2) reloc offsets */
ldo -56(%sp), %r24 /* (3) *La_hppa_regs */
ldo -124(%sp), %r23 /* (4) *La_hppa_retval */
@ -285,4 +285,3 @@ L(cont):
.PROCEND
cfi_endproc
.size _dl_runtime_profile, . - _dl_runtime_profile

View File

@ -36,4 +36,3 @@ typedef double double_t; /* `double' expressions are evaluated as
/* On hppa `long double' is 64-bits. */
#undef __NO_LONG_DOUBLE_MATH

View File

@ -27,7 +27,7 @@ fegetexcept (void)
/* Get the current status word. */
__asm__ ("fstd %%fr0,0(%1) \n\t"
"fldd 0(%1),%%fr0 \n\t"
: "=m" (s.l) : "r" (&s.l) : "%r0");
: "=m" (s.l) : "r" (&s.l) : "%r0");
return (s.sw[0] & FE_ALL_EXCEPT);
}

View File

@ -51,4 +51,3 @@ feholdexcept (fenv_t *envp)
}
libm_hidden_def (feholdexcept)

View File

@ -27,11 +27,10 @@ fegetexceptflag (fexcept_t *flagp, int excepts)
/* Get the current status word. */
__asm__ ("fstd %%fr0,0(%1) \n\t"
"fldd 0(%1),%%fr0 \n\t"
: "=m" (s.l) : "r" (&s.l) : "%r0");
: "=m" (s.l) : "r" (&s.l) : "%r0");
*flagp = (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT;
/* Success. */
return 0;
}

View File

@ -27,7 +27,7 @@ fetestexcept (int excepts)
/* Get the current status word. */
__asm__ ("fstd %%fr0,0(%1) \n\t"
"fldd 0(%1),%%fr0 \n\t"
: "=m" (s.l) : "r" (&s.l));
: "=m" (s.l) : "r" (&s.l));
return (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT;
}

View File

@ -34,4 +34,3 @@ __tls_get_addr (tls_index *ti)
}
#endif

View File

@ -85,7 +85,7 @@ typedef struct
/* Install new dtv for current thread. */
# define INSTALL_NEW_DTV(dtv) \
({ tcbhead_t *__tcbp = (tcbhead_t *)__get_cr27(); \
__tcbp->dtv = dtv; \
__tcbp->dtv = dtv; \
})
/* Return dtv of given thread descriptor. */
@ -101,14 +101,14 @@ typedef struct
/* Return the address of the dtv for the current thread. */
# define THREAD_DTV() \
({ tcbhead_t *__tcbp = (tcbhead_t *)__get_cr27(); \
__tcbp->dtv; \
__tcbp->dtv; \
})
/* Return the thread descriptor for the current thread. */
# define THREAD_SELF \
({ struct pthread *__self; \
__self = __get_cr27(); \
__self - 1; \
__self - 1; \
})
/* Magic for libthread_db to know how to do THREAD_SELF.

View File

@ -112,4 +112,3 @@
__result; \
})
#endif

View File

@ -2,4 +2,3 @@
ifeq ($(subdir),stdlib)
gen-as-const-headers += ucontext_i.sym
endif

View File

@ -61,7 +61,7 @@ typedef uintmax_t uatomic_max_t;
#if __ASSUME_LWS_CAS
/* The only basic operation needed is compare and exchange. */
# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
({ \
volatile int lws_errno; \
volatile int lws_ret; \
@ -80,18 +80,18 @@ typedef uintmax_t uatomic_max_t;
"nop \n\t" \
"stw %%r28, %0 \n\t" \
"stw %%r21, %1 \n\t" \
: "=m" (lws_ret), "=m" (lws_errno) \
: "=m" (lws_ret), "=m" (lws_errno) \
: "r" (mem), "r" (oldval), "r" (newval) \
: _LWS_CLOBBER \
); \
\
\
if(lws_errno == -EFAULT || lws_errno == -ENOSYS) \
ABORT_INSTRUCTION; \
\
ABORT_INSTRUCTION; \
\
lws_ret; \
})
# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
({ \
int ret; \
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \

Some files were not shown because too many files have changed in this diff Show More