Changes in / [4fa44e7:504a7dc]


Ignore:
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • configure

    r4fa44e7 r504a7dc  
    802802with_cfa_name
    803803enable_distcc
    804 with_bwlimit
    805804with_target_hosts
    806805enable_gprofiler
     
    14821481  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    14831482  --with-cfa-name=NAME     NAME too which cfa will be installed
    1484   --with-bwlimit=RATE     RATE the maximum rate at which rsync will be limited when using distributed builds
    14851483  --with-target-hosts=HOSTS     HOSTS comma seperated list of hosts to build for, format ARCH:debug|nodebug|nolib
    14861484  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
     
    32003198else
    32013199  enable_distcc=no
    3202 fi
    3203 
    3204 
    3205 
    3206 # Check whether --with-bwlimit was given.
    3207 if test "${with_bwlimit+set}" = set; then :
    3208   withval=$with_bwlimit;
    32093200fi
    32103201
  • configure.ac

    r4fa44e7 r504a7dc  
    6464        [  --enable-distcc     whether or not to enable distributed compilation],
    6565        enable_distcc=$enableval, enable_distcc=no)
    66 
    67 AC_ARG_WITH(bwlimit,
    68         [  --with-bwlimit=RATE     RATE the maximum rate at which rsync will be limited when using distributed builds],
    69         [], [])
    7066
    7167AM_CONDITIONAL([ENABLE_DISTCC], [test x$enable_distcc = xyes])
  • libcfa/Makefile.in

    r4fa44e7 r504a7dc  
    253253DEFS = @DEFS@
    254254DEPDIR = @DEPDIR@
    255 DIST_BWLIMIT = @DIST_BWLIMIT@
    256255DLLTOOL = @DLLTOOL@
    257256DRIVER_DIR = @DRIVER_DIR@
  • libcfa/configure

    r4fa44e7 r504a7dc  
    707707CONFIG_CFLAGS
    708708ARCH_FLAGS
    709 DIST_BWLIMIT
    710709CFADIR_HASH
    711710LOCAL_CC1
     
    790789enable_silent_rules
    791790enable_distcc
    792 with_bwlimit
    793791with_cfa_name
    794792enable_static
     
    14671465  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    14681466  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    1469   --with-bwlimit=RATE     RATE the maximum rate at which rsync will be limited when using distributed builds
    14701467  --with-cfa-name=NAME     NAME too which cfa will be installed
    14711468  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
     
    30503047
    30513048
    3052 
    3053 # Check whether --with-bwlimit was given.
    3054 if test "${with_bwlimit+set}" = set; then :
    3055   withval=$with_bwlimit; DIST_BWLIMIT=$withval
    3056 else
    3057   DIST_BWLIMIT=0
    3058 fi
    3059 
    3060 
    30613049echo -n "checking for distributated build... "
    30623050if test x$enable_distcc = xno; then
     
    30823070  ENABLE_DISTCC_FALSE=
    30833071fi
    3084 
    30853072
    30863073
  • libcfa/configure.ac

    r4fa44e7 r504a7dc  
    3131        enable_distcc=$enableval, enable_distcc=no)
    3232
    33 AC_ARG_WITH(bwlimit,
    34         [  --with-bwlimit=RATE     RATE the maximum rate at which rsync will be limited when using distributed builds],
    35         DIST_BWLIMIT=$withval, DIST_BWLIMIT=0)
    36 
    3733echo -n "checking for distributated build... "
    3834if test x$enable_distcc = xno; then
     
    5955AC_SUBST(CFADIR_HASH)
    6056AC_SUBST(CFA_VERSION)
    61 AC_SUBST(DIST_BWLIMIT)
    6257
    6358#==============================================================================
  • libcfa/prelude/Makefile.am

    r4fa44e7 r504a7dc  
    7272if ENABLE_DISTCC
    7373distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c $(srcdir)/../../tools/build/push2dist.sh
    74         ${AM_V_GEN}$(srcdir)/../../tools/build/push2dist.sh @CFADIR_HASH@ @DIST_BWLIMIT@
     74        ${AM_V_GEN}$(srcdir)/../../tools/build/push2dist.sh @CFADIR_HASH@
    7575        @echo "Dummy file to track distribution to remote hosts" > ${@}
    7676
  • libcfa/prelude/Makefile.in

    r4fa44e7 r504a7dc  
    215215DEFS = @DEFS@
    216216DEPDIR = @DEPDIR@
    217 DIST_BWLIMIT = @DIST_BWLIMIT@
    218217DLLTOOL = @DLLTOOL@
    219218DRIVER_DIR = @DRIVER_DIR@
     
    656655
    657656@ENABLE_DISTCC_TRUE@distribution: @LOCAL_CFACC@ @LOCAL_CC1@ @CFACPP@ gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c $(srcdir)/../../tools/build/push2dist.sh
    658 @ENABLE_DISTCC_TRUE@    ${AM_V_GEN}$(srcdir)/../../tools/build/push2dist.sh @CFADIR_HASH@ @DIST_BWLIMIT@
     657@ENABLE_DISTCC_TRUE@    ${AM_V_GEN}$(srcdir)/../../tools/build/push2dist.sh @CFADIR_HASH@
    659658@ENABLE_DISTCC_TRUE@    @echo "Dummy file to track distribution to remote hosts" > ${@}
    660659
  • libcfa/src/Makefile.in

    r4fa44e7 r504a7dc  
    308308DEFS = @DEFS@
    309309DEPDIR = @DEPDIR@
    310 DIST_BWLIMIT = @DIST_BWLIMIT@
    311310DLLTOOL = @DLLTOOL@
    312311DRIVER_DIR = @DRIVER_DIR@
  • libcfa/src/exception.c

    r4fa44e7 r504a7dc  
    121121
    122122
    123 // MEMORY MANAGEMENT =========================================================
     123// TERMINATION ===============================================================
     124
     125// MEMORY MANAGEMENT (still for integers)
     126// May have to move to cfa for constructors and destructors (references).
    124127
    125128// How to clean up an exception in various situations.
     
    200203}
    201204
    202 // CANCELLATION ==============================================================
     205// If this isn't a rethrow (*except==0), delete the provided exception.
     206void __cfaehm_cleanup_terminate( void * except ) {
     207        if ( *(void**)except ) __cfaehm_delete_exception( *(exception_t **)except );
     208}
    203209
    204210// Function needed by force unwind
     
    222228}
    223229
    224 // Cancel the current stack, prefroming approprate clean-up and messaging.
    225 static __attribute__((noreturn)) void __cfaehm_cancel_stack(
    226                 exception_t * exception ) {
    227         // TODO: Detect current stack and pick a particular stop-function.
    228         _Unwind_Reason_Code ret;
    229         ret = _Unwind_ForcedUnwind( &this_exception_storage, _Stop_Fn, (void*)0x22 );
    230         printf("UNWIND ERROR %d after force unwind\n", ret);
    231         abort();
    232 }
    233 
    234 
    235 // TERMINATION ===============================================================
    236 
    237 // If this isn't a rethrow (*except==0), delete the provided exception.
    238 void __cfaehm_cleanup_terminate( void * except ) {
    239         if ( *(void**)except ) __cfaehm_delete_exception( *(exception_t **)except );
    240 }
    241 
    242230// The exception that is being thrown must already be stored.
    243231static __attribute__((noreturn)) void __cfaehm_begin_unwind(void) {
     
    257245        // the whole stack.
    258246
    259         // No handler found, go to the default operation.
    260         // Currently this will always be a cancellation.
    261247        if ( ret == _URC_END_OF_STACK ) {
    262                 __cfadbg_print_safe(exception, "Uncaught exception %p\n", &this_exception_storage);
    263 
    264                 __cfaehm_cancel_stack(this_exception_context()->current_exception);
     248                // No proper handler was found. This can be handled in many ways, C++ calls std::terminate.
     249                // Here we force unwind the stack, basically raising a cancellation.
     250                printf("Uncaught exception %p\n", &this_exception_storage);
     251
     252                ret = _Unwind_ForcedUnwind( &this_exception_storage, _Stop_Fn, (void*)0x22 );
     253                printf("UNWIND ERROR %d after force unwind\n", ret);
     254                abort();
    265255        }
    266256
  • tests/exceptions/.expect/resume.txt

    r4fa44e7 r504a7dc  
    44end of try clause
    55Exiting: simple try clause
    6 
    7 catch-all
    86
    97throwing child exception
  • tests/exceptions/.expect/terminate.txt

    r4fa44e7 r504a7dc  
    33simple catch
    44Exiting: simple catch clause
    5 
    6 catch-all
    75
    86throwing child exception
  • tests/exceptions/resume.cfa

    r4fa44e7 r504a7dc  
    1919                loud_exit a = "simple catch clause";
    2020                printf("simple catch\n");
    21         }
    22         printf("\n");
    23 
    24         // Throw catch-all test.
    25         try {
    26                 throwResume &(zen){};
    27         } catchResume (exception_t * error) {
    28                 printf("catch-all\n");
    2921        }
    3022        printf("\n");
  • tests/exceptions/terminate.cfa

    r4fa44e7 r504a7dc  
    1717                printf("end of try clause\n");
    1818        } catch (zen * error) {
    19                 loud_exit a = "simple catch clause";
     19        loud_exit a = "simple catch clause";
    2020                printf("simple catch\n");
    21         }
    22         printf("\n");
    23 
    24         // Throw catch-all test.
    25         try {
    26                 throw &(zen){};
    27         } catch (exception_t * error) {
    28                 printf("catch-all\n");
    2921        }
    3022        printf("\n");
  • tools/build/push2dist.sh

    r4fa44e7 r504a7dc  
    22
    33hash="$1"
    4 bwlim="$2"
    54valid=$(distcc -j 2> /dev/null)
    65# if test "${valid}" != 0
     
    2524function push() {
    2625        ssh ${host} "mkdir -p ~/.cfadistcc/${hash}/"
    27         rsync --bwlimit=${bwlim} -a ${dV} ${files} ${host}:~/.cfadistcc/${hash}/.
     26        rsync -a ${dV} ${files} ${host}:~/.cfadistcc/${hash}/.
    2827}
    2928
Note: See TracChangeset for help on using the changeset viewer.