summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: error out if the core has undefined symbolssyslinux-6.04-pre1H. Peter Anvin2016-03-011-0/+2
| | | | | | | | --unresolved-symbols=report-all apparently doesn't report the case where a symbol is requested but never referenced. Error out if necessary. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/extern.inc: http_bake_cookies is not called from assemblyH. Peter Anvin2016-03-011-1/+1
| | | | | | | http_bake_cookies() is never called from assembly code, remove the declaration. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: remove unused stub pm_local_boot()H. Peter Anvin2016-03-012-8/+0
| | | | | | pm_local_boot is never used, remove it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* syslinux.ld: align the initial heap to 4K rather than 64KH. Peter Anvin2016-03-011-2/+2
| | | | | | | There is absolutely no reason to align to 64K. Correct the note about this being the heap; COM32R modules were Syslinux 4.x specific. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* efi/udp: correct typo of SubnetMaskGene Cumm2016-02-291-1/+1
| | | | | | | Used wrong variable. Reported-By: Patrick Masotta <masottaus@yahoo.com> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core/i386/syslinux.ld: Remove HIDDEN referenceGene Cumm2016-02-221-131/+131
| | | | | | | HIDDEN was added to ld in binutils version 2.23 published in August 2012. This helps preserve backwards compatibility for now. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* getfssec: update comment explaining next_extent() semanticsH. Peter Anvin2016-02-171-3/+8
| | | | | | | Update comments which explains next_extent() semantics to be slightly clearer, and also correct the statement that next_extent can be NULL. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* core/layout.inc: we don't need the _lma symbols except in one caseH. Peter Anvin2016-02-111-1/+3
| | | | | | | | | We don't need any of the _lma symbols, except for the one associated with .pm_code. Don't export them unconditionally in SECINFO, because that makes the linker request them as unknown symbols in the dynamic section. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: Clean up the i386-bios buildH. Peter Anvin2016-02-093-172/+143
| | | | | | | | Remove symbols and data structures not used in the i386-bios build, and clean up the linker script so that most internal symbols are HIDDEN. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: Remove one remaining instance of EFI_BUILDH. Peter Anvin2016-02-091-1/+1
| | | | | | Remove one last stray instance of EFI_BUILD. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: make the handling of firmware selection a little sanerH. Peter Anvin2016-02-0910-67/+63
| | | | | | Clean up the handling of firmware selection inside the Makefiles. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* gpxe: delete long since obsolete snapshot of gPXEH. Peter Anvin2016-02-09842-279558/+5
| | | | | | | | | gPXE has been deprecated in favor of iPXE for many, many years now. It is much better than users get it directly from the iPXE project, since we should no longer need any special modifications for Syslinux use. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Delete unused filesH. Peter Anvin2016-02-095-1617/+2
| | | | | | Remove several files which aren't used at all during the build. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge ↵Gene Cumm2016-01-193-10/+80
|\ | | | | | | | | | | | | 'git://github.com/Celelibi/syslinux.git/fix/bios/tail-call-stack-overflows' FIXME: this circumvents some of the issue but is not the cleanest and may reoccur.
| * core: Fix stack overflow when reloading configSylvain Gault2015-10-131-1/+57
| | | | | | | | | | | | | | | | | | | | | | The behavior when running a "CONFIG" command line is to reload ldlinux.c32 with the new file as argument. This call never return. In order to avoid stacking up the calls to start_ldlinux, this patch introduce a setjmp/longjmp to return to the first call to start_ldlinux, thus freeing all the stack space. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
| * ldlinux: fix stack overflow when running COM32 modulesSylvain Gault2015-10-132-9/+23
| | | | | | | | | | | | | | | | | | | | | | When a COM32 module exits, the functions never return and a new call to ldlinux_enter_command is made. This could fill the stack and overflow on some data present in memory. This patch use setjmp/longjmp to return to the main function and restart from there when a COM32 module exits. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
* | core/xfs: Silence compiler warningGene Cumm2016-01-191-2/+2
| | | | | | | | | | | | | | "may be used uninitialized in this function [-Wuninitialized]" even though logic dictates it must be OK. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | Merge 'git://zytor.com/users/pcacjr/syslinux.git/xfs-v3-support' into masterGene Cumm2016-01-196-230/+399
|\ \
| * | xfs: Add support for v3 directoriesPaulo Alcantara2015-12-146-230/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides supporting newer version of xfs file system, this patch also does some code refactoring and fix completely broken listing and searching on v2-3 node directories. Cc: Gene Cumm <gene.cumm@gmail.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Raphael S. Carvalho <raphael.scarv@gmail.com> Cc: Ady <ady-sf@hotmail.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | | btrfs: Fix logical to physical block address mappingPaulo Alcantara2015-12-272-16/+35
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current btrfs support did not handled multiple stripes stored in chunk items, hence skipping the physical addresses that were needed to do the mapping. Besides, the chunk tree may contain DEV_ITEM keys which store information on all of the underlying block devices, so we must skip them instead of finishing lookup. The bug was reproduced with btrfs-progs v4.2.2. Cc: Gene Cumm <gene.cumm@gmail.com> Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com> --- v1 -> v2: * Do not set ignore_key multiple times. Set it before parsing chunk tree. v2 -> v3: * Replace an unnecessary goto with a continue statement.
* | Partial Revert: Still use .*.d depsGene Cumm2015-12-101-2/+2
| | | | | | | | | | | | Previous commit changed the dependency filenames to not have a leading '.' Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | Dont bypass compiler driver for Dependency generation optionsKhem Raj2015-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | We can let compiler driver pass the right options to preprocessor after processing -Mxy options, right now its bypassing the gcc driver and handing them straight to cpp This also helps in other compilers processing these options correctly for their preprocessors consumption Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | com32: Adding 'exit' entry in chain.c32Erwan Velu2015-12-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is coming after some bad experience with gfxboot. GFXboot was padding unexpected options on the chain.c32 commande line. As a result, chain was confused and didn't provided the expected behavior. This patch is a workaround to enforce chain.c32 not considering anything on the command line after this keyword. Example: chain.c32 hd0 exit ...garbage...
* | com32: Handle broken modules.aliasErwan Velu2015-12-061-0/+8
| | | | | | | | | | | | | | | | When parsing the modules.alias, we shall report it as broken if we cannot find any valid line in it. This patch simply count the number of valid lines and report a missing modules.alias if no valid lines are found.
* | Makefile: Always use -mno-red-zone for EFISylvain Gault2015-11-274-7/+12
| | | | | | | | | | | | | | | | This option is mandatory when compiling for EFI as some event handlers may interupt the running code and use the space just above the reserved stack space. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
* | Makefile: Pass down the variable EFI_BUILDSylvain Gault2015-11-274-13/+14
| | | | | | | | | | | | | | | | This variable indicates whether or nor the files are compiled for EFI. The lack of it lead the Makefiles to forget to add some compilation options specific to EFI. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
* | extlinux: code cleanup and simplificationNicolas Cornu via Syslinux2015-11-251-58/+55
| | | | | | | | | | | | | | | | | | | | | | Merge btrfs_read_adv and xfs_read_adv into a single generic function ext_read_adv and split ext_write_adv_offset out of ext_write_adv. Use those new functions in rewrite_boot_image and btrfs_install_file where it is actually hardcoded. Signed-off-by: Nicolas Cornu <nicolac76@yahoo.fr> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | extlinux/main.c: space changeAdy2015-11-151-10/+10
| | | | | | | | | | | | | | | | | | Spaces, ASCII 0x20, have been * moved * inserted * deleted Signed-off-by: Geert Stappers <stappers@stappers.nl>
* | extlinux/main.c: Correct comment about btrfs installGene Cumm2015-11-151-3/+6
| | | | | | | | | | | | | | As of commit ID 37eef640 (before 6.03-pre12, before 6.03), it is now in Boot Area B. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | extlinux/main.c: comment typo fixesAdy2015-11-151-5/+5
| | | | | | | | | | | | | | Some typo fixes in extlinux/main.c. None of them affects code execution. Signed-off-by: Geert Stappers <stappers@stappers.nl>
* | libinstaller: introduce syslxrw libraryPaulo Alcantara2015-11-1011-67/+113
| | | | | | | | | | | | | | | | Due to size constraints on DOS systems, do not include whole syslxcom into DOS-based installer for using xpread() and xpwrite() functions, instead make them part of another separate library and include it only. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | mtools: Remove local xpread/xpwrite, use ones from syslxcomNicolas Cornu2015-11-102-58/+2
| | | | | | | | | | Signed-off-by: Nicolas Cornu <ncornu@aldebaran.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | xfs: rename xfs_is_valid_magicnum to xfs_is_valid_sbPaulo Alcantara2015-11-082-17/+15
| | | | | | | | | | | | | | | | xfs_is_valid_magicnum is not actually a generic function that checks for magic numbers, instead it checks only for superblock's one. Signed-off-by: Paulo Alcantara <pcacjr@zytor.com> Reviewed-by: Gene Cumm <gene.cumm@gmail.com>
* | bios: Don't try to guess the sections alignmentSylvain Gault2015-11-082-102/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For the compression / decompression to succeed, the sections layout must be the same between the virtual memory and load memory. The section alignment was kept in sync by introducing aligment that should be greater or equal to the actual section alignment. This patch compute the load memory addresses of the sections so that the layout is the same as the virtual memory addresses. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> Tested-by: poma <pomidorabelisima@gmail.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | bios: Fix alignment change with gcc 5Sylvain Gault2015-11-082-6/+6
| | | | | | | | | | | | | | | | | | The section aligment specified in the ld scripts have to be greater or equal to those in the .o files generated by gcc. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> Tested-by: poma <pomidorabelisima@gmail.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | ldlinux: Fix return pointer to local dataSylvain Gault2015-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The command-line parsing used to return a pointer to a local array. The code used to work by chance, but now, gcc 5 is able to detect it and return a NULL pointer instead. The buffer is now marked static. This shouldn't be a problem as only one command line can be read at a time. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> Tested-by: poma <pomidorabelisima at gmail.com> Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
* | efi: Disable UseDefaultAddress if possibly deafGene Cumm2015-10-151-3/+28
| | | | | | | | | | | | | | Some machines don't like UseDefaultAddress; fallback to manually configuring. HP EFI servers like DL160 Gen9 are affected. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* | efi: core_udp_configure()/core_tcp_connect(): Fix error messageGene Cumm2015-10-122-2/+2
|/ | | | | | Wrong translation type used. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* mboot.c32: add ELF64 support for Multiboot1Alex2015-10-102-0/+124
| | | | | | | | | mboot.c32 lacks support for loading ELF64 binaries (supported by GRUB2, for example). This is a trivial patch to add such feature. [reflow some changes to fit ~80 columns; remove trailing whitespace - gene.cumm@gmail.com] Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core/http: Append port number to Host field if neededGene Cumm2015-10-101-2/+15
| | | | | | | | HTTP/1.1 header Host must contain the port number if not default for the protocol. Host isn't a part of HTTP/1.0 but let's implement it right. Reported-By: Michael DeCandia <michael.decandia@gmail.com> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core/pxe: Allow DHCP option 54 Server IdentifierGene Cumm2015-10-081-2/+6
| | | | | | | | | | | Apparently some servers don't bother setting siaddr when pointing to itself for TFTP. Re-allow 54 but always set IPInfo.serverip from siaddr/dhcp->sip in packet #3 (PXEReply/proxyDHCP). Always set from siaddr if good in case parsing after-DHCP options. Reported-by: Celelibi <celelibi@gmail.com> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* chrreplace: Don't skip the first characterJosh Triplett2015-09-281-1/+1
| | | | | | | Check if the first character matches the character to replace, rather than skipping it and starting with the second. Signed-off-by: Josh Triplett <josh@joshtriplett.org>
* extlinux: fix memory leakImran Zaman2015-09-271-14/+30
| | | | | | | | devname is put on heap for all cases to avoid memory leak, and ease of use in future as well Signed-off-by: Imran Zaman <imran.zaman@intel.com> Reviewed-by: Paulo Alcantara <pcacjr@zytor.com>
* Add gpxe/ to clean-up targetsGene Cumm2015-09-272-4/+12
| | | | | | | | gpxe/ has a lot of binary blobs after a spotless. Start the cleanup measures. do-spotless-gpxe for bios target might be better in another spot. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core: readd gPXE/iPXE support for HTTP on pxelinux.0Gene Cumm2015-09-273-81/+108
| | | | | | | | | | | When adding lwIP functionality, the gPXE/iPXE callback was broken. This prevented pxelinux.0 from calling gPXE/iPXE for HTTP and FTP URLs. Re-add for pxelinux.0 and add code to find file size. Move to core/legacynet/core.c to access packet_buf and leave a dummy function for lpxelinux.0. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* core/fs/lib/loadconfig.c: Add architecture-specific config name to searchAdy2015-09-201-0/+5
| | | | | | | | When multiple architectures are on a single media, all will try to use the same config, preventing PATH from pointing to an architecture-specific directory. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* com32/modules: Split build by architecture. Add dir.c32Gene Cumm2015-09-201-7/+16
| | | | | | | | | Certain modules directly make BIOS calls or call library functions that will not be ported from BIOS (like syslinux_shuffle_boot_rm()). It appears dir.c32 was long-forgotten for the Makefile Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* efi: Don't unnecessarily rebuild syslinux.soSylvain Gault2015-09-161-4/+3
| | | | | | | | | | | OBJ directory creation changed from a .PHONY target to a real target used through an order-only dependency. A target depending on another target marked .PHONY is always rebuilt, thus forcing all the .o files to be rebuilt everytime. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> Reviewed-by: Paulo Alcantara <pcacjr@zytor.com>
* zlib: use (void(0)) instead of empty #definesPatrick Masotta2015-09-131-6/+6
| | | | | | Originally-By: Patrick Masotta <masottaus@yahoo.com> [Use (void(0)) instead of a dummy function - gene.cumm@gmail.com] Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* efi/x86_64: fix trivial compilation warningSylvain Gault2015-09-131-1/+1
| | | | | | | Missing */ at the end of a comment. Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> Reviewed-by: Paulo Alcantara <pcacjr@zytor.com>