File 0001-iso9660-Put-search_directories-to-different-section.patch of Package syslinux

From 3211472b5ddeb986f648916f223d374635f575cc Mon Sep 17 00:00:00 2001
From: Steffen Winterfeldt <snwint@suse.de>
Date: Mon, 18 Apr 2011 17:35:01 +0200
Subject: [PATCH 01/22] iso9660: Put search_directories[] to different section

so it won't be compressed (and we can patch it later).
---
 core/fs/iso9660/iso9660.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c
index 8dc9e467..351d64a0 100644
--- a/core/fs/iso9660/iso9660.c
+++ b/core/fs/iso9660/iso9660.c
@@ -257,14 +257,25 @@ static int iso_readdir(struct file *file, struct dirent *dirent)
 /* Load the config file, return 1 if failed, or 0 */
 static int iso_open_config(struct com32_filedata *filedata)
 {
-    static const char *search_directories[] = {
-	"/boot/isolinux", 
-	"/isolinux",
-	"/boot/syslinux", 
-	"/syslinux", 
-	"/",
-	NULL
-    };
+   /*
+    * Put search_directories[] to different section so it
+    * won't be compressed (and we can patch it later).
+    */
+    __asm__(
+      ".section .data16\n"
+      ".s1: .ascii \"/boot\"\n"
+      ".s2: .string \"/isolinux\"\n"
+      ".fill 64, 1, 0\n"
+      ".s3: .ascii \"/boot\"\n"
+      ".s4: .string \"/syslinux\"\n"
+      ".s5: .string \"/\"\n"
+      ".align 4\n"
+      "search_directories:\n"
+      ".long .s1, .s2, .s3, .s4, .s5, 0\n"
+      ".text\n"
+    );
+    extern const char *search_directories[];
+
     static const char *filenames[] = {
 	"isolinux.cfg",
 	"syslinux.cfg",
-- 
2.42.0

openSUSE Build Service is sponsored by