Компајлирање на оргиналниот firmware за TV-B-Gone т.е. firmware_v2.1 под gcc-4.7.2 (а можно е и други верзии, почнувајќи од 4.6) не е успешно поради новиот начин на gcc за интерпретирање на PROGMEM декларациите т.е. :
http://gcc.gnu.org/gcc-4.6/changes.html#avr
за да се поправи, направив едноставен печ - firmware_v1.2_gcc-4.7.2.patch :
diff -Naur fw_v1.2-old/main.c fw_v1.2-new/main.c
--- fw_v1.2-old/main.c 2009-08-16 21:48:34.000000000 +0200
+++ fw_v1.2-new/main.c 2013-01-15 20:45:52.479525370 +0100
@@ -79,8 +79,8 @@
-extern const PGM_P *NApowerCodes[] PROGMEM;
-extern const PGM_P *EUpowerCodes[] PROGMEM;
+extern const PGM_P * const NApowerCodes[] PROGMEM;
+extern const PGM_P * const EUpowerCodes[] PROGMEM;
extern const uint8_t num_NAcodes, num_EUcodes;
diff -Naur fw_v1.2-old/WORLDcodes.c fw_v1.2-new/WORLDcodes.c
--- fw_v1.2-old/WORLDcodes.c 2009-08-16 21:50:24.000000000 +0200
+++ fw_v1.2-new/WORLDcodes.c 2013-01-15 20:47:04.919538679 +0100
@@ -8226,7 +8226,7 @@
////////////////////////////////////////////////////////////////
-const struct IrCode *NApowerCodes[] PROGMEM = {
+const struct IrCode * const NApowerCodes[] PROGMEM = {
#ifdef NA_CODES
&code_na000Code,
&code_na001Code,
@@ -8370,7 +8370,7 @@
#endif
};
-const struct IrCode *EUpowerCodes[] PROGMEM = {
+const struct IrCode * const EUpowerCodes[] PROGMEM = {
#ifdef EU_CODES
&code_eu000Code,
&code_eu001Code,