public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).