806dd0472f
2019-11-12 Corentin Gay <gay@adacore.com> Jerome Lambourg <lambourg@adacore.com> Olivier Hainque <hainque@adacore.com> libgcc/ * config/t-gthr-vxworks: New file, add all the gthr-vxworks sources to LIB2ADDEH. * config/t-vxworks: Remove adjustments to LIB2ADDEH. * config/t-vxworks7: Likewise. * config.host: Append a block at the end of the file to add the t-gthr files to the tmake_file list for VxWorks after everything else. * config/vxlib.c: Rename as gthr-vxworks.c. * config/vxlib-tls.c: Rename as gthr-vxworks-tls.c. * config/gthr-vxworks.h: Simplify a few comments. Expose a TAS API and a basic error checking API, both internal. Simplify the __gthread_once_t type definition and initializers. Add sections for condition variables support and for the C++0x thread support, conditioned against Vx653 for the latter. * config/gthr-vxworks.c (__gthread_once): Simplify comments and implementation, leveraging the TAS internal API. * config/gthr-vxworks-tls.c: Introduce an internal TLS data access API, leveraging the general availability of TLS services in VxWorks7 post SR6xxx. (__gthread_setspecific, __gthread_setspecific): Use it. (tls_delete_hook): Likewise, and simplify the enter/leave dtor logic. * config/gthr-vxworks-cond.c: New file. GTHREAD_COND variable support based on VxWorks primitives. * config/gthr-vxworks-thread.c: New file. GTHREAD_CXX0X support based on VxWorks primitives. Co-Authored-By: Jerome Lambourg <lambourg@adacore.com> Co-Authored-By: Olivier Hainque <hainque@adacore.com> From-SVN: r278249
21 lines
853 B
Plaintext
21 lines
853 B
Plaintext
# Don't build libgcc.a with debug info
|
|
LIBGCC2_DEBUG_CFLAGS =
|
|
|
|
# We provide our own implementation for __clear_cache, using a
|
|
# VxWorks specific entry point.
|
|
LIB2FUNCS_EXCLUDE += _clear_cache
|
|
LIB2ADD += $(srcdir)/config/vxcache.c
|
|
|
|
# This ensures that the correct target headers are used; some VxWorks
|
|
# system headers have names that collide with GCC's internal (host)
|
|
# headers, e.g. regs.h. Make sure the local libgcc headers still
|
|
# prevail (e.g. unwind.h), and that gcc provided header files intended
|
|
# to be user visible eventually are visible as well.
|
|
LIBGCC2_INCLUDES = -nostdinc -I. \
|
|
-I$(VSB_DIR)/h -I$(VSB_DIR)/share/h \
|
|
-I$(MULTIBUILDTOP)../../gcc/include \
|
|
`case "/$(MULTIDIR)" in \
|
|
*/mrtp*) echo -I$(VSB_DIR)/usr/h/public -I$(VSB_DIR)/usr/h ;; \
|
|
*) echo -I$(VSB_DIR)/krnl/h/system -I$(VSB_DIR)/krnl/h/public ;; \
|
|
esac`
|