diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-06-28 09:51:00 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-06-28 09:51:00 +0200 |
commit | d7d0efec47e76c022c3bcb30cdb4b0501d7a9b2a (patch) | |
tree | ca691e86a883bcdc427f1d56a6e8f0ded5a01503 | |
parent | 8208be389bce84be0e1c35a3daa0c3467418f921 (diff) | |
download | glibc-d7d0efec47e76c022c3bcb30cdb4b0501d7a9b2a.tar.gz glibc-d7d0efec47e76c022c3bcb30cdb4b0501d7a9b2a.tar.xz glibc-d7d0efec47e76c022c3bcb30cdb4b0501d7a9b2a.zip |
Linux: Define TIMER_T_WAS_INT_COMPAT in kernel-posix-timers.h
This is almost equivalent to __WORDSIZE == 64 && OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_3_3), except that this expression is true for mips64/n64 targets as well, even though those did not undergo the timer_t transition. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
8 files changed, 138 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/alpha/timer_t_was_int_compat.h new file mode 100644 index 0000000000..92840d92aa --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. alpha version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 diff --git a/sysdeps/unix/sysv/linux/ia64/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/ia64/timer_t_was_int_compat.h new file mode 100644 index 0000000000..eb7e08c7cc --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. ia64 version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 diff --git a/sysdeps/unix/sysv/linux/kernel-posix-timers.h b/sysdeps/unix/sysv/linux/kernel-posix-timers.h index 17fc32d48f..86aa8a2ded 100644 --- a/sysdeps/unix/sysv/linux/kernel-posix-timers.h +++ b/sysdeps/unix/sysv/linux/kernel-posix-timers.h @@ -103,3 +103,7 @@ timerid_to_kernel_timer (timer_t timerid) else return (kernel_timer_t) ((uintptr_t) timerid); } + +/* New targets use int instead of timer_t. The difference only + matters on 64-bit targets. */ +#include <timer_t_was_int_compat.h> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_t_was_int_compat.h new file mode 100644 index 0000000000..dbb52c13d9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. powerpc64 version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/s390/s390-64/timer_t_was_int_compat.h new file mode 100644 index 0000000000..4ec28a2f9d --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/s390-64/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. s390x version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_t_was_int_compat.h new file mode 100644 index 0000000000..f4bacb63bb --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. sparc64 version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 diff --git a/sysdeps/unix/sysv/linux/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/timer_t_was_int_compat.h new file mode 100644 index 0000000000..b1c7dd7354 --- /dev/null +++ b/sysdeps/unix/sysv/linux/timer_t_was_int_compat.h @@ -0,0 +1,20 @@ +/* timer_t/int compatibility transition. Generic version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +/* timer_t did not change size (from int to a pointer type). */ +#define TIMER_T_WAS_INT_COMPAT 0 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/timer_t_was_int_compat.h b/sysdeps/unix/sysv/linux/x86_64/64/timer_t_was_int_compat.h new file mode 100644 index 0000000000..9071028624 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/64/timer_t_was_int_compat.h @@ -0,0 +1,19 @@ +/* timer_t/int compatibility transition. x86_64 version. + Copyright (C) 2021 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +#define TIMER_T_WAS_INT_COMPAT 1 |