This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/21289] New: Incorrect declaration for 32-bit platforms with _FILE_OFFSET_BITS=64 causes build error
- From: "rayslava at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 22 Mar 2017 14:48:44 +0000
- Subject: [Bug libc/21289] New: Incorrect declaration for 32-bit platforms with _FILE_OFFSET_BITS=64 causes build error
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=21289
Bug ID: 21289
Summary: Incorrect declaration for 32-bit platforms with
_FILE_OFFSET_BITS=64 causes build error
Product: glibc
Version: 2.26
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: rayslava at gmail dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
Created attachment 9929
--> https://sourceware.org/bugzilla/attachment.cgi?id=9929&action=edit
patch proposal
During compilation of libabigail for 32-bit platforms (tried i686 and armv7l)
the following issue happens:
g++ -DHAVE_CONFIG_H -I. -I.. -I/elfutils/usr/include -fvisibility=hidden
-I/libabigail-1.0/include -I/libabigail-1.0/tools -fPIC -O2 -g2 -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security
-fmessage-length=0 -Wl,--as-needed -feliminate-unused-debug-types
--param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686
-mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables
-fno-omit-frame-pointer -g -c -o abipkgdiff.o abipkgdiff.cc
In file included from /usr/include/features.h:368:0,
from
/usr/lib/gcc/i586-tizen-linux-gnu/6.3.1/include/c++/i586-tizen-linux-gnu/bits/os_defines.h:39,
from
/usr/lib/gcc/i586-tizen-linux-gnu/6.3.1/include/c++/i586-tizen-linux-gnu/bits/c++config.h:507,
from
/usr/lib/gcc/i586-tizen-linux-gnu/6.3.1/include/c++/iostream:38,
from abipkgdiff.cc:63:
/usr/include/fts.h:196:62: error: expected initializer before 'throw'
int __REDIRECT (fts_set, (FTS *, FTSENT *, int), fts64_set) __THROW;
Investigation shows that for this configuration preprocessor generates line
int fts_set (FTS *, FTSENT *, int) __asm__ ("" "fts64_set") throw ();
which causes the error. But the line
int fts_set (FTS *, FTSENT *, int) throw () __asm__ ("" "fts64_set");
compiles successfully though and assembly from `gcc -S' shows that label is set
to fts64_set. Using __REDIRECT_NTH instead of __REDIRECT worked for me,
generating the right declaration.
--
You are receiving this mail because:
You are on the CC list for the bug.