armv8: remove old GOT stuff.
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Fri, 19 Jun 2015 16:54:52 +0000 (18:54 +0200)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Fri, 19 Jun 2015 16:54:52 +0000 (18:54 +0200)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

hake/ARMv8.hs
kernel/arch/apm88xxxx/boot.S
kernel/arch/armv8/linker.lds.in

index b170a13..e8695dd 100644 (file)
@@ -129,7 +129,6 @@ kernelCFlags = [ Str s | s <- [ "-fno-builtin",
                                 "-ffreestanding",
                                 "-fomit-frame-pointer",
                                 "-Wmissing-noreturn",
-                                "-DPIC_REGISTER=X10",
                                 "-ffixed-r9",
                                 "-DTHREAD_REGISTER=X9",
                                 "-D__ARM_CORTEX__",
index 4e7b737..8634d65 100644 (file)
@@ -21,7 +21,7 @@
 
         .text
 
-        .globl start, halt, got_base
+        .globl start, halt
         .extern glbl_core_data, exception_vectors
 
         // Used to track phys memory allocator limit globally.
@@ -50,8 +50,6 @@ start:
         msr     vbar_el1, x15
         msr     vbar_el2, x15
 
-        ldr     PIC_REGISTER, got_base
-
         // maybe prepare arguments
         b       arch_init
         b       halt
@@ -60,13 +58,16 @@ start:
 /**
  * extern "C" void halt(void) __attribute__((noreturn))
  */
+.type halt @function
 halt:   wfi
         b       halt
 
 /**********************************************************************/
+#if 0
 .ltorg
 
 got_base:
         .word                                   // Initialized by linker
 
         .end
+#endif
index c47623c..ccedd31 100644 (file)
@@ -25,12 +25,12 @@ PHDRS {
 
 SECTIONS {
         . = START_KERNEL_PHYS;
-        
+
         /*kernel_elf_header = .;*/
         kernel_first_byte = .;
-        
+
         /*. += SIZEOF_HEADERS; */
-        
+
         .text : { *(.text); }
         kernel_text_final_byte = .;
 
@@ -40,19 +40,21 @@ SECTIONS {
                 *(.rodata);
         }
 
+        /*
         .got . :
         {
                 got_base = .;
                 *(.got);
         }
-        
+        */
+
         /*.rel.got . : { *(.rel.got); } */
 
         .bss . :
         {
                 *(.bss);
         }
-        
+
 
         kernel_final_byte = .;