syslinux/syslinux-4.04-iso9660.diff
Steffen Winterfeldt bbba68999e - update to version 4.04
* PXELINUX: Fix handling of unqualified DNS names.
  * PXELINUX: Fix timer bug when PXELINUX might be unloaded
    (Gene Cumm).
  * core/writedec.inc: Fix duplicate declaration and overflow
    (Gene Cumm).
  * GCC 4.5 fixes.
  * sample directory: Fix Makefile include (Gene Cumm).
  * ver.com: New universal DOS/COMBOOT application to display
    version information (includes DRMK) (Gene Cumm).
  * rosh.c32: updated; Using getopt() for internal commands to aid
    parsing options; Fix bugs in ls; add warm reboot and echo
    (Gene Cumm).
  * com32: fix a file descriptor leak.
  * gfxboot.c32: handle TEXT..ENDTEXT; error out on no LABELs
    found (Sebastian Herbszt).
  * Fix booting on non-partitioned devices.
  * MBR, isohybrid: Workaround for a BIOS issue on Acer
    Travelmate and possibly other machines.
  * COM32: Adding ACPI parsing libary
  * HDT: Release 0.4.1 to support ACPI parsing, 
    improved mutli-core/cpu reporting 
  * LUA: Updating to 5.1.4-2
  * SYSLINUX: core/diskstart.inc: Reset DS after checksum in case
    it isn't 0 (Gene Cumm).
  * win64: Script update for additional mingw compiler names
    (Gene Cumm).
  * diag: New directory for diagnostic-related tools.  Add a
    handoff MBR/VBR and geometry display images (Gene Cumm).

OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=26
2011-04-19 08:49:59 +00:00

39 lines
1.1 KiB
Diff

diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c
index 3cd3ac4..9bbc299 100644
--- a/core/fs/iso9660/iso9660.c
+++ b/core/fs/iso9660/iso9660.c
@@ -228,14 +228,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",