All below is done for GCC 4.3.1 and 4.3.2 recipes.
authorKhem Raj <raj.khem@gmail.com>
Fri, 29 Aug 2008 05:18:57 +0000 (05:18 +0000)
committerKhem Raj <raj.khem@gmail.com>
Fri, 29 Aug 2008 05:18:57 +0000 (05:18 +0000)
Enable patches for ARM big endian support.
Delete unneeded ARM big endian patches.
Adjust Thumb support patches.

16 files changed:
packages/gcc/gcc-4.3.1.inc
packages/gcc/gcc-4.3.1/800-arm-bigendian.patch
packages/gcc/gcc-4.3.1/801-arm-bigendian-eabi.patch [deleted file]
packages/gcc/gcc-4.3.1/arm-thumb.patch
packages/gcc/gcc-4.3.1/intermask-bigendian.patch [deleted file]
packages/gcc/gcc-4.3.2.inc
packages/gcc/gcc-4.3.2/800-arm-bigendian.patch
packages/gcc/gcc-4.3.2/801-arm-bigendian-eabi.patch [deleted file]
packages/gcc/gcc-4.3.2/arm-thumb.patch
packages/gcc/gcc-4.3.2/intermask-bigendian.patch [deleted file]
packages/gcc/gcc-cross-sdk_4.3.1.bb
packages/gcc/gcc-cross-sdk_4.3.2.bb
packages/gcc/gcc-cross_4.3.1.bb
packages/gcc/gcc-cross_4.3.2.bb
packages/gcc/gcc_4.3.1.bb
packages/gcc/gcc_4.3.2.bb

index 7a04be2..6bc197e 100644 (file)
@@ -20,7 +20,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://fedora/gcc43-libgomp-speedup.patch;patch=1;pnum=0 \
        file://fedora/gcc43-i386-libgomp.patch;patch=1;pnum=0 \
        file://fedora/gcc43-rh251682.patch;patch=1;pnum=0 \
-        file://debian/arm-unbreak-eabi-armv4t.dpatch;patch=1 \
+    file://debian/arm-unbreak-eabi-armv4t.dpatch;patch=1 \
        file://debian/libstdc++-pic.dpatch;patch=1;pnum=0 \
        file://debian/gcc-ice-hack.dpatch;patch=1;pnum=0 \ 
        file://debian/pr30961.dpatch;patch=1;pnum=0 \
@@ -40,13 +40,12 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 #      file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
        file://602-sdk-libstdc++-includes.patch;patch=1 \
        file://740-sh-pr24836.patch;patch=1 \
-#      file://800-arm-bigendian.patch;patch=1 \
-#      file://801-arm-bigendian-eabi.patch;patch=1 \
+       file://800-arm-bigendian.patch;patch=1 \
        file://904-flatten-switch-stmt-00.patch;patch=1 \
        file://arm-nolibfloat.patch;patch=1 \
        file://arm-softfloat.patch;patch=1 \
-#      file://arm-thumb.patch;patch=1 \
-#      file://arm-thumb-cache.patch;patch=1 \
+       file://arm-thumb.patch;patch=1 \
+       file://arm-thumb-cache.patch;patch=1 \
        file://ldflags.patch;patch=1 \
        file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
        file://cache-amnesia.patch;patch=1 \
@@ -54,7 +53,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://gcc-4.0.2-e300c2c3.patch;patch=1 \
 #      file://pr34130.patch;patch=1 \
 #      file://fortran-static-linking.patch;patch=1 \
-#      file://intermask-bigendian.patch;patch=1 \
        file://gcc-arm-frename-registers.patch;patch=1 \
        file://gcc-release-branch/PR-36500-fix-neon.patch;patch=1 \
        file://gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch;patch=1 \
index 07c6093..f433942 100644 (file)
@@ -3,37 +3,11 @@ Adds support for arm*b-linux* big-endian ARM targets
 
 See http://gcc.gnu.org/PR16350
 
---- gcc-4.2.0/gcc/config/arm/linux-elf.h
-+++ gcc-4.2.0/gcc/config/arm/linux-elf.h
-@@ -28,19 +28,33 @@
- #undef  TARGET_VERSION
- #define TARGET_VERSION  fputs (" (ARM GNU/Linux with ELF)", stderr);
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- #undef  TARGET_DEFAULT_FLOAT_ABI
- #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
- #undef  TARGET_DEFAULT
--#define TARGET_DEFAULT (0)
-+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
+Index: gcc-4.3.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.3.2.orig/gcc/config/arm/linux-elf.h  2007-11-08 05:44:09.000000000 -0800
++++ gcc-4.3.2/gcc/config/arm/linux-elf.h       2008-08-28 21:08:30.000000000 -0700
+@@ -51,7 +51,7 @@
  
  #undef  MULTILIB_DEFAULTS
  #define MULTILIB_DEFAULTS \
@@ -42,19 +16,12 @@ See http://gcc.gnu.org/PR16350
  
  /* Now we define the strings used to build the spec file.  */
  #undef  LIB_SPEC
-@@ -61,7 +75,7 @@
-    %{rdynamic:-export-dynamic} \
-    %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-    -X \
--   %{mbig-endian:-EB}" \
-+   %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
-    SUBTARGET_EXTRA_LINK_SPEC
- #undef  LINK_SPEC
---- gcc-4.2.0/gcc/config.gcc.orig      2006-09-22 14:53:41.000000000 +0200
-+++ gcc-4.2.0/gcc/config.gcc   2006-09-25 10:45:21.000000000 +0200
-@@ -696,6 +696,11 @@
-       tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
+Index: gcc-4.3.2/gcc/config.gcc
+===================================================================
+--- gcc-4.3.2.orig/gcc/config.gcc      2008-08-28 20:57:39.000000000 -0700
++++ gcc-4.3.2/gcc/config.gcc   2008-08-28 21:00:11.000000000 -0700
+@@ -742,6 +742,11 @@
+       esac
        tmake_file="${tmake_file} t-linux arm/t-arm"
        case ${target} in
 +      arm*b-*)
diff --git a/packages/gcc/gcc-4.3.1/801-arm-bigendian-eabi.patch b/packages/gcc/gcc-4.3.1/801-arm-bigendian-eabi.patch
deleted file mode 100644 (file)
index 54490fc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
-===================================================================
---- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h 2007-02-20 14:51:33.416193250 +0100
-+++ gcc-4.1.1/gcc/config/arm/linux-eabi.h      2007-02-20 14:52:11.622581000 +0100
-@@ -48,7 +48,8 @@
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
- #undef SUBTARGET_EXTRA_LINK_SPEC
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
-+#define SUBTARGET_EXTRA_LINK_SPEC \
-+    " %{mbig-endian:-m armelfb_linux_eabi} %{mlittle-endian:-m armelf_linux_eabi} "
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
-    GNU/Linux binaries on an EABI system.  */
index 016a7a5..7b0b8b2 100644 (file)
@@ -3,34 +3,11 @@
 # Patch managed by http://www.holgerschurig.de/patcher.html
 #
 
---- gcc-4.1.1/gcc/config/arm/lib1funcs.asm~gcc
-+++ gcc-4.1.1/gcc/config/arm/lib1funcs.asm
-@@ -995,10 +995,24 @@
-       .code   32
-       FUNC_START div0
-+#if ! defined __thumb__
-       stmfd   sp!, {r1, lr}
-       mov     r0, #SIGFPE
-       bl      SYM(raise) __PLT__
-       RETLDM  r1
-+#else
-+       push    {r1, lr}
-+      mov     r0, #SIGFPE
-+      bl      SYM(raise) __PLT__
-+#if __ARM_ARCH__ > 4
-+       pop     {r1, pc}
-+#else
-+       @ on 4T that won't work
-+       pop     {r1}
-+       pop     {r3}
-+       bx      r3
-+#endif
-+#endif
-       FUNC_END div0
-       
-@@ -1141,11 +1155,12 @@
+Index: gcc-4.3.1/gcc/config/arm/lib1funcs.asm
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/lib1funcs.asm        2007-05-30 12:04:09.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/lib1funcs.asm     2008-08-28 21:51:17.000000000 -0700
+@@ -1225,11 +1225,12 @@
     code here switches to the correct mode before executing the function.  */
        
        .text
@@ -44,7 +21,7 @@
  
        bx      \register
        nop
-@@ -1242,6 +1257,7 @@
+@@ -1330,6 +1331,7 @@
        .code   16
  
        THUMB_FUNC_START _interwork_call_via_\register
  
        bx      pc
        nop
---- gcc-4.1.1/gcc/config/arm/t-linux~gcc
-+++ gcc-4.1.1/gcc/config/arm/t-linux
-@@ -7,6 +7,7 @@
+Index: gcc-4.3.1/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/t-linux      2008-08-28 21:25:24.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/t-linux   2008-08-28 21:51:17.000000000 -0700
+@@ -6,6 +6,7 @@
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
      _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
      _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
diff --git a/packages/gcc/gcc-4.3.1/intermask-bigendian.patch b/packages/gcc/gcc-4.3.1/intermask-bigendian.patch
deleted file mode 100644 (file)
index fdff3d3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- gcc-4.2.0/gcc/config/arm/bpabi.h
-+++ gcc-4.2.0/gcc/config/arm/bpabi.h
-@@ -33,9 +33,19 @@
- #undef FPUTYPE_DEFAULT
- #define FPUTYPE_DEFAULT FPUTYPE_VFP
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#endif
-+
- /* EABI targets should enable interworking by default.  */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT MASK_INTERWORK
-+#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
- /* The ARM BPABI functions return a boolean; they use no special
-    calling convention.  */
-
index b21dd31..49b2a63 100644 (file)
@@ -39,8 +39,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://307-locale_facets.patch;patch=1 \
        file://602-sdk-libstdc++-includes.patch;patch=1 \
        file://740-sh-pr24836.patch;patch=1 \
-#      file://800-arm-bigendian.patch;patch=1 \
-#      file://801-arm-bigendian-eabi.patch;patch=1 \
+       file://800-arm-bigendian.patch;patch=1 \
        file://904-flatten-switch-stmt-00.patch;patch=1 \
        file://arm-nolibfloat.patch;patch=1 \
        file://arm-softfloat.patch;patch=1 \
@@ -51,7 +50,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
        file://gcc-4.0.2-e300c2c3.patch;patch=1 \
 #      file://pr34130.patch;patch=1 \
 #      file://fortran-static-linking.patch;patch=1 \
-#      file://intermask-bigendian.patch;patch=1 \
        file://gcc-arm-frename-registers.patch;patch=1 \
        file://gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch;patch=1 \
        file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \
index 07c6093..f433942 100644 (file)
@@ -3,37 +3,11 @@ Adds support for arm*b-linux* big-endian ARM targets
 
 See http://gcc.gnu.org/PR16350
 
---- gcc-4.2.0/gcc/config/arm/linux-elf.h
-+++ gcc-4.2.0/gcc/config/arm/linux-elf.h
-@@ -28,19 +28,33 @@
- #undef  TARGET_VERSION
- #define TARGET_VERSION  fputs (" (ARM GNU/Linux with ELF)", stderr);
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- #undef  TARGET_DEFAULT_FLOAT_ABI
- #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
- #undef  TARGET_DEFAULT
--#define TARGET_DEFAULT (0)
-+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
+Index: gcc-4.3.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.3.2.orig/gcc/config/arm/linux-elf.h  2007-11-08 05:44:09.000000000 -0800
++++ gcc-4.3.2/gcc/config/arm/linux-elf.h       2008-08-28 21:08:30.000000000 -0700
+@@ -51,7 +51,7 @@
  
  #undef  MULTILIB_DEFAULTS
  #define MULTILIB_DEFAULTS \
@@ -42,19 +16,12 @@ See http://gcc.gnu.org/PR16350
  
  /* Now we define the strings used to build the spec file.  */
  #undef  LIB_SPEC
-@@ -61,7 +75,7 @@
-    %{rdynamic:-export-dynamic} \
-    %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-    -X \
--   %{mbig-endian:-EB}" \
-+   %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
-    SUBTARGET_EXTRA_LINK_SPEC
- #undef  LINK_SPEC
---- gcc-4.2.0/gcc/config.gcc.orig      2006-09-22 14:53:41.000000000 +0200
-+++ gcc-4.2.0/gcc/config.gcc   2006-09-25 10:45:21.000000000 +0200
-@@ -696,6 +696,11 @@
-       tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
+Index: gcc-4.3.2/gcc/config.gcc
+===================================================================
+--- gcc-4.3.2.orig/gcc/config.gcc      2008-08-28 20:57:39.000000000 -0700
++++ gcc-4.3.2/gcc/config.gcc   2008-08-28 21:00:11.000000000 -0700
+@@ -742,6 +742,11 @@
+       esac
        tmake_file="${tmake_file} t-linux arm/t-arm"
        case ${target} in
 +      arm*b-*)
diff --git a/packages/gcc/gcc-4.3.2/801-arm-bigendian-eabi.patch b/packages/gcc/gcc-4.3.2/801-arm-bigendian-eabi.patch
deleted file mode 100644 (file)
index 54490fc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
-===================================================================
---- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h 2007-02-20 14:51:33.416193250 +0100
-+++ gcc-4.1.1/gcc/config/arm/linux-eabi.h      2007-02-20 14:52:11.622581000 +0100
-@@ -48,7 +48,8 @@
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
- #undef SUBTARGET_EXTRA_LINK_SPEC
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
-+#define SUBTARGET_EXTRA_LINK_SPEC \
-+    " %{mbig-endian:-m armelfb_linux_eabi} %{mlittle-endian:-m armelf_linux_eabi} "
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
-    GNU/Linux binaries on an EABI system.  */
index 016a7a5..7b0b8b2 100644 (file)
@@ -3,34 +3,11 @@
 # Patch managed by http://www.holgerschurig.de/patcher.html
 #
 
---- gcc-4.1.1/gcc/config/arm/lib1funcs.asm~gcc
-+++ gcc-4.1.1/gcc/config/arm/lib1funcs.asm
-@@ -995,10 +995,24 @@
-       .code   32
-       FUNC_START div0
-+#if ! defined __thumb__
-       stmfd   sp!, {r1, lr}
-       mov     r0, #SIGFPE
-       bl      SYM(raise) __PLT__
-       RETLDM  r1
-+#else
-+       push    {r1, lr}
-+      mov     r0, #SIGFPE
-+      bl      SYM(raise) __PLT__
-+#if __ARM_ARCH__ > 4
-+       pop     {r1, pc}
-+#else
-+       @ on 4T that won't work
-+       pop     {r1}
-+       pop     {r3}
-+       bx      r3
-+#endif
-+#endif
-       FUNC_END div0
-       
-@@ -1141,11 +1155,12 @@
+Index: gcc-4.3.1/gcc/config/arm/lib1funcs.asm
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/lib1funcs.asm        2007-05-30 12:04:09.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/lib1funcs.asm     2008-08-28 21:51:17.000000000 -0700
+@@ -1225,11 +1225,12 @@
     code here switches to the correct mode before executing the function.  */
        
        .text
@@ -44,7 +21,7 @@
  
        bx      \register
        nop
-@@ -1242,6 +1257,7 @@
+@@ -1330,6 +1331,7 @@
        .code   16
  
        THUMB_FUNC_START _interwork_call_via_\register
  
        bx      pc
        nop
---- gcc-4.1.1/gcc/config/arm/t-linux~gcc
-+++ gcc-4.1.1/gcc/config/arm/t-linux
-@@ -7,6 +7,7 @@
+Index: gcc-4.3.1/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/t-linux      2008-08-28 21:25:24.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/t-linux   2008-08-28 21:51:17.000000000 -0700
+@@ -6,6 +6,7 @@
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
      _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
      _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
diff --git a/packages/gcc/gcc-4.3.2/intermask-bigendian.patch b/packages/gcc/gcc-4.3.2/intermask-bigendian.patch
deleted file mode 100644 (file)
index fdff3d3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- gcc-4.2.0/gcc/config/arm/bpabi.h
-+++ gcc-4.2.0/gcc/config/arm/bpabi.h
-@@ -33,9 +33,19 @@
- #undef FPUTYPE_DEFAULT
- #define FPUTYPE_DEFAULT FPUTYPE_VFP
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#endif
-+
- /* EABI targets should enable interworking by default.  */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT MASK_INTERWORK
-+#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
- /* The ARM BPABI functions return a boolean; they use no special
-    calling convention.  */
-
index fe44c73..48934f7 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r12"
+PR = "r13"
 
 require gcc-${PV}.inc
 require gcc-cross4.inc
index d41b7a4..7e649ac 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 require gcc-${PV}.inc
 require gcc-cross4.inc
 require gcc-configure-cross.inc
index 1514b1a..c2fd8cc 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r8"
+PR = "r9"
 
 require gcc-${PV}.inc
 require gcc-configure-target.inc
index bdca9ca..158469e 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 require gcc-${PV}.inc
 require gcc-configure-target.inc
 require gcc-package-target.inc