changeset 22:a4e5b5fb5e96 ML_lib_longjmp

Something has gone incredibly wrong, longjmp_helpers weren't included, as well as no longer being physically present on the disk; so it is rewritten. Hopefully it was exactly as it is now
author Philipe Louchtch
date Sun, 22 Jun 2014 00:02:33 +0200
parents 5e2ee79f8d4a
children fc9be4644b4a
files CoreController.c PR__SS.c PR__WL.c PR__int.c Services_Offered_by_PR/PR__longjmp_helpers.h nb__PR__ML__wDKU__lib/nbproject/private/configurations.xml nb__PR__ML__wDKU__lib/nbproject/private/private.xml
diffstat 7 files changed, 42 insertions(+), 18 deletions(-) [+]
line diff
     1.1 --- a/CoreController.c	Fri May 30 19:51:48 2014 +0200
     1.2 +++ b/CoreController.c	Sun Jun 22 00:02:33 2014 +0200
     1.3 @@ -18,7 +18,7 @@
     1.4  #include <PR__include/PR__int.h>
     1.5  
     1.6  #include "PR__structs__int.h"
     1.7 -#include "Services_Offered_by_PR/Longjmp__helpers.h"  //TODO: Change path
     1.8 +#include "Services_Offered_by_PR/PR__longjmp_helpers.h"  //TODO: Change path
     1.9  #include <PR__include/langlets/PRServ__wrapper_library.h>
    1.10  
    1.11  
     2.1 --- a/PR__SS.c	Fri May 30 19:51:48 2014 +0200
     2.2 +++ b/PR__SS.c	Sun Jun 22 00:02:33 2014 +0200
     2.3 @@ -20,7 +20,7 @@
     2.4  #include "Defines/PR_defs.h"
     2.5  #include "PR__structs__int.h"
     2.6  #include "Services_Offered_by_PR/Measurement_and_Stats/probes__int.h"
     2.7 -#include "Services_Offered_by_PR/Longjmp__helpers.h"
     2.8 +#include "Services_Offered_by_PR/PR__longjmp_helpers.h"
     2.9  
    2.10  //#define thdAttrs NULL
    2.11  
     3.1 --- a/PR__WL.c	Fri May 30 19:51:48 2014 +0200
     3.2 +++ b/PR__WL.c	Sun Jun 22 00:02:33 2014 +0200
     3.3 @@ -15,7 +15,7 @@
     3.4  
     3.5  #include "PR__structs__int.h"
     3.6  #include "Services_Offered_by_PR/Services_Language/PRServ_int.h"
     3.7 -#include "Services_Offered_by_PR/Longjmp__helpers.h"
     3.8 +#include "Services_Offered_by_PR/PR__longjmp_helpers.h"
     3.9  
    3.10  
    3.11  /* MEANING OF   WL  PI  SS  int
     4.1 --- a/PR__int.c	Fri May 30 19:51:48 2014 +0200
     4.2 +++ b/PR__int.c	Sun Jun 22 00:02:33 2014 +0200
     4.3 @@ -16,7 +16,7 @@
     4.4  #include <PR__include/PR__structs__common.h>
     4.5  #include "PR__structs__int.h"
     4.6  #include "PR_defs__turn_on_and_off.h"
     4.7 -#include "Services_Offered_by_PR/Longjmp__helpers.h"
     4.8 +#include "Services_Offered_by_PR/PR__longjmp_helpers.h"
     4.9  //#include "Services_Offered_by_PR/Services_Language/PRServ__wrapper_library.h"
    4.10  //#include "Defines/PR_defs.h"
    4.11  #include <PR__include/PR__int.h>
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/Services_Offered_by_PR/PR__longjmp_helpers.h	Sun Jun 22 00:02:33 2014 +0200
     5.3 @@ -0,0 +1,36 @@
     5.4 +/* 
     5.5 + * File:   PR__longjmp_helpers.h
     5.6 + * Author: Philipe Louchtch - de Raadt
     5.7 + *
     5.8 + * Created on June 21, 2014, 11:32 PM
     5.9 + */
    5.10 +
    5.11 +#ifndef PR__LONGJMP_HELPERS_H
    5.12 +#define	PR__LONGJMP_HELPERS_H
    5.13 +
    5.14 +#include <assert.h>
    5.15 +
    5.16 +// Using the low 4 bits for retVal, the rest is for coreNum
    5.17 +// So valid retVal values are 0-15
    5.18 +
    5.19 +#define Longjmp__decode_retVal(__toDecode, __coreNum, __retVal) \
    5.20 +do {                                                            \
    5.21 +    __retVal = __toDecode & 15;                                 \
    5.22 +                                                                \
    5.23 +    /* If retVal is zero, the decoded coreNum will be 0,   */   \
    5.24 +    /* so we need to test to prevent clobbering up coreNum */   \
    5.25 +    if (__retVal > 0) {                                         \
    5.26 +        __coreNum = __toDecode >> 4;                            \
    5.27 +    }                                                           \
    5.28 +} while(0)
    5.29 +
    5.30 +#define Longjmp__encode_retVal(__output, __coreNum, __retVal)   \
    5.31 +do {                                                            \
    5.32 +    assert(__retVal < 16 && "retVal must be smaller than 16!");   \
    5.33 +    __output  = __coreNum << 4;                                 \
    5.34 +    __output += __retVal;                                       \
    5.35 +} while(0)
    5.36 +
    5.37 +
    5.38 +#endif	/* PR__LONGJMP_HELPERS_H */
    5.39 +
     6.1 --- a/nb__PR__ML__wDKU__lib/nbproject/private/configurations.xml	Fri May 30 19:51:48 2014 +0200
     6.2 +++ b/nb__PR__ML__wDKU__lib/nbproject/private/configurations.xml	Sun Jun 22 00:02:33 2014 +0200
     6.3 @@ -81,6 +81,7 @@
     6.4          </gdb_interceptlist>
     6.5          <gdb_options>
     6.6            <DebugOptions>
     6.7 +            <option name="gdb_init_file" value=""/>
     6.8            </DebugOptions>
     6.9          </gdb_options>
    6.10          <gdb_buildfirst gdb_buildfirst_overriden="false" gdb_buildfirst_old="false"/>
     7.1 --- a/nb__PR__ML__wDKU__lib/nbproject/private/private.xml	Fri May 30 19:51:48 2014 +0200
     7.2 +++ b/nb__PR__ML__wDKU__lib/nbproject/private/private.xml	Sun Jun 22 00:02:33 2014 +0200
     7.3 @@ -9,19 +9,6 @@
     7.4          <group name="VReo_longjmp_test"/>
     7.5          <group name="matrix_mult"/>
     7.6          <group name="longjmp"/>
     7.7 -        <group>
     7.8 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR__SS.c</file>
     7.9 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR__WL.c</file>
    7.10 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/Services_Offered_by_PR/Services_Language/PRServ_Request_Handlers.c</file>
    7.11 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/AnimationMaster.c</file>
    7.12 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/CoreController.c</file>
    7.13 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/PR__include/PR__int.h</file>
    7.14 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/Defines/MEAS__macros_to_be_moved_to_langs.h</file>
    7.15 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR__PI.c</file>
    7.16 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR.c</file>
    7.17 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR__int.c</file>
    7.18 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/library__proto-runtime/PR__structs__int.h</file>
    7.19 -            <file>file:/home/coolicer/Documents/Bach%20Proj/VReo_longjmp_test/PR__include/PR__structs__common.h</file>
    7.20 -        </group>
    7.21 +        <group/>
    7.22      </open-files>
    7.23  </project-private>