* Suggestions for problem to do modifications in gcc
@ 2010-03-10 11:04 Greicy.Costa-Marques
2010-03-10 16:42 ` Ian Lance Taylor
0 siblings, 1 reply; 4+ messages in thread
From: Greicy.Costa-Marques @ 2010-03-10 11:04 UTC (permalink / raw)
To: gcc-help
Hi all,
I'll like suggestions for this problem:
The problem is to detect the errors/faults in digital architectures
(different processors).Then, one of such modifications would be data
duplication, ie, the basic idea is to duplicate all the variables of
the program checking the consistency of the values. For each read
operation on a variable, the operation is repeated for the duplicate
variable and consistency control is done. If there is a difference
between the original value variable and duplicate value variable, then
an error is signal.
So when the program is presented to the compiler, for example in C
language, the idea is to make such alterations (as described above)
in the compiler so that it automatically makes the harden of the
program.
So, I would like to know how or where I could modify the compiler to
modify this statement as for example:
var = var/5 (high-level statement) how/where i could change, ie
reverse 1 bit of instruction, in this case would turn into another
statement and thus it is characterized as an error basculement bit.
I thought of beginning to work on the front end would be a
good/correct way, simply because the code in this stage is near the
source code.... i don't know if that makes sense .
Well, sincerly i feel lost if anyone has any suggestions ... thanks in
advance.
greicy
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Suggestions for problem to do modifications in gcc
2010-03-10 11:04 Suggestions for problem to do modifications in gcc Greicy.Costa-Marques
@ 2010-03-10 16:42 ` Ian Lance Taylor
2010-03-17 16:57 ` Greicy.Costa-Marques
0 siblings, 1 reply; 4+ messages in thread
From: Ian Lance Taylor @ 2010-03-10 16:42 UTC (permalink / raw)
To: Greicy.Costa-Marques; +Cc: gcc-help
Greicy.Costa-Marques@imag.fr writes:
> The problem is to detect the errors/faults in digital architectures
> (different processors).Then, one of such modifications would be data
> duplication, ie, the basic idea is to duplicate all the variables of
> the program checking the consistency of the values. For each read
> operation on a variable, the operation is repeated for the duplicate
> variable and consistency control is done. If there is a difference
> between the original value variable and duplicate value variable, then
> an error is signal.
>
> So when the program is presented to the compiler, for example in C
> language, the idea is to make such alterations (as described above)
> in the compiler so that it automatically makes the harden of the
> program.
>
> So, I would like to know how or where I could modify the compiler to
> modify this statement as for example:
>
> var = var/5 (high-level statement) how/where i could change, ie
> reverse 1 bit of instruction, in this case would turn into another
> statement and thus it is characterized as an error basculement bit.
>
>
> I thought of beginning to work on the front end would be a
> good/correct way, simply because the code in this stage is near the
> source code.... i don't know if that makes sense .
I guess it sort of depends on whether you want to check every memory
access or just accesses that correspond to program variables. If you
want to check program variables then the frontend is the right place
to do it. If you want to check memory accesses, then it might be more
appropriate to do it when GIMPLE is converted to RTL in the expand
pass.
I think this change would be doable but I don't think it would be very
simple or easy to implement. Good luck.
Ian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Suggestions for problem to do modifications in gcc
2010-03-10 16:42 ` Ian Lance Taylor
@ 2010-03-17 16:57 ` Greicy.Costa-Marques
2010-03-17 22:21 ` Ian Lance Taylor
0 siblings, 1 reply; 4+ messages in thread
From: Greicy.Costa-Marques @ 2010-03-17 16:57 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: Greicy.Costa-Marques, gcc-help
Hi Ian,
Could you give me more informations? I didn't understand what you said....
In the frontend the right place would be the parser file?
And when you say "when GIMPLE is converted to RTL in the expand pass"
is about _expand_function()? Well, i'm confused... i'm a beginner in
GCC...:(
Thanks for any help
greicy
Ian Lance Taylor <iant@google.com> a écrit :
> Greicy.Costa-Marques@imag.fr writes:
>
>> The problem is to detect the errors/faults in digital architectures
>> (different processors).Then, one of such modifications would be data
>> duplication, ie, the basic idea is to duplicate all the variables of
>> the program checking the consistency of the values. For each read
>> operation on a variable, the operation is repeated for the duplicate
>> variable and consistency control is done. If there is a difference
>> between the original value variable and duplicate value variable, then
>> an error is signal.
>>
>> So when the program is presented to the compiler, for example in C
>> language, the idea is to make such alterations (as described above)
>> in the compiler so that it automatically makes the harden of the
>> program.
>>
>> So, I would like to know how or where I could modify the compiler to
>> modify this statement as for example:
>>
>> var = var/5 (high-level statement) how/where i could change, ie
>> reverse 1 bit of instruction, in this case would turn into another
>> statement and thus it is characterized as an error basculement bit.
>>
>>
>> I thought of beginning to work on the front end would be a
>> good/correct way, simply because the code in this stage is near the
>> source code.... i don't know if that makes sense .
>
> I guess it sort of depends on whether you want to check every memory
> access or just accesses that correspond to program variables. If you
> want to check program variables then the frontend is the right place
> to do it. If you want to check memory accesses, then it might be more
> appropriate to do it when GIMPLE is converted to RTL in the expand
> pass.
>
> I think this change would be doable but I don't think it would be very
> simple or easy to implement. Good luck.
>
> Ian
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Suggestions for problem to do modifications in gcc
2010-03-17 16:57 ` Greicy.Costa-Marques
@ 2010-03-17 22:21 ` Ian Lance Taylor
0 siblings, 0 replies; 4+ messages in thread
From: Ian Lance Taylor @ 2010-03-17 22:21 UTC (permalink / raw)
To: Greicy.Costa-Marques; +Cc: gcc-help
Greicy.Costa-Marques@imag.fr writes:
> Could you give me more informations? I didn't understand what you said....
> In the frontend the right place would be the parser file?
> And when you say "when GIMPLE is converted to RTL in the expand pass"
> is about _expand_function()? Well, i'm confused... i'm a beginner in
> GCC...:(
gcc is a complex program with lots of parts. You are proposing a
project which, as I said, seems doable but not easy. If you want to
tackle this project, you are going to have to read the gcc internals
documentation and understand the different parts of gcc. That will
help to answer the questions you ask above.
We are happy to answer specific questions on this mailing list, but
it's hard to answer general ones.
Ian
> Ian Lance Taylor <iant@google.com> a écrit :
>
>> Greicy.Costa-Marques@imag.fr writes:
>>
>>> The problem is to detect the errors/faults in digital architectures
>>> (different processors).Then, one of such modifications would be data
>>> duplication, ie, the basic idea is to duplicate all the variables of
>>> the program checking the consistency of the values. For each read
>>> operation on a variable, the operation is repeated for the duplicate
>>> variable and consistency control is done. If there is a difference
>>> between the original value variable and duplicate value variable, then
>>> an error is signal.
>>>
>>> So when the program is presented to the compiler, for example in C
>>> language, the idea is to make such alterations (as described above)
>>> in the compiler so that it automatically makes the harden of the
>>> program.
>>>
>>> So, I would like to know how or where I could modify the compiler to
>>> modify this statement as for example:
>>>
>>> var = var/5 (high-level statement) how/where i could change, ie
>>> reverse 1 bit of instruction, in this case would turn into another
>>> statement and thus it is characterized as an error basculement bit.
>>>
>>>
>>> I thought of beginning to work on the front end would be a
>>> good/correct way, simply because the code in this stage is near the
>>> source code.... i don't know if that makes sense .
>>
>> I guess it sort of depends on whether you want to check every memory
>> access or just accesses that correspond to program variables. If you
>> want to check program variables then the frontend is the right place
>> to do it. If you want to check memory accesses, then it might be more
>> appropriate to do it when GIMPLE is converted to RTL in the expand
>> pass.
>>
>> I think this change would be doable but I don't think it would be very
>> simple or easy to implement. Good luck.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-03-17 16:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-10 11:04 Suggestions for problem to do modifications in gcc Greicy.Costa-Marques
2010-03-10 16:42 ` Ian Lance Taylor
2010-03-17 16:57 ` Greicy.Costa-Marques
2010-03-17 22:21 ` Ian Lance Taylor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).