Changes in / [8ac3b0e:8e87f37]
- Files:
-
- 4 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
driver/cfa.cc
r8ac3b0e r8e87f37 405 405 args[nargs] = "--undefined=__cfaabi_appready_startup"; 406 406 nargs += 1; 407 args[nargs] = "-Xlinker"; 408 nargs += 1; 409 args[nargs] = "--undefined=__cfaabi_dbg_record"; 410 nargs += 1; 407 411 408 412 // include the cfa library in case it's needed … … 410 414 nargs += 1; 411 415 args[nargs] = ( *new string( string("-Wl,-rpath," ) + libdir + (intree ? "/src/.libs" : "")) ).c_str(); 412 nargs += 1;413 args[nargs] = "-Wl,--push-state,--as-needed";414 nargs += 1;415 args[nargs] = "-lcfathread";416 nargs += 1;417 args[nargs] = "-Wl,--pop-state";418 416 nargs += 1; 419 417 args[nargs] = "-lcfa"; -
libcfa/src/Makefile.am
r8ac3b0e r8e87f37 22 22 23 23 libdir = ${CFA_LIBDIR} 24 lib_LTLIBRARIES = libcfa.la libcfathread.la24 lib_LTLIBRARIES = libcfa.la 25 25 26 26 VPATH += :../prelude … … 41 41 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 42 42 43 # not all platforms support concurrency, add option do disable it 44 headers_nosrc += concurrency/invoke.h 45 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 46 43 47 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} 44 48 45 49 # not all platforms support concurrency, add option do disable it 46 thread_headers_nosrc = concurrency/invoke.h 47 thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 48 thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa ${thread_headers:.hfa=.cfa} 50 libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa 49 51 else 50 52 headers = 51 thread_headers =52 53 headers_nosrc = 53 thread_headers_nosrc =54 54 libsrc = 55 55 endif … … 64 64 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 65 65 66 thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))67 $(thread_libobjs) : @CFACC@ @CFACPP@ prelude.cfa68 69 66 70 67 # .deps inclusion is not done automatically by automake for new languages … … 75 72 76 73 -include $(libdeps) 77 78 thread_libdeps = $(join \79 $(addsuffix $(DEPDIR)/ , $(dir $(thread_libobjs) ) ), \80 $(notdir ${thread_libobjs:.lo=.Plo}) \81 )82 83 -include $(thread_libdeps)84 85 74 86 75 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ … … 96 85 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 97 86 98 libcfathread_la_SOURCES = ${thread_libsrc}99 libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@100 101 87 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 102 88 103 89 cfa_includedir = $(CFA_INCDIR) 104 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc}90 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 105 91 106 92 #---------------------------------------------------------------------------------------------------------------- -
libcfa/src/Makefile.in
r8ac3b0e r8e87f37 142 142 time.cfa stdlib.cfa common.cfa containers/maybe.cfa \ 143 143 containers/pair.cfa containers/result.cfa \ 144 containers/vector.cfa 144 containers/vector.cfa concurrency/coroutine.cfa \ 145 concurrency/thread.cfa concurrency/kernel.cfa \ 146 concurrency/monitor.cfa concurrency/mutex.cfa \ 147 concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 148 concurrency/invoke.c concurrency/preemption.cfa 145 149 am__dirstamp = $(am__leading_dot)dirstamp 146 150 @BUILDLIB_TRUE@am__objects_1 = fstream.lo iostream.lo iterator.lo \ … … 148 152 @BUILDLIB_TRUE@ common.lo containers/maybe.lo \ 149 153 @BUILDLIB_TRUE@ containers/pair.lo containers/result.lo \ 150 @BUILDLIB_TRUE@ containers/vector.lo 154 @BUILDLIB_TRUE@ containers/vector.lo concurrency/coroutine.lo \ 155 @BUILDLIB_TRUE@ concurrency/thread.lo concurrency/kernel.lo \ 156 @BUILDLIB_TRUE@ concurrency/monitor.lo concurrency/mutex.lo 151 157 @BUILDLIB_TRUE@am__objects_2 = startup.lo interpose.lo bits/debug.lo \ 152 158 @BUILDLIB_TRUE@ assert.lo exception.lo virtual.lo heap.lo \ 153 @BUILDLIB_TRUE@ $(am__objects_1) 159 @BUILDLIB_TRUE@ $(am__objects_1) \ 160 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.lo \ 161 @BUILDLIB_TRUE@ concurrency/alarm.lo concurrency/invoke.lo \ 162 @BUILDLIB_TRUE@ concurrency/preemption.lo 154 163 am_libcfa_la_OBJECTS = prelude.lo $(am__objects_2) 155 164 libcfa_la_OBJECTS = $(am_libcfa_la_OBJECTS) … … 161 170 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 162 171 $(libcfa_la_LDFLAGS) $(LDFLAGS) -o $@ 163 libcfathread_la_LIBADD =164 am__libcfathread_la_SOURCES_DIST = \165 concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \166 concurrency/invoke.c concurrency/preemption.cfa \167 concurrency/coroutine.cfa concurrency/thread.cfa \168 concurrency/kernel.cfa concurrency/monitor.cfa \169 concurrency/mutex.cfa170 @BUILDLIB_TRUE@am__objects_3 = concurrency/coroutine.lo \171 @BUILDLIB_TRUE@ concurrency/thread.lo concurrency/kernel.lo \172 @BUILDLIB_TRUE@ concurrency/monitor.lo concurrency/mutex.lo173 @BUILDLIB_TRUE@am__objects_4 = \174 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.lo \175 @BUILDLIB_TRUE@ concurrency/alarm.lo concurrency/invoke.lo \176 @BUILDLIB_TRUE@ concurrency/preemption.lo $(am__objects_3)177 am_libcfathread_la_OBJECTS = $(am__objects_4)178 libcfathread_la_OBJECTS = $(am_libcfathread_la_OBJECTS)179 libcfathread_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \180 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \181 $(AM_CFLAGS) $(CFLAGS) $(libcfathread_la_LDFLAGS) $(LDFLAGS) \182 -o $@183 172 AM_V_P = $(am__v_P_@AM_V@) 184 173 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 225 214 am__v_CCLD_0 = @echo " CCLD " $@; 226 215 am__v_CCLD_1 = 227 SOURCES = $(libcfa_la_SOURCES) $(libcfathread_la_SOURCES) 228 DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST) \ 229 $(am__libcfathread_la_SOURCES_DIST) 216 SOURCES = $(libcfa_la_SOURCES) 217 DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST) 230 218 am__can_run_installinfo = \ 231 219 case $$AM_UPDATE_INFO_DIR in \ … … 237 225 limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 238 226 containers/maybe.hfa containers/pair.hfa containers/result.hfa \ 239 containers/vector.hfa math.hfa gmp.hfa time_t.hfa \ 240 bits/align.hfa bits/containers.hfa bits/defs.hfa \ 241 bits/debug.hfa bits/locks.hfa concurrency/coroutine.hfa \ 227 containers/vector.hfa concurrency/coroutine.hfa \ 242 228 concurrency/thread.hfa concurrency/kernel.hfa \ 243 concurrency/monitor.hfa concurrency/mutex.hfa \ 244 concurrency/invoke.h 229 concurrency/monitor.hfa concurrency/mutex.hfa math.hfa gmp.hfa \ 230 time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa \ 231 bits/debug.hfa bits/locks.hfa concurrency/invoke.h 245 232 HEADERS = $(nobase_cfa_include_HEADERS) 246 233 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) … … 434 421 am__v_UPP_0 = @echo " UPP " $@; 435 422 am__v_UPP_1 = 436 lib_LTLIBRARIES = libcfa.la libcfathread.la423 lib_LTLIBRARIES = libcfa.la 437 424 438 425 # AM_CFLAGS for all cfa source … … 446 433 447 434 #---------------------------------------------------------------------------------------------------------------- 448 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa 435 436 # not all platforms support concurrency, add option do disable it 437 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \ 438 @BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \ 439 @BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \ 440 @BUILDLIB_TRUE@ concurrency/invoke.h 449 441 @BUILDLIB_FALSE@headers = 450 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 451 @BUILDLIB_TRUE@ containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 452 442 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \ 443 @BUILDLIB_TRUE@ limits.hfa rational.hfa time.hfa stdlib.hfa \ 444 @BUILDLIB_TRUE@ common.hfa containers/maybe.hfa \ 445 @BUILDLIB_TRUE@ containers/pair.hfa containers/result.hfa \ 446 @BUILDLIB_TRUE@ containers/vector.hfa concurrency/coroutine.hfa \ 447 @BUILDLIB_TRUE@ concurrency/thread.hfa concurrency/kernel.hfa \ 448 @BUILDLIB_TRUE@ concurrency/monitor.hfa concurrency/mutex.hfa 453 449 @BUILDLIB_FALSE@libsrc = 454 @BUILDLIB_TRUE@libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa}455 @BUILDLIB_FALSE@thread_headers_nosrc =456 450 457 451 # not all platforms support concurrency, add option do disable it 458 @BUILDLIB_TRUE@thread_headers_nosrc = concurrency/invoke.h 459 @BUILDLIB_FALSE@thread_headers = 460 @BUILDLIB_TRUE@thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 461 @BUILDLIB_TRUE@thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa ${thread_headers:.hfa=.cfa} 452 @BUILDLIB_TRUE@libsrc = startup.cfa interpose.cfa bits/debug.cfa \ 453 @BUILDLIB_TRUE@ assert.cfa exception.c virtual.c heap.cfa \ 454 @BUILDLIB_TRUE@ ${headers:.hfa=.cfa} \ 455 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.S \ 456 @BUILDLIB_TRUE@ concurrency/alarm.cfa concurrency/invoke.c \ 457 @BUILDLIB_TRUE@ concurrency/preemption.cfa 462 458 463 459 #---------------------------------------------------------------------------------------------------------------- … … 467 463 # add dependency of cfa files 468 464 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 469 thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))470 465 471 466 # .deps inclusion is not done automatically by automake for new languages … … 475 470 ) 476 471 477 thread_libdeps = $(join \478 $(addsuffix $(DEPDIR)/ , $(dir $(thread_libobjs) ) ), \479 $(notdir ${thread_libobjs:.lo=.Plo}) \480 )481 482 472 483 473 #---------------------------------------------------------------------------------------------------------------- 484 474 libcfa_la_SOURCES = prelude.cfa ${libsrc} 485 475 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 486 libcfathread_la_SOURCES = ${thread_libsrc}487 libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@488 476 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 489 477 cfa_includedir = $(CFA_INCDIR) 490 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc}478 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} 491 479 all: all-am 492 480 … … 579 567 containers/vector.lo: containers/$(am__dirstamp) \ 580 568 containers/$(DEPDIR)/$(am__dirstamp) 581 582 libcfa.la: $(libcfa_la_OBJECTS) $(libcfa_la_DEPENDENCIES) $(EXTRA_libcfa_la_DEPENDENCIES)583 $(AM_V_CCLD)$(libcfa_la_LINK) -rpath $(libdir) $(libcfa_la_OBJECTS) $(libcfa_la_LIBADD) $(LIBS)584 569 concurrency/$(am__dirstamp): 585 570 @$(MKDIR_P) concurrency … … 588 573 @$(MKDIR_P) concurrency/$(DEPDIR) 589 574 @: > concurrency/$(DEPDIR)/$(am__dirstamp) 590 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \591 concurrency/$(DEPDIR)/$(am__dirstamp)592 concurrency/alarm.lo: concurrency/$(am__dirstamp) \593 concurrency/$(DEPDIR)/$(am__dirstamp)594 concurrency/invoke.lo: concurrency/$(am__dirstamp) \595 concurrency/$(DEPDIR)/$(am__dirstamp)596 concurrency/preemption.lo: concurrency/$(am__dirstamp) \597 concurrency/$(DEPDIR)/$(am__dirstamp)598 575 concurrency/coroutine.lo: concurrency/$(am__dirstamp) \ 599 576 concurrency/$(DEPDIR)/$(am__dirstamp) … … 606 583 concurrency/mutex.lo: concurrency/$(am__dirstamp) \ 607 584 concurrency/$(DEPDIR)/$(am__dirstamp) 608 609 libcfathread.la: $(libcfathread_la_OBJECTS) $(libcfathread_la_DEPENDENCIES) $(EXTRA_libcfathread_la_DEPENDENCIES) 610 $(AM_V_CCLD)$(libcfathread_la_LINK) -rpath $(libdir) $(libcfathread_la_OBJECTS) $(libcfathread_la_LIBADD) $(LIBS) 585 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \ 586 concurrency/$(DEPDIR)/$(am__dirstamp) 587 concurrency/alarm.lo: concurrency/$(am__dirstamp) \ 588 concurrency/$(DEPDIR)/$(am__dirstamp) 589 concurrency/invoke.lo: concurrency/$(am__dirstamp) \ 590 concurrency/$(DEPDIR)/$(am__dirstamp) 591 concurrency/preemption.lo: concurrency/$(am__dirstamp) \ 592 concurrency/$(DEPDIR)/$(am__dirstamp) 593 594 libcfa.la: $(libcfa_la_OBJECTS) $(libcfa_la_DEPENDENCIES) $(EXTRA_libcfa_la_DEPENDENCIES) 595 $(AM_V_CCLD)$(libcfa_la_LINK) -rpath $(libdir) $(libcfa_la_OBJECTS) $(libcfa_la_LIBADD) $(LIBS) 611 596 612 597 mostlyclean-compile: … … 937 922 $(am__mv) $$depbase.Tpo $$depbase.Plo 938 923 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 939 $(thread_libobjs) : @CFACC@ @CFACPP@ prelude.cfa940 924 941 925 -include $(libdeps) 942 943 -include $(thread_libdeps)944 926 945 927 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@ -
libcfa/src/bits/defs.hfa
r8ac3b0e r8e87f37 41 41 } 42 42 #endif 43 44 #if defined(__cforall_thread__)45 #define OPTIONAL_THREAD46 #else47 #define OPTIONAL_THREAD __attribute__((weak))48 #endif -
libcfa/src/bits/locks.hfa
r8ac3b0e r8e87f37 50 50 #ifdef __cforall 51 51 extern "C" { 52 extern void disable_interrupts() OPTIONAL_THREAD;53 extern void enable_interrupts_noPoll() OPTIONAL_THREAD;52 extern void disable_interrupts(); 53 extern void enable_interrupts_noPoll(); 54 54 55 55 #ifdef __CFA_DEBUG__ -
libcfa/src/concurrency/alarm.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 67 14 14 // 15 16 #define __cforall_thread__17 15 18 16 extern "C" { -
libcfa/src/concurrency/coroutine.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 9 14 14 // 15 16 #define __cforall_thread__17 15 18 16 #include "coroutine.hfa" -
libcfa/src/concurrency/invoke.c
r8ac3b0e r8e87f37 13 13 // Update Count : 5 14 14 // 15 16 #define __cforall_thread__17 15 18 16 #include <stdbool.h> … … 33 31 extern void __finish_creation( struct thread_desc * ); 34 32 extern void __leave_thread_monitor( struct thread_desc * this ); 35 extern void disable_interrupts() OPTIONAL_THREAD;33 extern void disable_interrupts(); 36 34 extern void enable_interrupts( __cfaabi_dbg_ctx_param ); 37 35 -
libcfa/src/concurrency/kernel.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 25 14 14 // 15 16 #define __cforall_thread__17 15 18 16 //C Includes … … 945 943 } 946 944 ) 947 948 //-----------------------------------------------------------------------------949 // Debug950 bool threading_enabled(void) {951 return true;952 }953 945 // Local Variables: // 954 946 // mode: c // -
libcfa/src/concurrency/kernel_private.hfa
r8ac3b0e r8e87f37 26 26 27 27 extern "C" { 28 void disable_interrupts() OPTIONAL_THREAD;28 void disable_interrupts(); 29 29 void enable_interrupts_noPoll(); 30 30 void enable_interrupts( __cfaabi_dbg_ctx_param ); -
libcfa/src/concurrency/monitor.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 9 14 14 // 15 16 #define __cforall_thread__17 15 18 16 #include "monitor.hfa" -
libcfa/src/concurrency/mutex.cfa
r8ac3b0e r8e87f37 15 15 // Update Count : 0 16 16 // 17 18 #define __cforall_thread__19 17 20 18 #include "mutex.hfa" -
libcfa/src/concurrency/preemption.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 37 14 14 // 15 16 #define __cforall_thread__17 15 18 16 #include "preemption.hfa" -
libcfa/src/concurrency/thread.cfa
r8ac3b0e r8e87f37 13 13 // Update Count : 8 14 14 // 15 16 #define __cforall_thread__17 15 18 16 #include "thread.hfa" -
libcfa/src/stdlib.cfa
r8ac3b0e r8e87f37 252 252 long double _Complex random( void ) { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); } 253 253 254 //---------------------------------------255 256 bool threading_enabled(void) __attribute__((weak)) {257 return false;258 }259 254 260 255 // Local Variables: // -
libcfa/src/stdlib.hfa
r8ac3b0e r8e87f37 15 15 16 16 #pragma once 17 18 #include "bits/defs.hfa"19 17 20 18 #include <stdlib.h> // *alloc, strto*, ato* … … 248 246 #include "common.hfa" 249 247 250 //---------------------------------------251 252 extern bool threading_enabled(void) OPTIONAL_THREAD;253 254 248 // Local Variables: // 255 249 // mode: c //
Note: See TracChangeset
for help on using the changeset viewer.