This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/19462] New: Glibc failed to build with -Os


https://sourceware.org/bugzilla/show_bug.cgi?id=19462

            Bug ID: 19462
           Summary: Glibc failed to build with -Os
           Product: glibc
           Version: 2.23
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
                CC: drepper.fsp at gmail dot com
  Target Milestone: ---

On x86-64:

gcc gconv_simple.c -c -std=gnu11 -fgnu89-inline  -Os -Wall -Werror -Wundef
-Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes
-Wold-style-definition   -fPIC   -ftls-model=initial-exec      -I../include
-I/export/build/gnu/glibc-test/build-x86_64-linux/iconv 
-I/export/build/gnu/glibc-test/build-x86_64-linux 
-I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64 
-I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/unix/sysv/linux/wordsize-64 
-I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread 
-I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv 
-I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix 
-I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch 
-I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu 
-I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86 
-I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64 
-I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32 
-I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I..
-I../libio -I.   -D_LIBC_REENTRANT -include
/export/build/gnu/glibc-test/build-x86_64-linux/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -o
/export/build/gnu/glibc-test/build-x86_64-linux/iconv/gconv_simple.os -MD -MP
-MF /export/build/gnu/glibc-test/build-x86_64-linux/iconv/gconv_simple.os.dt
-MT /export/build/gnu/glibc-test/build-x86_64-linux/iconv/gconv_simple.os
gconv_simple.c:116:6: error: "_STRING_ARCH_unaligned" is not defined
[-Werror=undef]
 #if !_STRING_ARCH_unaligned
      ^
In file included from gconv_simple.c:213:0:
../iconv/skeleton.c:206:5: error: "_STRING_ARCH_unaligned" is not defined
[-Werror=undef]
 #if _STRING_ARCH_unaligned
     ^
../iconv/skeleton.c: In function â__gconv_transform_internal_ucs4â:
../iconv/skeleton.c:526:5: error: "_STRING_ARCH_unaligned" is not defined
[-Werror=undef]
   (!_STRING_ARCH_unaligned                   \
     ^
../iconv/skeleton.c:535:5: note: in expansion of macro âPOSSIBLY_UNALIGNEDâ
 #if POSSIBLY_UNALIGNED
     ^
../iconv/skeleton.c:526:5: error: "_STRING_ARCH_unaligned" is not defined
[-Werror=undef]
   (!_STRING_ARCH_unaligned                   \
     ^

_STRING_ARCH_unaligned is defined in <bits/string.h>.  But string/string.h
has

#if defined __GNUC__ && __GNUC__ >= 2
# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
     && !defined __NO_INLINE__ && !defined __cplusplus
/* When using GNU CC we provide some optimized versions of selected
   functions from this header.  There are two kinds of optimizations:

   - machine-dependent optimizations, most probably using inline
     assembler code; these might be quite expensive since the code
     size can increase significantly.
     These optimizations are not used unless the symbol
        __USE_STRING_INLINES
     is defined before including this header.

   - machine-independent optimizations which do not increase the
     code size significantly and which optimize mainly situations
     where one or more arguments are compile-time constants.
     These optimizations are used always when the compiler is
     taught to optimize.

   One can inhibit all optimizations by defining __NO_STRING_INLINES.  */

/* Get the machine-dependent optimizations (if any).  */
#  include <bits/string.h>

/* These are generic optimizations which do not add too much inline code.  */
#  include <bits/string2.h>
# endif

# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
/* Functions with security checks.  */
#  include <bits/string3.h>
# endif
#endif

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]