summaryrefslogtreecommitdiff
path: root/cross/i386-netbsdpe/patches
diff options
context:
space:
mode:
Diffstat (limited to 'cross/i386-netbsdpe/patches')
-rw-r--r--cross/i386-netbsdpe/patches/binutils-aa16
-rw-r--r--cross/i386-netbsdpe/patches/binutils-ab12
-rw-r--r--cross/i386-netbsdpe/patches/binutils-ac13
-rw-r--r--cross/i386-netbsdpe/patches/binutils-ad20
-rw-r--r--cross/i386-netbsdpe/patches/patch-de46
5 files changed, 95 insertions, 12 deletions
diff --git a/cross/i386-netbsdpe/patches/binutils-aa b/cross/i386-netbsdpe/patches/binutils-aa
index b0b9e9b7e84..69bc170687d 100644
--- a/cross/i386-netbsdpe/patches/binutils-aa
+++ b/cross/i386-netbsdpe/patches/binutils-aa
@@ -1,13 +1,15 @@
---- bfd/config.bfd.dist Sun Oct 1 20:56:02 2000
-+++ bfd/config.bfd Sun Oct 1 20:56:55 2000
-@@ -195,6 +195,10 @@
- targ_selvecs=i386bsd_vec
- targ_underscore=yes
+$NetBSD: binutils-aa,v 1.2 2001/10/21 12:24:16 kent Exp $
+
+--- bfd/config.bfd.dist Thu Jun 14 20:16:59 2001
++++ bfd/config.bfd
+@@ -351,6 +351,10 @@
+ targ_defvec=bfd_elf32_i386_vec
+ targ_selvecs=i386netbsd_vec
;;
+ i[3456]86-*-netbsdpe*)
+ targ_defvec=i386pe_vec
+ targ_selvecs="i386pe_vec i386pei_vec"
+ ;;
- i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
+ i[3456]86-*-netbsdaout* | i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
targ_defvec=i386netbsd_vec
- targ_selvecs=i386bsd_vec
+ targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
diff --git a/cross/i386-netbsdpe/patches/binutils-ab b/cross/i386-netbsdpe/patches/binutils-ab
index fbdb0b51b09..2357aed8ffe 100644
--- a/cross/i386-netbsdpe/patches/binutils-ab
+++ b/cross/i386-netbsdpe/patches/binutils-ab
@@ -1,10 +1,12 @@
---- gas/configure.in.dist Sun Oct 1 20:59:05 2000
-+++ gas/configure.in Sun Oct 1 20:59:46 2000
-@@ -150,6 +150,7 @@
- i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
+$NetBSD: binutils-ab,v 1.2 2001/10/21 12:24:16 kent Exp $
+
+--- gas/configure.in.dist Mon Jun 11 19:04:44 2001
++++ gas/configure.in
+@@ -240,6 +240,7 @@
+ i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
i386-*-bsd*) fmt=aout em=386bsd ;;
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
+ i386-*-netbsdpe*) fmt=coff em=pe bfd_gas=yes ;;
i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
- i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
+ i386-*-linux*aout* | i386-*-linux*oldld) fmt=aout em=linux ;;
diff --git a/cross/i386-netbsdpe/patches/binutils-ac b/cross/i386-netbsdpe/patches/binutils-ac
new file mode 100644
index 00000000000..e4150e08776
--- /dev/null
+++ b/cross/i386-netbsdpe/patches/binutils-ac
@@ -0,0 +1,13 @@
+$NetBSD: binutils-ac,v 1.1 2001/10/21 12:24:16 kent Exp $
+
+--- ld/configure.tgt.dist Mon Jun 11 19:05:08 2001
++++ ld/configure.tgt
+@@ -144,6 +144,8 @@
+ i[3456]86-*-solaris2*) targ_emul=elf_i386 ;;
+ i[3456]86-*-unixware) targ_emul=elf_i386 ;;
+ i[3456]86-*-solaris*) targ_emul=elf_i386 ;;
++i[3456]86-*-netbsdpe*) targ_emul=i386pe ;
++ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+ i[3456]86-*-netbsd*) targ_emul=i386nbsd ;;
+ i[3456]86-*-netware) targ_emul=i386nw ;;
+ i[3456]86-*-elf*) targ_emul=elf_i386 ;;
diff --git a/cross/i386-netbsdpe/patches/binutils-ad b/cross/i386-netbsdpe/patches/binutils-ad
new file mode 100644
index 00000000000..5107dd33ff3
--- /dev/null
+++ b/cross/i386-netbsdpe/patches/binutils-ad
@@ -0,0 +1,20 @@
+$NetBSD: binutils-ad,v 1.1 2001/10/21 12:24:16 kent Exp $
+
+--- bfd/cofflink.c.orig Thu Jun 7 12:08:24 2001
++++ bfd/cofflink.c
+@@ -708,6 +708,15 @@
+ long_section_names = false;
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
++#if 0
++ fprintf(stderr, "_bfd_coff_final_link: %s%s%s%s%s\n", o->name
++ o->flags & SEC_CODE ? " SEC_CODE" : "",
++ o->flags & SEC_DATA ? " SEC_DATA" : "",
++ o->flags & SEC_ALLOC ? " SEC_ALLOC" : "",
++ o->flags & SEC_READONLY ? " SEC_READONLY" : "");
++#endif
++ if (o->flags & SEC_CODE && o->flags & SEC_DATA)
++ o->flags &= ~SEC_DATA;
+ o->reloc_count = 0;
+ o->lineno_count = 0;
+ for (p = o->link_order_head; p != NULL; p = p->next)
diff --git a/cross/i386-netbsdpe/patches/patch-de b/cross/i386-netbsdpe/patches/patch-de
new file mode 100644
index 00000000000..6778f128899
--- /dev/null
+++ b/cross/i386-netbsdpe/patches/patch-de
@@ -0,0 +1,46 @@
+$NetBSD: patch-de,v 1.1 2001/10/21 12:24:16 kent Exp $
+
+--- gcc/cp/decl.c~ Tue Mar 27 22:17:25 2001
++++ gcc/cp/decl.c
+@@ -10266,8 +10266,18 @@
+ ignore_attrs = 0;
+ else if (inner_attrs)
+ {
+- decl_attributes (type, inner_attrs, NULL_TREE);
+- inner_attrs = NULL_TREE;
++ /*decl_attributes (type, inner_attrs, NULL_TREE);*/
++ /* Create a dummy decl to pass to decl_attributes. The
++ attributes will be added to a variant of type, and this
++ new variant type can be retrieved from the dummy decl.
++ Passing type directly causes the attributes to be added
++ to type, which is wrong because type may be used
++ elsewhere without attributes. */
++
++ tree dummy = build_decl (TYPE_DECL, NULL_TREE, type);
++ decl_attributes (dummy, inner_attrs, NULL_TREE);
++ type = TREE_TYPE (dummy);
++ inner_attrs = NULL_TREE;
+ }
+
+ switch (TREE_CODE (declarator))
+@@ -10969,7 +10979,19 @@
+ if (inner_attrs)
+ {
+ if (! ignore_attrs)
+- decl_attributes (type, inner_attrs, NULL_TREE);
++ /*decl_attributes (type, inner_attrs, NULL_TREE);*/
++ {
++ /* Create a dummy decl to pass to decl_attributes. The
++ attributes will be added to a variant of type, and this
++ new variant type can be retrieved from the dummy decl.
++ Passing type directly causes the attributes to be added
++ to type, which is wrong because type may be used
++ elsewhere without attributes. */
++
++ tree dummy = build_decl (TYPE_DECL, NULL_TREE, type);
++ decl_attributes (dummy, inner_attrs, NULL_TREE);
++ type = TREE_TYPE (dummy);
++ }
+ else if (attrlist)
+ TREE_VALUE (attrlist) = chainon (inner_attrs, TREE_VALUE (attrlist));
+ else