diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/symbol-hacks.h | 21 | ||||
-rw-r--r-- | sysdeps/m68k/symbol-hacks.h | 21 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/symbol-hacks.h | 21 | ||||
-rw-r--r-- | sysdeps/s390/s390-32/symbol-hacks.h | 21 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/Makefile | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/Makefile | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-32/Makefile | 8 | ||||
-rw-r--r-- | sysdeps/wordsize-32/Makefile | 7 | ||||
-rw-r--r-- | sysdeps/wordsize-32/divdi3-symbol-hacks.h (renamed from sysdeps/wordsize-32/symbol-hacks.h) | 8 |
10 files changed, 114 insertions, 11 deletions
diff --git a/sysdeps/i386/symbol-hacks.h b/sysdeps/i386/symbol-hacks.h new file mode 100644 index 0000000000..36a13c83f7 --- /dev/null +++ b/sysdeps/i386/symbol-hacks.h @@ -0,0 +1,21 @@ +/* Hacks needed for symbol manipulation. i386 version. + Copyright (C) 2017 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, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> + +#include_next "symbol-hacks.h" diff --git a/sysdeps/m68k/symbol-hacks.h b/sysdeps/m68k/symbol-hacks.h new file mode 100644 index 0000000000..e449d29810 --- /dev/null +++ b/sysdeps/m68k/symbol-hacks.h @@ -0,0 +1,21 @@ +/* Hacks needed for symbol manipulation. m68k version. + Copyright (C) 2017 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, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> + +#include_next "symbol-hacks.h" diff --git a/sysdeps/powerpc/powerpc32/symbol-hacks.h b/sysdeps/powerpc/powerpc32/symbol-hacks.h new file mode 100644 index 0000000000..dbb3141621 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/symbol-hacks.h @@ -0,0 +1,21 @@ +/* Hacks needed for symbol manipulation. powerpc version. + Copyright (C) 2017 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, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> + +#include_next "symbol-hacks.h" diff --git a/sysdeps/s390/s390-32/symbol-hacks.h b/sysdeps/s390/s390-32/symbol-hacks.h new file mode 100644 index 0000000000..585c42365a --- /dev/null +++ b/sysdeps/s390/s390-32/symbol-hacks.h @@ -0,0 +1,21 @@ +/* Hacks needed for symbol manipulation. s390 version. + Copyright (C) 2017 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, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> + +#include_next "symbol-hacks.h" diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile index 6aac0dfe15..4080b8c966 100644 --- a/sysdeps/unix/sysv/linux/i386/Makefile +++ b/sysdeps/unix/sysv/linux/i386/Makefile @@ -26,6 +26,11 @@ endif ifeq ($(subdir),csu) sysdep-dl-routines += sysdep +ifeq (yes,$(build-shared)) +sysdep_routines += divdi3 +shared-only-routines += divdi3 +CPPFLAGS-divdi3.c = -Din_divdi3_c +endif endif ifeq ($(subdir),nptl) diff --git a/sysdeps/unix/sysv/linux/m68k/Makefile b/sysdeps/unix/sysv/linux/m68k/Makefile index 5c50ce6927..ce1f696a6f 100644 --- a/sysdeps/unix/sysv/linux/m68k/Makefile +++ b/sysdeps/unix/sysv/linux/m68k/Makefile @@ -4,6 +4,11 @@ m68k-syntax-flag = -DMOTOROLA_SYNTAX ifeq ($(subdir),csu) sysdep_routines += m68k-helpers +ifeq (yes,$(build-shared)) +sysdep_routines += divdi3 +shared-only-routines += divdi3 +CPPFLAGS-divdi3.c = -Din_divdi3_c +endif endif ifeq ($(subdir),misc) diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile index 3d6c150582..1f45659ed1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile @@ -1,2 +1,10 @@ # See Makeconfig regarding the use of default-abi. default-abi := 32 + +ifeq ($(subdir),csu) +ifeq (yes,$(build-shared)) +sysdep_routines += divdi3 +shared-only-routines += divdi3 +CPPFLAGS-divdi3.c = -Din_divdi3_c +endif +endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile index da3b3c76b4..fd8cf92633 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile +++ b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile @@ -21,3 +21,11 @@ endif ifeq ($(subdir),stdlib) sysdep_routines += __makecontext_ret endif + +ifeq ($(subdir),csu) +ifeq (yes,$(build-shared)) +sysdep_routines += divdi3 +shared-only-routines += divdi3 +CPPFLAGS-divdi3.c = -Din_divdi3_c +endif +endif diff --git a/sysdeps/wordsize-32/Makefile b/sysdeps/wordsize-32/Makefile deleted file mode 100644 index 82beac44ed..0000000000 --- a/sysdeps/wordsize-32/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -ifeq ($(subdir),csu) -ifeq (yes,$(build-shared)) -sysdep_routines += divdi3 -shared-only-routines += divdi3 -CPPFLAGS-divdi3.c = -Din_divdi3_c -endif -endif diff --git a/sysdeps/wordsize-32/symbol-hacks.h b/sysdeps/wordsize-32/divdi3-symbol-hacks.h index 0aec1e0b97..6c90cb796d 100644 --- a/sysdeps/wordsize-32/symbol-hacks.h +++ b/sysdeps/wordsize-32/divdi3-symbol-hacks.h @@ -1,4 +1,4 @@ -/* Hacks needed for symbol manipulation. +/* Hacks needed for divdi3 symbol manipulation. Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,13 +16,13 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#include_next "symbol-hacks.h" - /* A very dirty trick: gcc emits references to __divdi3, __udivdi3, __moddi3, and __umoddi3. These functions are exported and therefore we get PLTs. Unnecessarily so. Changing gcc is a big task which might not be worth it so we play tricks with the - assembler. */ + assembler. + Note: in_divdi3_c is only used to avoid symbol alias on divdi3 + build itself. */ #if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED asm ("__divdi3 = __divdi3_internal"); asm ("__udivdi3 = __udivdi3_internal"); |