pkgsrc/cross/avr-gcc/buildlink3.mk
mef c6e879ec4b PR pkg/48890 was proposed. Thanks. But this commit is slightly
different from the PR (When submitting patch to pkgsrc with
adding more patches, submitter should do cvs add
patches/patch-hoge, before creating the pkgsrc patch, thanks).

I belive both simulavr and avr-libc will be packaged fine with this.
(upstream)
4.7.3 to 4.8.3  -- From grepping 'avr' from NEWS file:
--------------
   On AVR, the configure option --with-avrlibc supported since GCC 4.7.2
   is turned on per default for all non-RTEMS configurations. This option
   arranges for a better integration of [3]AVR Libc with avr-gcc. For
   technical details, see [4]PR54461. To turn off the option in non-RTEMS
   configurations, use --with-avrlibc=no. If the compiler is configured
   for RTEMS, the option is always turned off.

     * Support has been added for the AVR-specific configure option
       --with-avrlibc=yes in order to arrange for better integration of
       [3]AVR-Libc. This configure option is supported in avr-gcc 4.7.2
       and newer and will only take effect in non-RTEMS configurations. If
       avr-gcc is configured for RTEMS, the option will be ignored which
       is the same as specifying --with-avrlibc=no. See [4]PR54461 for
       more technical details.

   3. http://www.nongnu.org/avr-libc/
   4. http://gcc.gnu.org/PR54461

#include <avr/io.h> /* Port Definitions from AVR-LibC */

     * [297]14064 [avr-elf] -fdata-sections triggers ICE
     * [302]16884 [avr-elf] [fweb related] bug while initializing

4.5.3 to 4.7.3
--------------
 For the changes for 4.7, see following page.
  http://gcc.gnu.org/gcc-4.7/changes.html

(Picking up AVR related topic from above info):
The AVR port's libgcc has been improved and its multilib
structure has been enhanced. As a result, all objects
contributing to an application must either be compiled with
GCC versions up to 4.6.x or with GCC versions 4.7.1 or
later. If the compiler is used with AVR Libc, you need a
version that supports the new layout, i.e. implements #35407.

The AVR port's -mshort-calls command-line option has been
deprecated. It will be removed in the GCC 4.8 release. See
-mrelax for a replacement.

The AVR port only references startup code that clears .bss and
the common section resp. initializes the .data and .rodata
section provided respective sections (or subsections thereof)
are not empty, see PR18145.
  Applications that put all static storage objects into
non-standard sections and / or define all static storage
objects in assembler modules, must reference __do_clear_bss
resp. __do_copy_data by hand or undefine the symbol(s) by
means of -Wl,-u,__do_clear_bss resp. -Wl,-u,__do_copy_data.
2014-08-29 04:26:46 +00:00

16 lines
493 B
Makefile

# $NetBSD: buildlink3.mk,v 1.2 2014/08/29 04:26:46 mef Exp $
BUILDLINK_TREE+= avr-gcc
.if !defined(AVR_GCC_BUILDLINK3_MK)
AVR_GCC_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.avr-gcc+= avr-gcc>=4.8.3
BUILDLINK_PKGSRCDIR.avr-gcc?= ../../cross/avr-gcc
# Folling line was harmful, .buildlink/lib/ -> buildlinklib/
# It did not have first ending slash, probably was OK.
#BUILDLINK_FNAME_TRANSFORM.avr-gcc+= -e "s,${AVR_TARGET}/lib/,lib/,g"
.endif # AVR_GCC_BUILDLINK3_MK
BUILDLINK_TREE+= -avr-gcc