Remove the edata symbol
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 25 Nov 2015 17:16:40 +0000 (12:16 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Nov 2015 21:05:31 +0000 (16:05 -0500)
It is mostly useless and probably confusing.  I'm not even sure if the
linker had to put it directly after .data, or if it could put it wherever
it wanted before the .bss, since it was not inside the .data section.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/riscv/kernel.ld
kern/arch/x86/kernel64.ld
kern/include/ns.h
kern/src/monitor.c

index c2c9205..bfc8796 100644 (file)
@@ -50,8 +50,6 @@ SECTIONS
                *(.sdata)
        }
 
-       PROVIDE(edata = .);
-
        .bss : {
                PROVIDE(__start_bss = .);
                *(.bss)
index f37a095..d56eef3 100644 (file)
@@ -53,8 +53,6 @@ SECTIONS
                *(.data)
        }
 
-       PROVIDE(edata = .);
-
        .bss : {
                PROVIDE(__start_bss = .);
                *(.bss)
index b55d707..1661584 100644 (file)
@@ -70,9 +70,6 @@ static inline uint32_t getcallerpc(void *v)
        return 0;
 }
 
-extern char etext[];
-extern char edata[];
-extern char end[];
 extern int getfields(char *unused_char_p_t, char **unused_char_pp_t,
                                         int unused_int, int, char *);
 extern int tokenize(char *unused_char_p_t, char **unused_char_pp_t, int);
index 048ef3b..2b2a075 100644 (file)
@@ -93,12 +93,11 @@ int mon_ps(int argc, char** argv, struct hw_trapframe *hw_tf)
 
 int mon_kerninfo(int argc, char **argv, struct hw_trapframe *hw_tf)
 {
-       extern char _start[], etext[], edata[], end[];
+       extern char _start[], etext[], end[];
 
        cprintf("Special kernel symbols:\n");
        cprintf("  _start %016x (virt)  %016x (phys)\n", _start, (uintptr_t)(_start - KERNBASE));
        cprintf("  etext  %016x (virt)  %016x (phys)\n", etext, (uintptr_t)(etext - KERNBASE));
-       cprintf("  edata  %016x (virt)  %016x (phys)\n", edata, (uintptr_t)(edata - KERNBASE));
        cprintf("  end    %016x (virt)  %016x (phys)\n", end, (uintptr_t)(end - KERNBASE));
        cprintf("Kernel executable memory footprint: %dKB\n",
                (uint32_t)(end-_start+1023)/1024);