head	1.4;
access;
symbols
	pkgsrc-2026Q1:1.4.0.166
	pkgsrc-2026Q1-base:1.4
	pkgsrc-2025Q4:1.4.0.164
	pkgsrc-2025Q4-base:1.4
	pkgsrc-2025Q3:1.4.0.162
	pkgsrc-2025Q3-base:1.4
	pkgsrc-2025Q2:1.4.0.160
	pkgsrc-2025Q2-base:1.4
	pkgsrc-2025Q1:1.4.0.158
	pkgsrc-2025Q1-base:1.4
	pkgsrc-2024Q4:1.4.0.156
	pkgsrc-2024Q4-base:1.4
	pkgsrc-2024Q3:1.4.0.154
	pkgsrc-2024Q3-base:1.4
	pkgsrc-2024Q2:1.4.0.152
	pkgsrc-2024Q2-base:1.4
	pkgsrc-2024Q1:1.4.0.150
	pkgsrc-2024Q1-base:1.4
	pkgsrc-2023Q4:1.4.0.148
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q3:1.4.0.146
	pkgsrc-2023Q3-base:1.4
	pkgsrc-2023Q2:1.4.0.144
	pkgsrc-2023Q2-base:1.4
	pkgsrc-2023Q1:1.4.0.142
	pkgsrc-2023Q1-base:1.4
	pkgsrc-2022Q4:1.4.0.140
	pkgsrc-2022Q4-base:1.4
	pkgsrc-2022Q3:1.4.0.138
	pkgsrc-2022Q3-base:1.4
	pkgsrc-2022Q2:1.4.0.136
	pkgsrc-2022Q2-base:1.4
	pkgsrc-2022Q1:1.4.0.134
	pkgsrc-2022Q1-base:1.4
	pkgsrc-2021Q4:1.4.0.132
	pkgsrc-2021Q4-base:1.4
	pkgsrc-2021Q3:1.4.0.130
	pkgsrc-2021Q3-base:1.4
	pkgsrc-2021Q2:1.4.0.128
	pkgsrc-2021Q2-base:1.4
	pkgsrc-2021Q1:1.4.0.126
	pkgsrc-2021Q1-base:1.4
	pkgsrc-2020Q4:1.4.0.124
	pkgsrc-2020Q4-base:1.4
	pkgsrc-2020Q3:1.4.0.122
	pkgsrc-2020Q3-base:1.4
	pkgsrc-2020Q2:1.4.0.118
	pkgsrc-2020Q2-base:1.4
	pkgsrc-2020Q1:1.4.0.98
	pkgsrc-2020Q1-base:1.4
	pkgsrc-2019Q4:1.4.0.120
	pkgsrc-2019Q4-base:1.4
	pkgsrc-2019Q3:1.4.0.116
	pkgsrc-2019Q3-base:1.4
	pkgsrc-2019Q2:1.4.0.114
	pkgsrc-2019Q2-base:1.4
	pkgsrc-2019Q1:1.4.0.112
	pkgsrc-2019Q1-base:1.4
	pkgsrc-2018Q4:1.4.0.110
	pkgsrc-2018Q4-base:1.4
	pkgsrc-2018Q3:1.4.0.108
	pkgsrc-2018Q3-base:1.4
	pkgsrc-2018Q2:1.4.0.106
	pkgsrc-2018Q2-base:1.4
	pkgsrc-2018Q1:1.4.0.104
	pkgsrc-2018Q1-base:1.4
	pkgsrc-2017Q4:1.4.0.102
	pkgsrc-2017Q4-base:1.4
	pkgsrc-2017Q3:1.4.0.100
	pkgsrc-2017Q3-base:1.4
	pkgsrc-2017Q2:1.4.0.96
	pkgsrc-2017Q2-base:1.4
	pkgsrc-2017Q1:1.4.0.94
	pkgsrc-2017Q1-base:1.4
	pkgsrc-2016Q4:1.4.0.92
	pkgsrc-2016Q4-base:1.4
	pkgsrc-2016Q3:1.4.0.90
	pkgsrc-2016Q3-base:1.4
	pkgsrc-2016Q2:1.4.0.88
	pkgsrc-2016Q2-base:1.4
	pkgsrc-2016Q1:1.4.0.86
	pkgsrc-2016Q1-base:1.4
	pkgsrc-2015Q4:1.4.0.84
	pkgsrc-2015Q4-base:1.4
	pkgsrc-2015Q3:1.4.0.82
	pkgsrc-2015Q3-base:1.4
	pkgsrc-2015Q2:1.4.0.80
	pkgsrc-2015Q2-base:1.4
	pkgsrc-2015Q1:1.4.0.78
	pkgsrc-2015Q1-base:1.4
	pkgsrc-2014Q4:1.4.0.76
	pkgsrc-2014Q4-base:1.4
	pkgsrc-2014Q3:1.4.0.74
	pkgsrc-2014Q3-base:1.4
	pkgsrc-2014Q2:1.4.0.72
	pkgsrc-2014Q2-base:1.4
	pkgsrc-2014Q1:1.4.0.70
	pkgsrc-2014Q1-base:1.4
	pkgsrc-2013Q4:1.4.0.68
	pkgsrc-2013Q4-base:1.4
	pkgsrc-2013Q3:1.4.0.66
	pkgsrc-2013Q3-base:1.4
	pkgsrc-2013Q2:1.4.0.64
	pkgsrc-2013Q2-base:1.4
	pkgsrc-2013Q1:1.4.0.62
	pkgsrc-2013Q1-base:1.4
	pkgsrc-2012Q4:1.4.0.60
	pkgsrc-2012Q4-base:1.4
	pkgsrc-2012Q3:1.4.0.58
	pkgsrc-2012Q3-base:1.4
	pkgsrc-2012Q2:1.4.0.56
	pkgsrc-2012Q2-base:1.4
	pkgsrc-2012Q1:1.4.0.54
	pkgsrc-2012Q1-base:1.4
	pkgsrc-2011Q4:1.4.0.52
	pkgsrc-2011Q4-base:1.4
	pkgsrc-2011Q3:1.4.0.50
	pkgsrc-2011Q3-base:1.4
	pkgsrc-2011Q2:1.4.0.48
	pkgsrc-2011Q2-base:1.4
	pkgsrc-2011Q1:1.4.0.46
	pkgsrc-2011Q1-base:1.4
	pkgsrc-2010Q4:1.4.0.44
	pkgsrc-2010Q4-base:1.4
	pkgsrc-2010Q3:1.4.0.42
	pkgsrc-2010Q3-base:1.4
	pkgsrc-2010Q2:1.4.0.40
	pkgsrc-2010Q2-base:1.4
	pkgsrc-2010Q1:1.4.0.38
	pkgsrc-2010Q1-base:1.4
	pkgsrc-2009Q4:1.4.0.36
	pkgsrc-2009Q4-base:1.4
	pkgsrc-2009Q3:1.4.0.34
	pkgsrc-2009Q3-base:1.4
	pkgsrc-2009Q2:1.4.0.32
	pkgsrc-2009Q2-base:1.4
	pkgsrc-2009Q1:1.4.0.30
	pkgsrc-2009Q1-base:1.4
	pkgsrc-2008Q4:1.4.0.28
	pkgsrc-2008Q4-base:1.4
	pkgsrc-2008Q3:1.4.0.26
	pkgsrc-2008Q3-base:1.4
	cube-native-xorg:1.4.0.24
	cube-native-xorg-base:1.4
	pkgsrc-2008Q2:1.4.0.22
	pkgsrc-2008Q2-base:1.4
	cwrapper:1.4.0.20
	pkgsrc-2008Q1:1.4.0.18
	pkgsrc-2008Q1-base:1.4
	pkgsrc-2007Q4:1.4.0.16
	pkgsrc-2007Q4-base:1.4
	pkgsrc-2007Q3:1.4.0.14
	pkgsrc-2007Q3-base:1.4
	pkgsrc-2007Q2:1.4.0.12
	pkgsrc-2007Q2-base:1.4
	pkgsrc-2007Q1:1.4.0.10
	pkgsrc-2007Q1-base:1.4
	pkgsrc-2006Q4:1.4.0.8
	pkgsrc-2006Q4-base:1.4
	pkgsrc-2006Q3:1.4.0.6
	pkgsrc-2006Q3-base:1.4
	pkgsrc-2006Q2:1.4.0.4
	pkgsrc-2006Q2-base:1.4
	pkgsrc-2006Q1:1.4.0.2
	pkgsrc-2006Q1-base:1.4
	pkgsrc-2005Q4:1.3.0.4
	pkgsrc-2005Q4-base:1.3
	pkgsrc-2005Q3:1.3.0.2
	pkgsrc-2005Q3-base:1.3
	pkgsrc-2005Q2:1.2.0.12
	pkgsrc-2005Q2-base:1.2
	pkgsrc-2005Q1:1.2.0.10
	pkgsrc-2005Q1-base:1.2
	pkgsrc-2004Q4:1.2.0.8
	pkgsrc-2004Q4-base:1.2
	pkgsrc-2004Q3:1.2.0.6
	pkgsrc-2004Q3-base:1.2
	pkgsrc-2004Q2:1.2.0.4
	pkgsrc-2004Q2-base:1.2
	pkgsrc-2004Q1:1.2.0.2
	pkgsrc-2004Q1-base:1.2
	pkgsrc-2003Q4:1.1.0.2
	pkgsrc-2003Q4-base:1.1;
locks; strict;
comment	@# @;


1.4
date	2006.02.03.09.59.32;	author jmmv;	state Exp;
branches;
next	1.3;

1.3
date	2005.08.21.15.08.46;	author jmmv;	state Exp;
branches;
next	1.2;

1.2
date	2004.01.29.18.36.38;	author jmmv;	state dead;
branches;
next	1.1;

1.1
date	2003.03.14.23.35.25;	author thorpej;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Workaround a bug that prevents GRUB to load ELF kernels that explicitly
specify load addresses in their Multiboot header.  (E.g., NetBSD.)

This has already been sent to GRUB's bug tracking system:

	http://savannah.gnu.org/bugs/?func=detailitem&item_id=15590

Bump PKGREVISION to 4.
@
text
@$NetBSD: patch-ac,v 1.3 2005/08/21 15:08:46 jmmv Exp $

--- stage2/boot.c.orig	2004-03-30 13:44:08.000000000 +0200
+++ stage2/boot.c
@@@@ -22,6 +22,7 @@@@
 #include "shared.h"
 
 #include "freebsd.h"
+#include "netbsd_reboot.h"
 #include "imgact_aout.h"
 #include "i386-elf.h"
 
@@@@ -104,7 +105,21 @@@@ load_image (char *kernel, char *arg, ker
       && BOOTABLE_I386_ELF ((*((Elf32_Ehdr *) buffer))))
     {
       if (type == KERNEL_TYPE_MULTIBOOT)
-	entry_addr = (entry_func) pu.elf->e_entry;
+        {
+          if (flags & MULTIBOOT_AOUT_KLUDGE)
+            {
+              struct multiboot_header *mbh;
+
+              mbh = (struct multiboot_header *) (buffer + i);
+
+              entry_addr = (entry_func) mbh->entry_addr;
+              text_len = mbh->load_end_addr - mbh->load_addr;
+              data_len = 0;
+              bss_len = mbh->bss_end_addr - mbh->load_end_addr;
+            }
+          else
+	    entry_addr = (entry_func) pu.elf->e_entry;
+        }
       else
 	entry_addr = (entry_func) (pu.elf->e_entry & 0xFFFFFF);
 
@@@@ -610,9 +625,19 @@@@ load_image (char *kernel, char *arg, ker
 	      if (type == KERNEL_TYPE_FREEBSD || type == KERNEL_TYPE_NETBSD)
 		memaddr = RAW_ADDR (phdr->p_paddr & 0xFFFFFF);
 	      else
-		memaddr = RAW_ADDR (phdr->p_paddr);
+                {
+                  memaddr = RAW_ADDR (phdr->p_paddr);
+                  if (flags & MULTIBOOT_AOUT_KLUDGE &&
+                      memaddr >= mbi.mem_upper * 1024)
+                    {
+                      memaddr &= RAW_ADDR (0xFFFFFF);
+                    }
+                }
 	      
 	      memsiz = phdr->p_memsz;
+	      if (flags & MULTIBOOT_AOUT_KLUDGE)
+		memsiz += bss_len;
+
 	      if (memaddr < RAW_ADDR (0x100000))
 		errnum = ERR_BELOW_1MB;
 
@@@@ -872,6 +897,91 @@@@ bsd_boot_entry (int flags, int bootdev, 
  *  variables.
  */
 
+int 
+netbsd_value(char arg) 
+{
+    switch (arg) {
+        case 'a':
+            return(NB_RB_ASKNAME);
+            break;
+        case 'b':
+            return(NB_RB_HALT);
+            break;
+        case 'c':
+            return(NB_RB_USERCONF);
+            break;
+        case 'd':
+            return(NB_RB_KDB);
+            break;
+        case 'm':
+            return(NB_RB_MINIROOT);
+            break;
+        case 'q':
+            return(NB_AB_QUIET);
+            break;
+        case 's':
+            return(NB_RB_SINGLE);
+            break;
+        case 'v':
+            return(NB_AB_VERBOSE);
+            break;
+        case 'x':
+            return(NB_AB_DEBUG);
+            break;
+        case 'z':
+            return(NB_AB_SILENT);
+            break;
+        default:
+            break;
+    }
+    return(0);
+}
+
+int 
+freebsd_value(char arg) 
+{
+    switch (arg) {
+        case 'C':
+            return(RB_CDROM);
+            break;
+        case 'a':
+            return(RB_ASKNAME);
+            break;
+        case 'b':
+            return(RB_HALT);
+            break;
+        case 'c':
+            return(RB_CONFIG);
+            break;
+        case 'd':
+            return(RB_KDB);
+            break;
+        case 'D':
+            return(RB_MULTIPLE);
+            break;
+        case 'g':
+            return(RB_GDB);
+            break;
+        case 'h':
+            return(RB_SERIAL);
+            break;
+        case 'm':
+            return(RB_MUTE);
+            break;
+        case 'r':
+            return(RB_DFLTROOT);
+            break;
+        case 's':
+            return(RB_SINGLE);
+            break;
+        case 'v':
+            return(RB_VERBOSE);
+            break;
+        default:
+            break;
+    }
+    return(0);
+}
 
 void
 bsd_boot (kernel_t type, int bootdev, char *arg)
@@@@ -894,31 +1004,12 @@@@ bsd_boot (kernel_t type, int bootdev, ch
 	{
 	  while (*str && *str != ' ')
 	    {
-	      if (*str == 'C')
-		clval |= RB_CDROM;
-	      if (*str == 'a')
-		clval |= RB_ASKNAME;
-	      if (*str == 'b')
-		clval |= RB_HALT;
-	      if (*str == 'c')
-		clval |= RB_CONFIG;
-	      if (*str == 'd')
-		clval |= RB_KDB;
-	      if (*str == 'D')
-		clval |= RB_MULTIPLE;
-	      if (*str == 'g')
-		clval |= RB_GDB;
-	      if (*str == 'h')
-		clval |= RB_SERIAL;
-	      if (*str == 'm')
-		clval |= RB_MUTE;
-	      if (*str == 'r')
-		clval |= RB_DFLTROOT;
-	      if (*str == 's')
-		clval |= RB_SINGLE;
-	      if (*str == 'v')
-		clval |= RB_VERBOSE;
-	      str++;
+        if (type == KERNEL_TYPE_NETBSD) {
+            clval |= netbsd_value(*str);
+        } else {
+            clval |= freebsd_value(*str);
+        }
+        str++;
 	    }
 	  continue;
 	}
@


1.3
log
@Apply patches to recognize boot options passed to NetBSD kernels.
Bump PKGREVISION to 1.  From Piotr Meyer in PR pkg/30834.

As GRUB 0.x is in maintenance-only status now, I assume there is no
chance to get them incorporated mainstream.  We'll keep them here
though, as they seem useful (could have really helped me in some
situations when needing to boot single user).
@
text
@d1 1
a1 1
$NetBSD$
d3 2
a4 2
--- stage2/boot.c	2004-03-30 13:44:08.000000000 +0200
+++ stage2/boot.c	2005-07-25 21:55:29.000000000 +0200
d13 45
a57 1
@@@@ -872,6 +873,91 @@@@
d149 1
a149 1
@@@@ -894,31 +980,12 @@@@
@


1.2
log
@Update grub to 0.94:
* Support building on x86-64 with gcc -m32.
* Use a BIOS call to turn on/off Gate A20. This should solve various
  problems related to Gate A20 in modern BIOSes.
* Add a workaround for buggy BIOSes (notably HP Vectra series) which
  don't pass the boot drive correctly.
* Display "GNU GRUB" instead of "GRUB" in the menu.
* Add support for QNX RTP into the grub shell.
* Add support for the initrd max address of a kernel header in Linux.
* Support 32 bit and 64 bit dev_t.
* Add support for an install device in GRUB's notation with no
  parenthesis (e.g. grub-install hd0).
* Improve the manual a lot.

While here, add a new build definition, GRUB_PRESET_COMMAND, which can be
set to a single command that will be embedded in grub's stage2 and executed
during bootup (useful for automated diskless setups).  Also make use of
BUILD_DEFS properly.  And pick up maintainership, as requested by tron@@.
@
text
@d1 1
a1 1
$NetBSD: patch-ac,v 1.1 2003/03/14 23:35:25 thorpej Exp $
d3 140
a142 164
--- netboot/Makefile.am.orig	2003-03-14 15:21:01.000000000 -0800
+++ netboot/Makefile.am	2003-03-14 15:21:18.000000000 -0800
@@@@ -19,7 +19,7 @@@@
 	ni5010.c ns8390.c ns8390.h otulip.c otulip.h rtl8139.c \
 	sis900.c sis900.h sk_g16.c sk_g16.h smc9000.c smc9000.h \
 	tiara.c tlan.c tulip.c via-rhine.c w89c840.c
-libdrivers_a_CFLAGS = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+libdrivers_a_CFLAGS = $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	-DFSYS_TFTP=1 $(NET_CFLAGS) $(NET_EXTRAFLAGS)
 # Filled by configure.
 libdrivers_a_LIBADD = @@NETBOOT_DRIVERS@@
@@@@ -60,127 +60,127 @@@@
 # Is it really necessary to specify dependecies explicitly?
 $(3c509_drivers): 3c509.c 3c509.h
 $(3c509_drivers): %.o: 3c509.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(3c595_drivers): 3c595.c 3c595.h
 $(3c595_drivers): %.o: 3c595.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(3c90x_drivers): 3c90x.c
 $(3c90x_drivers): %.o: 3c90x.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(cs89x0_drivers): cs89x0.c cs89x0.h
 $(cs89x0_drivers): %.o: cs89x0.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(davicom_drivers): davicom.c
 $(davicom_drivers): %.o: davicom.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(depca_drivers): depca.c
 $(depca_drivers): %.o: depca.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(eepro_drivers): eepro.c
 $(eepro_drivers): %.o: eepro.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(eepro100_drivers): eepro100.c
 $(eepro100_drivers): %.o: eepro100.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(epic100_drivers): epic100.c epic100.h
 $(epic100_drivers): %.o: epic100.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 #$(fa311_drivers): fa311.c
 #$(fa311_drivers): %.o: fa311.c
-#	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+#	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 #	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(i82586_drivers): i82586.c
 $(i82586_drivers): %.o: i82586.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(lance_drivers): lance.c
 $(lance_drivers): %.o: lance.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(natsemi_drivers): natsemi.c
 $(natsemi_drivers): %.o: natsemi.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(ni5010_drivers): ni5010.c
 $(ni5010_drivers): %.o: ni5010.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(ns8390_drivers): ns8390.c ns8390.h
 $(ns8390_drivers): %.o: ns8390.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(otulip_drivers): otulip.c otulip.h
 $(otulip_drivers): %.o: otulip.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(rtl8139_drivers): rtl8139.c
 $(rtl8139_drivers): %.o: rtl8139.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(sis900_drivers): sis900.c
 $(sis900_drivers): %.o: sis900.c sis900.h
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(sk_g16_drivers): sk_g16.c sk_g16.h
 $(sk_g16_drivers): %.o: sk_g16.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(smc9000_drivers): smc9000.c smc9000.h
 $(smc9000_drivers): %.o: smc9000.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(tiara_drivers): tiara.c
 $(tiara_drivers): %.o: tiara.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 #$(tlan_drivers): tlan.c
 #$(tlan_drivers): %.o: tlan.c
-#	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+#	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 #	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(tulip_drivers): tulip.c
 $(tulip_drivers): %.o: tulip.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(via_rhine_drivers): via-rhine.c
 $(via_rhine_drivers): %.o: via-rhine.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 $(w89c840_drivers): w89c840.c
 $(w89c840_drivers): %.o: w89c840.c
-	$(COMPILE) $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+	$(COMPILE) $(STAGE2_CFLAGS) -ffreestanding -nostdinc \
 	  $(NET_EXTRAFLAGS) $($(basename $@@)_o_CFLAGS) -o $@@ -c $<
 
 # Per-object flags.
@


1.1
log
@Replace uses of -fno-builtin with -ffreestanding.  -ffreestanding also
implies -fno-builtin, but also conveys additional information ("not in
a hosted environment").

This is 1/2 of the fix for PR toolchain/19265.
@
text
@d1 1
a1 1
$NetBSD$
@

