syslinux/syslinux-4.03-iso9660.diff
Steffen Winterfeldt 645ce1e6ec - update to version 4.03
* Major code base changes; all filesystem rewritten in C.
    This work was done primarily by Liu Aleaxander (Yuanhan Liu).
  * Better support for booting from MBRs which don't pass
    handover information.
  * EXTLINUX: Try to be smarter about finding the partition
    offset.
  * chain.c32: support chainloading Dell Real Mode Kernel (Gene
    Cumm).
  * chain.c32: fix booting in CHS mode.
  * Fix the -s option to the syslinux/extlinux installer (Arwin
    Vosselman).
  * isohybrid: fix padding of large images (PJ Pandit).
  * SYSLINUX: correctly handle the case where the -d option is
    specified with a non-absolute path, i.e. "syslinux -d
    syslinux" instead of "syslinux -d /syslinux".
  * ISOLINUX: recognize the directory names /boot/syslinux and
    /syslinux, and the filename syslinux.cfg in addition to the
    isolinux-specific names.  Thus, "syslinux.cfg" is now a
    generic name, whereas "isolinux.cfg" or "extlinux.conf" is
    specific to different derivative.
  * chain.c32: support setting alternate config filename for
    stage2 of GRUB Legacy (Gert Hulselmans).
  * whichsys.c32: execute specific command, based on Syslinux
    bootloader variant (Gert Hulselmans).
  * lua.c32: a lot of new bindings added to the "syslinux"
    namespace: VESA, PCI, DMI, kernel loading (Marcel Ritter).
  * btrfs: print a comprehensive error message if compressed or
    encrypted files are encountered (neither is currently

OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=25
2011-04-18 16:02:08 +00:00

39 lines
1.1 KiB
Diff

diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c
index 46f5f17..70c6910 100644
--- a/core/fs/iso9660/iso9660.c
+++ b/core/fs/iso9660/iso9660.c
@@ -275,14 +275,25 @@ static int iso_readdir(struct file *file, struct dirent *dirent)
/* Load the config file, return 1 if failed, or 0 */
static int iso_load_config(void)
{
- 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",