Hi folks, I'm new to this list any advice is well received.
I'm trying to cross-compile libuv as a shared library for an embedded
device with mipsel/uclibc toolchain.
My build enviroment is the following:
- Windows XP / Mingw32
- The toolchain is provided by vendor: "mipsel-linux-uclibc--" (cygwin)
- mipsel-linux-uclibc-gcc --version: 3.4.6.
I'm getting the following errors:
--- OUTPUT BEGIN --
mipsel-linux-uclibc-gcc -Wall -Wextra -Wno-unused-parameter -Iinclude
-Isrc -Isrc/unix -D_GNU_SOURCE -c -o src/unix/async.o src/unix/async.c
In file included from src/unix/async.c:27:
src/unix/atomic-ops.h: In function `cmpxchgi':
src/unix/atomic-ops.h:46: warning: implicit declaration of function
`__sync_val_compare_and_swap'
mipsel-linux-uclibc-gcc -Wall -Wextra -Wno-unused-parameter -Iinclude
-Isrc -Isrc/unix -D_GNU_SOURCE -c -o src/unix/thread.o src/unix/thread.c
src/unix/thread.c: In function `uv_cond_init':
src/unix/thread.c:340: warning: implicit declaration of function
`pthread_condattr_setclock'
src/unix/thread.c: In function `uv_barrier_init':
src/unix/thread.c:487: warning: implicit declaration of function
`pthread_barrier_init'
src/unix/thread.c: In function `uv_barrier_destroy':
src/unix/thread.c:492: warning: implicit declaration of function
`pthread_barrier_destroy'
src/unix/thread.c: In function `uv_barrier_wait':
src/unix/thread.c:498: warning: implicit declaration of function
`pthread_barrier_wait'
mipsel-linux-uclibc-gcc -Wall -Wextra -Wno-unused-parameter -Iinclude
-Isrc -Isrc/unix -D_GNU_SOURCE -c -o src/unix/tty.o src/unix/tty.c
In file included from src/unix/spinlock.h:20,
from src/unix/tty.c:24:
src/unix/atomic-ops.h: In function `cmpxchgi':
src/unix/atomic-ops.h:46: warning: implicit declaration of function
`__sync_val_compare_and_swap'
--- OUTPUT END ---
I'm getting this because indeed this functions are not declared/implemented
for my platform.
What I've researched so far is to workaround this creating a library
declaring and implementing this functions and linking libuv against it as
mentioned in
http://vincesoft.blogspot.com.ar/2012/04/how-to-solve-undefined-reference-to.html
.
Is this the best way?
I think that I can obtain missing pthread related functions from a newer
uclibc version.
My doubt is with __sync_val_compare_and_swap function.
Can someone guide me on what is this function supposed to do in order to
implement it for my platform?
Current platform atomic.h and pthread.h can be found in [1] and [2],
perhaps I can use any function declared there?
Thanks,
Francisco
[1] atomic.h:
https://gist.github.com/fdagostino/53a7c1bdd821ee41c1a50b7fb0c1efba
[2] pthread.h:
https://gist.github.com/fdagostino/ae3aa7182615942baa67be998cae382b
--
You received this message because you are subscribed to the Google Groups
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.