Modify the linker script to match the generated binary
authorDarshit Shah <s8dashah@stud.uni-saarland.de>
Tue, 24 Oct 2017 13:14:58 +0000 (15:14 +0200)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 29 Oct 2017 16:59:01 +0000 (09:59 -0700)
Newer versions of GCC (tested with GCC 7), emit more sections in the
binary. Fix the computation of the start of the BSS section to prevent
zeroing out parts of the data section

src/Make.config
src/threads/kernel.lds.S

index 40feba6347ec7b6b6f7ab2a396cd64886bab7c17..14219b68ad462db8fdd16b01bfec577c5bb0912e 100644 (file)
@@ -33,7 +33,7 @@ endif
 # Compiler and assembler invocation.
 DEFINES =
 WARNINGS = -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Wsystem-headers
-CFLAGS = -g -msoft-float -O
+CFLAGS = -g -msoft-float -O -march=i686
 CPPFLAGS = -nostdinc -I$(SRCDIR) -I$(SRCDIR)/lib
 ASFLAGS = -Wa,--gstabs
 LDFLAGS = 
index 19082d5d3896111dae63de572d7ef5649e8220d3..4840202174311572aa5112d6e6c9d5fcf2429ac4 100644 (file)
@@ -16,9 +16,12 @@ SECTIONS
   .rodata : { *(.rodata) *(.rodata.*) 
              . = ALIGN(0x1000); 
              _end_kernel_text = .; }
+  .eh_frame : { *(.eh_frame) }
   .data : { *(.data) 
            _signature = .; LONG(0xaa55aa55) }
 
+  .plt : { *(.plt*) }
+
   /* BSS (zero-initialized data) is after everything else. */
   _start_bss = .;
   .bss : { *(.bss) }