Follow-up Comment #4, bug #32945 (project avr-libc): > comment #2 > I've changed the LPM_R0_ZPLUS_* macros in common/macros.inc to look for _AVR_HAVE_ELPM_ instead of BIG_CODE. >My guess is that there are still problems because of finding the definition of AVR_RAMPZ_ADDR.
RAMPZ register address is defined based on RAMPZ macro in device header file. Building library for specific arch will result in error as AVR_RAMPZ_ADDR is not defined. (include/avr/common.h) 284 #if defined(RAMPZ) 285 # define AVR_RAMPZ_REG RAMPZ 286 # if __AVR_ARCH__ >= 100 287 # define AVR_RAMPZ_ADDR _SFR_MEM_ADDR(RAMPZ) 288 # else 289 # define AVR_RAMPZ_ADDR _SFR_IO_ADDR(RAMPZ) 290 # endif 291 #endif It is possible to hard-code RAMPZ register address irrespective of device header file (gcc also hard-codes RAMPZ address) as follows: +# define AVR_RAMPZ_REG (_SFR_IO8(0x3b)) +# define AVR_RAMPZ_ADDR (_SFR_IO8(0x3b)) This will enable building library for a architecture than a device. -- This fix shall be included until we have per device library build system - Joerg Wunsch (http://lists.nongnu.org/archive/html/avr-libc-dev/2013-10/msg00002.html) _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?32945> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/ _______________________________________________ AVR-libc-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/avr-libc-dev
