aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Implemented support for GNU hash tables.Stefan Bucur2009-03-154-3/+90
| | | | | | | | | | The implementation is an adaptation from the uClibc dynamic ELF loading and linking.
| * The first functional prototype of module linking.Stefan Bucur2009-03-156-51/+129
| | | | | | | | | | | | | | | | | | | | Although the code is currently a little messy, one could see that when she loads hello_def and hello_ref modules (in that order), the functions that handle the shared symbol perform correctly when tested by the main program. There is one initialization function that stores 100 in the symbol, and a second one that reads the symbol, returns its value and increments it.
| * Implemented symbol verification and global searching.Stefan Bucur2009-03-154-22/+222
| | | | | | | | | | The global searching routine yields priority to the GLOBAL symbols, and uses WEAK symbols only when GLOBAL symbols are not found.
| * Fixed the Linux linked list implementation dependencies.Stefan Bucur2009-03-151-8/+21
| |
| * Added support for searching symbolsStefan Bucur2009-03-156-3/+60
| |
| * Extracted symbol information from the ELF file.Stefan Bucur2009-03-153-46/+83
| |
| * The dynamic link entries are read from the ELF object.Stefan Bucur2009-03-151-1/+82
| |
| * Implemented logic for segment loading.Stefan Bucur2009-03-153-14/+156
| |
| * Created the basic module infrastructure.Stefan Bucur2009-03-156-64/+785
| |
| * Configured git to ignore Eclipse project files and ELF testing executableStefan Bucur2009-03-151-0/+2
| |
| * Removed the redundant elf.h header.Stefan Bucur2009-03-155-443/+6
| |
| * Implemented section and symbol table headers.Stefan Bucur2009-03-155-5/+378
| |
| * Implemented and tested ELF header structure.Stefan Bucur2009-03-152-0/+143
| |
| * Created a makefile and a test application.Stefan Bucur2009-03-154-1/+59
| |
| * ELF loading development started.Stefan Bucur2009-03-151-0/+14
| | | | | | | | | | | | This is both a commit marking the start of development for GSoC '08, and a test to ensure that all my development tools, including VCS are functional.
* | core/rllpack.c: fix some particular bad formattingH. Peter Anvin2009-07-011-7/+7
| | | | | | | | | | | | indent doesn't always do the right thing... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Merge branch 'master' into core32H. Peter Anvin2009-06-263-2/+0
|\ \
| * | Create a dosutil subdirectory and move mdiskchk thereH. Peter Anvin2009-06-262-0/+0
| | | | | | | | | | | | | | | | | | | | | DOS utilities aren't really "samples". Create a dedicated "dosutil" directory, and move mdiskchk there for now. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | extlinux: remove duplicate "const char *program;"Gilles Espinasse2009-06-191-2/+0
| | | | | | | | | | | | Remove redundant declaration.
* | | dos: assume NASM 2.03, so use -MP -MD for dependenciesH. Peter Anvin2009-06-241-2/+1
| | | | | | | | | | | | | | | | | | Assume NASM 2.03 or later, so use -MP -MD to generate dependencies. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | core: assume NASM 2.03 or later, so we can use -MD for depsH. Peter Anvin2009-06-241-3/+1
| | | | | | | | | | | | | | | | | | | | | Let's require NASM 2.03 or later, so we can use the -MD and -MP options to generate dependencies. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | MCONFIG: we need NASM 2 these days, use -OxH. Peter Anvin2009-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | We need NASM 2 anyway for this branch, so we might as well use the -Ox option. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | MCONFIG: build GCCOPT one step at a time, don't align stackH. Peter Anvin2009-06-244-19/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some gcc options are only valid together with other gcc options, so build GCCOPT one bit at a time, and change gcc_ok to take already existing GCCOPT flags into account. This lets us build with -mpreferred-stack-boundary=2, which is only valid on 32 bits and therefore with -m32. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | core: generate DWARF debugging info from NASMH. Peter Anvin2009-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | NASM 2.03 or higher can generate DWARF debugging info, which is also what gcc produces. Mixing debugging info seems to cause a lot of problems. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | Add .gitignore files for generated filesH. Peter Anvin2009-06-152-0/+2
| | | | | | | | | | | | | | | | | | Create new .gitignore files and add generated files to them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | Merge branch 'master' into core32H. Peter Anvin2009-06-142-3/+24
|\| | | | | | | | | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | Merge branch 'syslinux-3.8x'H. Peter Anvin2009-06-143-4/+25
| |\ \
| | * | NEWS: document chainloading fixH. Peter Anvin2009-06-141-0/+2
| | | |
| | * | PXELINUX: when chaining an NBP, restore *all* registersH. Peter Anvin2009-06-141-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On at least ASUS A8N-E, unless *all* registers are restored to pre-PXE status, localboot doesn't work. We were clobbering DS, ESI and EDX when chainloading an NBP, which meant that localboot wouldn't work in the chainloaded NBP. Fix this. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | bootsect: zero memory above a chainloaded boot sector/NBPH. Peter Anvin2009-06-143-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows RIS has been reported to make inappropriate use of data found in uninitialized memory. To avoid that, clear memory between a chainloaded boot sector or NBP and Free Base Memory. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | | Merge branch 'master' into core32H. Peter Anvin2009-06-092-11/+21
|\| | |
| * | | com32.h: cleanups, make OFFS_VALID() take the pointer size into accountH. Peter Anvin2009-06-091-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up some of the constructs in com32.h, and make OFFS_VALID() take the pointer type into account for the range check -- the whole object needs to fit within the segment. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: don't use the stack before bootstrapH. Peter Anvin2009-06-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under some certain circumstances, it might not be safe to use the stack as it was set up, so use a jump instead of a call to invoke the bootstrap. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | | | Merge branch 'master' into core32H. Peter Anvin2009-06-0915-266/+600
|\| | |
| * | | Merge commit 'syslinux-3.82'H. Peter Anvin2009-06-095-15/+39
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: com32/menu/menumain.c Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | pxelinux: actually stop parsing on a null optionH. Peter Anvin2009-06-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop the OACK parsing on a null option, even if it isn't the very first option. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | pxelinux: revert to using TFTP error 8H. Peter Anvin2009-06-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reason for ERROR is OACK parsing failure, so revert to using error code 8 (but a fixed text error.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | pxelinux: cleaner test for OACK trailing null bytesH. Peter Anvin2009-06-091-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of looking for a string of null bytes at the end of the OACK string, simply abort parsing if we run into a null byte where an option is expected; either we are seeing junk at the end of the packet, or we are hopelessly confused about how to make sense of the rest of the packet -- in either case, ignoring is the "liberal" option. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | PXELINUX: handle OACK packets with extra NULs, cleaner TFTP errorH. Peter Anvin2009-06-082-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are apparently TFTP servers in the field which will send OACK packets with extra NUL bytes appended at the end. If we find an OACK packet where the only thing left at some point during processing is NULs, then just consider the packet processed. We have reported all TFTP protocol errors as "tsize required", which is definitely not true anymore. Change error code to 0 (undefined) and the error string to "TFTP error". When this code gets converted to C we'll do better. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | core: prevent buggy INT 13h from leaving IF=0H. Peter Anvin2009-06-042-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If it can happen for CD-ROM BIOSes, it can probably happen elsewhere, too; make sure we don't leave interrupts disabled after broken INT 13h calls. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * | simple menu: make ONTIMEOUT work with MENU HIDDENSergey Vlasov2009-06-042-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command invoked when no keys were pressed for the specified time (ONTIMEOUT) may be different from the menu item initially selected when the menu is displayed (DEFAULT or MENU DEFAULT). Unfortunately, this did not work together with MENU HIDDEN (which is exactly the case when having a separate ONTIMEOUT command makes the most sense). Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: additional cleanupsH. Peter Anvin2009-06-076-88/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional stylistic cleanups. Rename "syscall" to "intcall" (we can't call it __intcall without clashing with com32.h); use macros instead of copying variables to different places with only the type being different. Also, only change the rm/pm jump instructions when actually relocating the code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: add missing memmove.SH. Peter Anvin2009-06-071-0/+139
| | | | | | | | | | | | | | | | | | | | | | | | We need memmove.S in the memdisk directory... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: minor cleanupsH. Peter Anvin2009-06-076-58/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor cleanups to the source base; make die() also print an error message and move die() into conio.c. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: relocate real-mode code before bootingH. Peter Anvin2009-06-074-43/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relocate the real-mode code before booting. This allows the target bootstrap to be loaded at an arbitrary address, not necessarily 0x7c00, and to be almost arbitrarily long. Add some initial infrastructure for other bootstrap addresses, too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: move rm_args initialization to C code; export rm_sizeH. Peter Anvin2009-06-074-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the rm_args initialization (and the associated sti) to C code. Export the total size of the real-mode code to the protected-mode code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: set up a limited-size real-mode stackH. Peter Anvin2009-06-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit the size of the real-mode stack. This should limit the amount of memory needed for a relocated real-mode code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: remove hard-coded assumptions for a specific RM segmentH. Peter Anvin2009-06-073-100/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some hard-coded assumptions about having an RM segment at a specific location. This should allow us to relocate the RM code once the PM code knows where DOS free memory ends. This in turn allows the PM code to load the boot sector almost anywhere it wants to go in low memory, as is required for 100% compliant El Torito support. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: remove the requirement that CS_BASE < 64KH. Peter Anvin2009-06-071-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the requirement that CS_BASE is below 64K, based on its use in the A20 test code. This means it can now be located anywhere in high memory, but it is still a constant. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * | | memdisk: move the heap to high memoryH. Peter Anvin2009-06-071-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a heap arbitrarily allocated in low memory, move it to a chunk of bss in high memory. Signed-off-by: H. Peter Anvin <hpa@zytor.com>