WiringProject / Wiring

Wiring Framework
http://wiring.org.co/
Other
217 stars 168 forks source link

Replace ABI stubs with real implementations #20

Open kibergus opened 12 years ago

kibergus commented 12 years ago

Wiring implements several gcc specific C++ ABI functions. Unfortunately, instead of real implementations stubs are used. This leads to undesired behavior in some circumstances: if an error happens your firmware instead of controllable shutdown starts to execute random code or other strange things.

I've described purpose of these ABI functions and reasons why they must be implemented like I did here: http://kibergus.su/en/node/92

You can either take implementation from this pull request https://github.com/arduino/Arduino/pull/107 It is not so good because it uses abort() instead of std::terminate from standard library. In case if you are ready to use standard library there is another request: https://github.com/arduino/Arduino/pull/108

For a standard library realization you can use avr port of uClibc++.