|
Message-ID: <CAH=yU0aQ1BTdN3J5_bVxM3-KO_sb8WKaZsR3wVNvJy-9EohKEA@mail.gmail.com>
Date: Sat, 13 Oct 2018 17:47:50 -0400
From: K Jelesnianski <kjski@...edu>
To: musl@...ts.openwall.com
Subject: compiling SPECCPU2006 against Musl
Dear mailing list,
I am curious if anyone has any insight on how to link the SPECCPU2006
benchmarks against Lusl Libc. Reading FAQ I saw that Musl does *not* have
C++ support out of the box but can still "hopefully" work in some cases
against glibstdc++
I havent found any resources or guides on-line of people doing this.
Anyways I am only focusing on the C implementation SPEC benchmarks and out
of this subset I was still only able to compile a few. The following do not
compile against MUSL:
400.perlbench
403.gcc
462.libquantum
I tried to use both clang 6.0.0 and gcc and got the following error below
(Dump at end of email). Any thoughts?
for perlbench - at first was "undefined reference to __isnan" but then
after adding -I/path/to/musl/install/include I got even more errors. I am
using the -std=gnu89 flag since this was how SPEC documented its fix for a
multiple definition error. The other 2 benchmarks show similar errors.
Sincerely,
K Jelesnianski
Error Dump for perlbench:
clang -c -o perlio.o -DSPEC_CPU -DNDEBUG -DPERL_CORE -O2
-fno-strict-aliasing -g -fPIC -fomit-frame-pointer
-I/home/c/workspace/research/mardu/bin/include -DSPEC_CPU_LP64
-DSPEC_CPU_LINUX_X64 -std=gnu89 perlio.c
In file included from perlio.c:50:
In file included from ./perl.h:384:
In file included from
/home/c/workspace/research/mardu/bin/include/sys/types.h:70:
/home/c/workspace/research/mardu/bin/include/endian.h:32:25: warning:
'&' within '|' [-Wbitwise-op-parentheses]
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
~ ~~~~~~^~~~~~~
/home/c/workspace/research/mardu/bin/include/endian.h:32:25: note:
place parentheses around the '&' expression to silence this warning
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
^
( )
/home/c/workspace/research/mardu/bin/include/endian.h:32:41: warning:
'&' within '|' [-Wbitwise-op-parentheses]
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
~ ~~~~~~^~~~~~~~~
/home/c/workspace/research/mardu/bin/include/endian.h:32:41: note:
place parentheses around the '&' expression to silence this warning
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
^
( )
/home/c/workspace/research/mardu/bin/include/endian.h:37:23: warning:
operator '<<' has lower precedence than '+'; '+' will be evaluated
first [-Wshift-op-parentheses]
return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
~~~~~~~~~~~~~~^~~~~~~
/home/c/workspace/research/mardu/bin/include/endian.h:37:23: note:
place parentheses around the '+' expression to silence this warning
return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
^
( )
perlio.c:2308:21: error: use of undeclared identifier 'O_TRUNC'; did
you mean 'OP_TRANS'?
oflags = O_CREAT | O_TRUNC;
^~~~~~~
OP_TRANS
./opnames.h:51:2: note: 'OP_TRANS' declared here
OP_TRANS, /* 35 */
^
perlio.c:2318:21: error: use of undeclared identifier 'O_APPEND'
oflags = O_CREAT | O_APPEND;
^
perlio.c:3046:28: error: incomplete definition of type 'struct _IO_FILE'
STDCHAR *eptr = (STDCHAR*)PerlSIO_get_ptr(s);
^~~~~~~~~~~~~~~~~~
./iperlsys.h:305:29: note: expanded from macro 'PerlSIO_get_ptr'
#define PerlSIO_get_ptr(f) FILE_ptr(f)
^~~~~~~~~~~
./spec_config.h:814:30: note: expanded from macro 'FILE_ptr'
# define FILE_ptr(fp) ((fp)->_IO_read_ptr)
~~~~^
/home/c/workspace/research/mardu/bin/include/bits/alltypes.h:356:16:
note: forward declaration of 'struct _IO_FILE'
typedef struct _IO_FILE FILE;
^
perlio.c:3054:20: error: incomplete definition of type 'struct _IO_FILE'
if ((STDCHAR*)PerlSIO_get_ptr(s) != --eptr || ((*eptr &
0xFF) != ch)) {
^~~~~~~~~~~~~~~~~~
./iperlsys.h:305:29: note: expanded from macro 'PerlSIO_get_ptr'
#define PerlSIO_get_ptr(f) FILE_ptr(f)
^~~~~~~~~~~
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.