Tweak optimizations.
authorhpa <hpa>
Wed, 15 Dec 2004 12:39:24 +0000 (12:39 +0000)
committerhpa <hpa>
Wed, 15 Dec 2004 12:39:24 +0000 (12:39 +0000)
dos/Makefile
dos/syslinux.c

index 947c1c8..ac75bed 100644 (file)
@@ -1,7 +1,7 @@
 CC      = gcc -m32
 LD       = ld -m elf_i386
 OBJCOPY  = objcopy
-OPTFLAGS = -g -Os
+OPTFLAGS = -g -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-loops=0 -fomit-frame-pointer
 INCLUDES = -include code16.h -I. -I.. -I../libfat
 CFLAGS  = -W -Wall -ffreestanding $(OPTFLAGS) $(INCLUDES)
 LDFLAGS         = -T com16.ld
index 051912b..dbab7bc 100644 (file)
@@ -50,7 +50,7 @@ int open(const char *filename, int mode)
 
   rv = 0x3D00 | mode;
   asm volatile("int $0x21 ; setc %0"
-              : "=rm" (err), "+a" (rv)
+              : "=abcdm" (err), "+a" (rv)
               : "d" (filename));
   if ( err )
     die("cannot open ldlinux.sys");
@@ -79,7 +79,7 @@ ssize_t write_file(int fd, const void *buf, size_t count)
   while ( count ) {
     rv = 0x4000;
     asm volatile("int $0x21 ; setc %0"
-                : "=rm" (err), "+a" (rv)
+                : "=abcdm" (err), "+a" (rv)
                 : "b" (fd), "c" (count), "d" (buf));
     if ( err || rv == 0 )
       die("file write error");
@@ -96,7 +96,7 @@ void write_device(int drive, const void *buf, size_t nsecs, unsigned int sector)
   uint8_t err;
 
   asm volatile("int $0x26 ; setc %0 ; popfw"
-              : "=rm" (err)
+              : "=abcdm" (err)
               : "a" (drive), "b" (buf), "c" (nsecs), "d" (sector));
 
   if ( err )
@@ -108,7 +108,7 @@ void read_device(int drive, const void *buf, size_t nsecs, unsigned int sector)
   uint8_t err;
 
   asm volatile("int $0x25 ; setc %0 ; popfw"
-              : "=rm" (err)
+              : "=abcdm" (err)
               : "a" (drive), "b" (buf), "c" (nsecs), "d" (sector));
 
   if ( err )
@@ -121,7 +121,7 @@ void set_attributes(const char *file, int attributes)
   uint16_t rv = 0x4301;
 
   asm volatile("int $0x21 ; setc %0"
-              : "=rm" (err), "+a" (rv)
+              : "=abcdm" (err), "+a" (rv)
               : "c" (attributes), "d" (file));
 
   if ( err )