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