#
# Auto-generated specs for AVR device atmega328pb (core avr5, 16-bit SP)
#
# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c
# Generated from : ./gcc/config/gcc.c
#                  ./gcc/config/avr/specs.h
#                  ./gcc/config/avr/avrlibc.h
# Used by        : avr-gcc compiler driver
# Used for       : building command options for sub-processes
#
# See <https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html>
# for a documentation of spec files.


# If you intend to use an existing device specs file as a starting point
# for a new device spec file, make sure you are copying from a specs
# file for a device from the same core architecture and SP width.
# See <https://gcc.gnu.org/gcc-5/changes.html> for a description
# of how to use such own spec files.

*avrlibc_startfile:
	crtatmega328pb.o%s

*avrlibc_devicelib:
	%{!nodevicelib:-latmega328pb}

*cc1_n_flash:
	%{!mn-flash=*:-mn-flash=1}

*cc1_rmw:
	%{mrmw}

*cc1_errata_skip:
	%{!mskip-bug: -mno-skip-bug}

*cc1_absdata:
	%{mabsdata}

*asm_arch:
	-mmcu=avr5

*asm_relax:
	%{mrelax:--mlink-relax} 

*asm_rmw:
	%{mrmw}

*asm_gccisr:
	%{!mno-gas-isr-prologues: -mgcc-isr}

*asm_errata_skip:
	%{!mskip-bug: -mno-skip-bug}

*link_pmem_wrap:
	%{mpmem-wrap-around: --pmem-wrap-around=32k}

*link_relax:
	%{mrelax:--relax} 

*link_arch:
	%{mmcu=*:-m%*} 

*link_data_start:
	-Tdata 0x800100

*link_text_start:


*self_spec:
	%<mmcu=* -mmcu=avr5 %<mshort-calls %<msp8

# AVR-LibC's avr/io.h uses the device specifying macro to determine
# the name of the device header.  For example, -mmcu=atmega8a triggers
# the definition of __AVR_ATmega8A__ and avr/io.h includes the device
# header 'iom8a.h' by means of:
#
#     ...
#     #elif defined (__AVR_ATmega8A__)
#     #  include <avr/iom8a.h>
#     #elif ...
# 
# If no device macro is defined, AVR-LibC uses __AVR_DEV_LIB_NAME__
# as fallback to determine the name of the device header as
#
#     "avr/io" + __AVR_DEV_LIB_NAME__ + ".h"
#
# If you provide your own specs file for a device not yet known to
# AVR-LibC, you can now define the hook macro __AVR_DEV_LIB_NAME__
# as needed so that
#
#     #include <avr/io.h>
#
# will include the desired device header.  For ATmega8A the supplement
# to *cpp would read
#
#     -D__AVR_DEV_LIB_NAME__=m8a


*cpp:
	-D__AVR_ATmega328PB__ -D__AVR_DEVICE_NAME__=atmega328pb -D__AVR_DEV_LIB_NAME__=m328pb

# End of file
