1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
- OUTPUT_ARCH(i386)
-
- /* Linker-generated symbols are prefixed with a double underscore.
- * Decompressor symbols are prefixed with __decompressor_. All other
- * symbols are the same as in the original object file, i.e. the
- * runtime addresses.
- */
-
- ENTRY(_start16)
-
- SECTIONS {
- .text : {
- *(.text)
- }
- .payload : {
- __payload_start = .;
- *(.data)
- __payload_end = .;
- }
-
- /* _payload_size is the size of the binary image appended to
- * start16, in bytes.
- */
- __payload_size = __payload_end - __payload_start ;
-
- /* _size is the size of the runtime image
- * (start32 + the C code), in bytes.
- */
- __size = _end - _start ;
-
- /* _decompressor_size is the size of the decompressor, in
- * bytes. For a non-compressed image, start16.lds sets
- * _decompressor_uncompressed = _decompressor__start = 0.
- */
- __decompressor_size = __decompressor_uncompressed - __decompressor__start ;
-
- /* image__size is the total size of the image, after
- * decompression and including the decompressor if applicable.
- * It is therefore the amount of memory that start16's payload
- * needs in order to execute, in bytes.
- */
- __image_size = __size + __decompressor_size ;
-
- /* Amount to add to runtime symbols to obtain the offset of
- * that symbol within the image.
- */
- __offset_adjust = __decompressor_size - _start ;
-
- /* Calculations for the stack
- */
- __stack_size = _estack - _stack ;
- __offset_stack = _stack + __offset_adjust ;
-
- /* Some symbols will be larger than 16 bits but guaranteed to
- * be multiples of 16. We calculate them in paragraphs and
- * export these symbols which can be used in 16-bit code
- * without risk of overflow.
- */
- __image_size_pgh = ( __image_size / 16 );
- __start_pgh = ( _start / 16 );
- __decompressor_size_pgh = ( __decompressor_size / 16 );
- __offset_stack_pgh = ( __offset_stack / 16 );
- }
|