diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-01-08 10:21:17 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-01-08 17:09:36 -0300 |
commit | 460860f457e2a889785c506e8c77d4a7dff24d3e (patch) | |
tree | 02d5f760aa8ebee152f3acc4ae564348d57d3528 /nptl | |
parent | e171ad7d596878d0d4f21a0713d8dbb8d8788d7e (diff) | |
download | glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.gz glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.bz2 glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.zip |
Remove ia64-linux-gnu
Linux 6.7 removed ia64 from the official tree [1], following the general
principle that a glibc port needs upstream support for the architecture
in all the components it depends on (binutils, GCC, and the Linux
kernel).
Apart from the removal of sysdeps/ia64 and sysdeps/unix/sysv/linux/ia64,
there are updates to various comments referencing ia64 for which removal
of those references seemed appropriate. The configuration is removed
from README and build-many-glibcs.py.
The CONTRIBUTED-BY, elf/elf.h, manual/contrib.texi (the porting
mention), *.po files, config.guess, and longlong.h are not changed.
For Linux it allows cleanup some clone2 support on multiple files.
The following bug can be closed as WONTFIX: BZ 22634 [2], BZ 14250 [3],
BZ 21634 [4], BZ 10163 [5], BZ 16401 [6], and BZ 11585 [7].
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43ff221426d33db909f7159fdf620c3b052e2d1c
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=22634
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=14250
[4] https://sourceware.org/bugzilla/show_bug.cgi?id=21634
[5] https://sourceware.org/bugzilla/show_bug.cgi?id=10163
[6] https://sourceware.org/bugzilla/show_bug.cgi?id=16401
[7] https://sourceware.org/bugzilla/show_bug.cgi?id=11585
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/allocatestack.c | 24 | ||||
-rw-r--r-- | nptl/perf.c | 2 |
2 files changed, 5 insertions, 21 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 606f246094..f35a8369bd 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -150,9 +150,7 @@ __attribute ((always_inline)) guard_position (void *mem, size_t size, size_t guardsize, struct pthread *pd, size_t pagesize_m1) { -#ifdef NEED_SEPARATE_REGISTER_STACK - return mem + (((size - guardsize) / 2) & ~pagesize_m1); -#elif _STACK_GROWS_DOWN +#if _STACK_GROWS_DOWN return mem; #elif _STACK_GROWS_UP return (char *) (((uintptr_t) pd - guardsize) & ~pagesize_m1); @@ -166,7 +164,7 @@ setup_stack_prot (char *mem, size_t size, char *guard, size_t guardsize, const int prot) { char *guardend = guard + guardsize; -#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK) +#if _STACK_GROWS_DOWN /* As defined at guard_position, for architectures with downward stack the guard page is always at start of the allocated area. */ if (__mprotect (guardend, size - guardsize, prot) != 0) @@ -189,7 +187,7 @@ advise_stack_range (void *mem, size_t size, uintptr_t pd, size_t guardsize) { uintptr_t sp = (uintptr_t) CURRENT_STACK_FRAME; size_t pagesize_m1 = __getpagesize () - 1; -#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK) +#if _STACK_GROWS_DOWN size_t freesize = (sp - (uintptr_t) mem) & ~pagesize_m1; assert (freesize < size); if (freesize > PTHREAD_STACK_MIN) @@ -510,19 +508,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, { /* The old guard area is too large. */ -#ifdef NEED_SEPARATE_REGISTER_STACK - char *guard = mem + (((size - guardsize) / 2) & ~pagesize_m1); - char *oldguard = mem + (((size - pd->guardsize) / 2) & ~pagesize_m1); - - if (oldguard < guard - && __mprotect (oldguard, guard - oldguard, prot) != 0) - goto mprot_error; - - if (__mprotect (guard + guardsize, - oldguard + pd->guardsize - guard - guardsize, - prot) != 0) - goto mprot_error; -#elif _STACK_GROWS_DOWN +#if _STACK_GROWS_DOWN if (__mprotect ((char *) mem + guardsize, pd->guardsize - guardsize, prot) != 0) goto mprot_error; @@ -599,7 +585,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, static void name_stack_maps (struct pthread *pd, bool set) { -#if _STACK_GROWS_DOWN && !defined(NEED_SEPARATE_REGISTER_STACK) +#if _STACK_GROWS_DOWN void *stack = pd->stackblock + pd->guardsize; #else void *stack = pd->stackblock; diff --git a/nptl/perf.c b/nptl/perf.c index 47d75fea69..b587211f04 100644 --- a/nptl/perf.c +++ b/nptl/perf.c @@ -708,8 +708,6 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id) ({ unsigned int _hi, _lo; \ asm volatile ("rdtsc" : "=a" (_lo), "=d" (_hi)); \ (Var) = ((unsigned long long int) _hi << 32) | _lo; }) -#elif defined __ia64__ -#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("mov %0=ar.itc" : "=r" (Var) : : "memory") #else #error "HP_TIMING_NOW missing" #endif |