Changes in / [8ac3b0e:8e87f37]


Ignore:
Files:
4 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • driver/cfa.cc

    r8ac3b0e r8e87f37  
    405405                args[nargs] = "--undefined=__cfaabi_appready_startup";
    406406                nargs += 1;
     407                args[nargs] = "-Xlinker";
     408                nargs += 1;
     409                args[nargs] = "--undefined=__cfaabi_dbg_record";
     410                nargs += 1;
    407411
    408412                // include the cfa library in case it's needed
     
    410414                nargs += 1;
    411415                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";
    418416                nargs += 1;
    419417                args[nargs] = "-lcfa";
  • libcfa/src/Makefile.am

    r8ac3b0e r8e87f37  
    2222
    2323libdir = ${CFA_LIBDIR}
    24 lib_LTLIBRARIES = libcfa.la libcfathread.la
     24lib_LTLIBRARIES = libcfa.la
    2525
    2626VPATH += :../prelude
     
    4141          containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa
    4242
     43# not all platforms support concurrency, add option do disable it
     44headers_nosrc += concurrency/invoke.h
     45headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa
     46
    4347libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa}
    4448
    4549# 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}
     50libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa
    4951else
    5052headers =
    51 thread_headers =
    5253headers_nosrc =
    53 thread_headers_nosrc =
    5454libsrc =
    5555endif
     
    6464$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    6565
    66 thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))
    67 $(thread_libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    68 
    6966
    7067# .deps inclusion is not done automatically by automake for new languages
     
    7572
    7673-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 
    8574
    8675prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
     
    9685libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
    9786
    98 libcfathread_la_SOURCES = ${thread_libsrc}
    99 libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@
    100 
    10187stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
    10288
    10389cfa_includedir = $(CFA_INCDIR)
    104 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc}
     90nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc}
    10591
    10692#----------------------------------------------------------------------------------------------------------------
  • libcfa/src/Makefile.in

    r8ac3b0e r8e87f37  
    142142        time.cfa stdlib.cfa common.cfa containers/maybe.cfa \
    143143        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
    145149am__dirstamp = $(am__leading_dot)dirstamp
    146150@BUILDLIB_TRUE@am__objects_1 = fstream.lo iostream.lo iterator.lo \
     
    148152@BUILDLIB_TRUE@ common.lo containers/maybe.lo \
    149153@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
    151157@BUILDLIB_TRUE@am__objects_2 = startup.lo interpose.lo bits/debug.lo \
    152158@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
    154163am_libcfa_la_OBJECTS = prelude.lo $(am__objects_2)
    155164libcfa_la_OBJECTS = $(am_libcfa_la_OBJECTS)
     
    161170        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
    162171        $(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.cfa
    170 @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.lo
    173 @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 $@
    183172AM_V_P = $(am__v_P_@AM_V@)
    184173am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    225214am__v_CCLD_0 = @echo "  CCLD    " $@;
    226215am__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)
     216SOURCES = $(libcfa_la_SOURCES)
     217DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST)
    230218am__can_run_installinfo = \
    231219  case $$AM_UPDATE_INFO_DIR in \
     
    237225        limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
    238226        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 \
    242228        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
    245232HEADERS = $(nobase_cfa_include_HEADERS)
    246233am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
     
    434421am__v_UPP_0 = @echo "  UPP     " $@;
    435422am__v_UPP_1 =
    436 lib_LTLIBRARIES = libcfa.la libcfathread.la
     423lib_LTLIBRARIES = libcfa.la
    437424
    438425# AM_CFLAGS for all cfa source
     
    446433
    447434#----------------------------------------------------------------------------------------------------------------
    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
    449441@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
    453449@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 =
    456450
    457451# 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
    462458
    463459#----------------------------------------------------------------------------------------------------------------
     
    467463# add dependency of cfa files
    468464libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc))))
    469 thread_libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(thread_libsrc))))
    470465
    471466# .deps inclusion is not done automatically by automake for new languages
     
    475470)
    476471
    477 thread_libdeps = $(join \
    478         $(addsuffix $(DEPDIR)/ , $(dir $(thread_libobjs) ) ), \
    479         $(notdir ${thread_libobjs:.lo=.Plo}) \
    480 )
    481 
    482472
    483473#----------------------------------------------------------------------------------------------------------------
    484474libcfa_la_SOURCES = prelude.cfa ${libsrc}
    485475libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
    486 libcfathread_la_SOURCES = ${thread_libsrc}
    487 libcfathread_la_LDFLAGS = -version-info @CFA_VERSION@
    488476stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
    489477cfa_includedir = $(CFA_INCDIR)
    490 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc}
     478nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc}
    491479all: all-am
    492480
     
    579567containers/vector.lo: containers/$(am__dirstamp) \
    580568        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)
    584569concurrency/$(am__dirstamp):
    585570        @$(MKDIR_P) concurrency
     
    588573        @$(MKDIR_P) concurrency/$(DEPDIR)
    589574        @: > 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)
    598575concurrency/coroutine.lo: concurrency/$(am__dirstamp) \
    599576        concurrency/$(DEPDIR)/$(am__dirstamp)
     
    606583concurrency/mutex.lo: concurrency/$(am__dirstamp) \
    607584        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)
     585concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \
     586        concurrency/$(DEPDIR)/$(am__dirstamp)
     587concurrency/alarm.lo: concurrency/$(am__dirstamp) \
     588        concurrency/$(DEPDIR)/$(am__dirstamp)
     589concurrency/invoke.lo: concurrency/$(am__dirstamp) \
     590        concurrency/$(DEPDIR)/$(am__dirstamp)
     591concurrency/preemption.lo: concurrency/$(am__dirstamp) \
     592        concurrency/$(DEPDIR)/$(am__dirstamp)
     593
     594libcfa.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)
    611596
    612597mostlyclean-compile:
     
    937922        $(am__mv) $$depbase.Tpo $$depbase.Plo
    938923$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    939 $(thread_libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    940924
    941925-include $(libdeps)
    942 
    943 -include $(thread_libdeps)
    944926
    945927prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
  • libcfa/src/bits/defs.hfa

    r8ac3b0e r8e87f37  
    4141}
    4242#endif
    43 
    44 #if defined(__cforall_thread__)
    45 #define OPTIONAL_THREAD
    46 #else
    47 #define OPTIONAL_THREAD __attribute__((weak))
    48 #endif
  • libcfa/src/bits/locks.hfa

    r8ac3b0e r8e87f37  
    5050#ifdef __cforall
    5151        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();
    5454
    5555                #ifdef __CFA_DEBUG__
  • libcfa/src/concurrency/alarm.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 67
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816extern "C" {
  • libcfa/src/concurrency/coroutine.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 9
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816#include "coroutine.hfa"
  • libcfa/src/concurrency/invoke.c

    r8ac3b0e r8e87f37  
    1313// Update Count     : 5
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816#include <stdbool.h>
     
    3331extern void __finish_creation( struct thread_desc * );
    3432extern void __leave_thread_monitor( struct thread_desc * this );
    35 extern void disable_interrupts() OPTIONAL_THREAD;
     33extern void disable_interrupts();
    3634extern void enable_interrupts( __cfaabi_dbg_ctx_param );
    3735
  • libcfa/src/concurrency/kernel.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 25
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816//C Includes
     
    945943        }
    946944)
    947 
    948 //-----------------------------------------------------------------------------
    949 // Debug
    950 bool threading_enabled(void) {
    951         return true;
    952 }
    953945// Local Variables: //
    954946// mode: c //
  • libcfa/src/concurrency/kernel_private.hfa

    r8ac3b0e r8e87f37  
    2626
    2727extern "C" {
    28         void disable_interrupts() OPTIONAL_THREAD;
     28        void disable_interrupts();
    2929        void enable_interrupts_noPoll();
    3030        void enable_interrupts( __cfaabi_dbg_ctx_param );
  • libcfa/src/concurrency/monitor.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 9
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816#include "monitor.hfa"
  • libcfa/src/concurrency/mutex.cfa

    r8ac3b0e r8e87f37  
    1515// Update Count     : 0
    1616//
    17 
    18 #define __cforall_thread__
    1917
    2018#include "mutex.hfa"
  • libcfa/src/concurrency/preemption.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 37
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816#include "preemption.hfa"
  • libcfa/src/concurrency/thread.cfa

    r8ac3b0e r8e87f37  
    1313// Update Count     : 8
    1414//
    15 
    16 #define __cforall_thread__
    1715
    1816#include "thread.hfa"
  • libcfa/src/stdlib.cfa

    r8ac3b0e r8e87f37  
    252252long double _Complex random( void ) { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); }
    253253
    254 //---------------------------------------
    255 
    256 bool threading_enabled(void) __attribute__((weak)) {
    257         return false;
    258 }
    259254
    260255// Local Variables: //
  • libcfa/src/stdlib.hfa

    r8ac3b0e r8e87f37  
    1515
    1616#pragma once
    17 
    18 #include "bits/defs.hfa"
    1917
    2018#include <stdlib.h>                                                                             // *alloc, strto*, ato*
     
    248246#include "common.hfa"
    249247
    250 //---------------------------------------
    251 
    252 extern bool threading_enabled(void) OPTIONAL_THREAD;
    253 
    254248// Local Variables: //
    255249// mode: c //
Note: See TracChangeset for help on using the changeset viewer.