Hi,

I am a student at Bilkent Uni. in Turkey and using GCC as a tool for my
M.S. Thesis which is about Software Fault Tolerance.
I am stuck, in terms of implementing bit flips in the operands of a gimple
statement.

I need to inject bit flips to all kinds of operands, constant integers,
floats, variables, pointers etc...

It is simpler for constants, but I am having a hard time to get the value
of pointers and other variables.

My objective is to simply change the value of a tree operand, by injecting
a new instruction that changes the value or directly change the operand to
a bit flipped value.

For constant integers I did something like this:

int valueBefore = TREE_INT_CST_LOW(operands[i]);
int valueAfter = (valueBefore ^ (1u << 2));                                     
tree number =
build_int_cst (integer_type_node, valueAfter);

I would love it if you can help me and
may even implement a tool for GCC for error injection purposes.

Any help would be much appreciated!

Thank you very much!

Reply via email to