[4/7] ldbl-128ibm-compat: fixup subdir location of several funcs

Message ID 20200214161051.32579-5-murphyp@linux.vnet.ibm.com
State Committed
Headers

Commit Message

Paul E. Murphy Feb. 14, 2020, 4:10 p.m. UTC
  We want to ensure that if a second file is built to support
ieee128 long double, we built it's companion implementation
with ibm128 long double.  The shared object versions of these
files build correctly because the aliasing is sufficiently
complex to prevent the redirects from applying when defining
them.

However, this does not prevent the static object variants
from becoming quietly broken due to redirects.  This is
intentionally avoided by marking such objects to be built
with -mabi=ibmlongdouble.

Shuffle the misplaced routines to build against the subdir
which defines the needed symbols.
---
 sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 32 ++++++++++-----------
 1 file changed, 16 insertions(+), 16 deletions(-)
  

Comments

Paul E Murphy Feb. 21, 2020, 2:34 p.m. UTC | #1
While it was tested against build-many-glibcs.py, this doesn't
actually build yet.  I tested this locally for whatever that is
worth.

Pushed typo fix in comments: "it's" -> "its".

On 2/14/20 10:10 AM, Paul E. Murphy wrote:
> We want to ensure that if a second file is built to support
> ieee128 long double, we built it's companion implementation
> with ibm128 long double.  The shared object versions of these
> files build correctly because the aliasing is sufficiently
> complex to prevent the redirects from applying when defining
> them.
> 
> However, this does not prevent the static object variants
> from becoming quietly broken due to redirects.  This is
> intentionally avoided by marking such objects to be built
> with -mabi=ibmlongdouble.
> 
> Shuffle the misplaced routines to build against the subdir
> which defines the needed symbols.
> ---
>   sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 32 ++++++++++-----------
>   1 file changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> index 2dceb658e7..e40ae08469 100644
> --- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
  

Patch

diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
index 2dceb658e7..e40ae08469 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
@@ -1,9 +1,21 @@ 
 ifeq ($(subdir),libio)
 ldbl-extra-routines += fwscanf \
+		       fwprintf \
+		       obprintf \
 		       swscanf \
+		       swprintf \
 		       wscanf \
+		       vasprintf \
+		       vdprintf \
+		       vscanf \
+		       vsprintf \
+		       vsnprintf \
+		       vsscanf \
+		       vswprintf \
 		       vswscanf \
-		       vwscanf
+		       vwprintf \
+		       vwscanf \
+		       wprintf
 endif
 
 ifeq ($(subdir),wcsmbs)
@@ -29,28 +41,14 @@  ldbl-extra-routines += printf_size \
 		       printf \
 		       snprintf \
 		       sprintf \
-		       vasprintf \
-		       vdprintf \
 		       vfprintf \
 		       vprintf \
-		       vsnprintf \
-		       vsprintf \
-		       fwprintf \
-		       swprintf \
-		       wprintf \
 		       vfwprintf \
-		       vswprintf \
-		       vwprintf \
 		       fscanf \
 		       scanf \
 		       sscanf \
 		       vfscanf \
-		       vscanf \
-		       vsscanf \
 		       vfwscanf \
-		       obprintf \
-		       obstack_chk \
-		       vobstack_chk \
 		       isoc99_fscanf \
 		       isoc99_scanf \
 		       isoc99_sscanf \
@@ -211,7 +209,9 @@  ldbl-extra-routines += asprintf_chk \
 		       wprintf_chk \
 		       vfwprintf_chk \
 		       vswprintf_chk \
-		       vwprintf_chk
+		       vwprintf_chk \
+		       obstack_chk \
+		       vobstack_chk
 
 tests-internal += test-printf-chk-ieee128 test-printf-chk-ibm128
 CFLAGS-test-printf-chk-ieee128.c += -mfloat128 -mabi=ieeelongdouble -Wno-psabi