[haiku-commits] haiku: hrev44875 - in src: system/ldscripts/arm system/runtime_loader/arch/arm kits/debug/arch/arm .

  • From: ithamar.adema@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 22 Nov 2012 20:09:33 +0100 (CET)

hrev44875 adds 4 changesets to branch 'master'
old head: ba71ae755234e05c8a3b8563a680ad487e75aa45
new head: 99d027cd0238c1d86da86d7c3f4200509ccc61a6
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=99d027c+%5Eba71ae7

----------------------------------------------------------------------------

b190a54: activitymonitor: remove B_MAX_CPU_COUNT reference
  
  It has no use, since we don't know its value and the list of colors
  might be longer (for example, for ARM currently B_MAX_CPU_COUNT is
  only 1). The modula operator later on makes sure we keep within the
  bounds of the kColors array anyway.

2beda3b: ARM/runtime_loader: add stub to make it compile

79a34d6: ARM/debug: add ARM stubs

99d027c: ARM/ltrace: add stubs

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

6 files changed, 147 insertions(+), 1 deletion(-)
src/apps/activitymonitor/DataSource.cpp          |  2 +-
src/bin/debug/ltrace/arch/arm/Jamfile            |  3 +
src/kits/debug/arch/arm/arch_debug_support.cpp   | 27 ++++++++
src/system/ldscripts/arm/runtime_loader.ld       | 68 ++++++++++++++++++++
src/system/runtime_loader/arch/arm/Jamfile       | 16 +++++
.../runtime_loader/arch/arm/arch_relocate.cpp    | 32 +++++++++

############################################################################

Commit:      b190a54c4046dd230f5ae19ad4fa86cf3d1dc4fc
URL:         http://cgit.haiku-os.org/haiku/commit/?id=b190a54
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Thu Nov 22 13:20:57 2012 UTC

activitymonitor: remove B_MAX_CPU_COUNT reference

It has no use, since we don't know its value and the list of colors
might be longer (for example, for ARM currently B_MAX_CPU_COUNT is
only 1). The modula operator later on makes sure we keep within the
bounds of the kColors array anyway.

----------------------------------------------------------------------------

diff --git a/src/apps/activitymonitor/DataSource.cpp 
b/src/apps/activitymonitor/DataSource.cpp
index 644bf69..43ea62d 100644
--- a/src/apps/activitymonitor/DataSource.cpp
+++ b/src/apps/activitymonitor/DataSource.cpp
@@ -949,7 +949,7 @@ CPUUsageDataSource::_SetCPU(int32 cpu)
 
        fLabel << " " << B_TRANSLATE("usage");
 
-       const rgb_color kColors[B_MAX_CPU_COUNT] = {
+       const rgb_color kColors[] = {
                // TODO: find some better defaults...
                {200, 0, 200},
                {0, 200, 200},

############################################################################

Commit:      2beda3bb5be8191b672688bed7ddcadd2b17dc41
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2beda3b
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Thu Nov 22 14:44:20 2012 UTC

ARM/runtime_loader: add stub to make it compile

----------------------------------------------------------------------------

diff --git a/src/system/ldscripts/arm/runtime_loader.ld 
b/src/system/ldscripts/arm/runtime_loader.ld
new file mode 100644
index 0000000..dfe708c
--- /dev/null
+++ b/src/system/ldscripts/arm/runtime_loader.ld
@@ -0,0 +1,68 @@
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+
+ENTRY(runtime_loader)
+SEARCH_DIR("libgcc");
+SECTIONS
+{
+       . = 0x00100000 + SIZEOF_HEADERS;
+
+       .interp : { *(.interp) }
+       .hash : { *(.hash) }
+       .dynsym : { *(.dynsym) }
+       .dynstr : { *(.dynstr) }
+       .rel.text : { *(.rel.text) *(.rel.gnu.linkonce.t*) }
+       .rela.text : { *(.rela.text) *(.rela.gnu.linkonce.t*) }
+       .rel.data : { *(.rel.data) *(.rel.gnu.linkonce.d*) }
+       .rela.data : { *(.rela.data) *(.rela.gnu.linkonce.d*) }
+       .rel.rodata : { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+       .rela.rodata : { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
+       .rel.got : { *(.rel.got) }
+       .rela.got : { *(.rela.got) }
+       .rel.ctors : { *(.rel.ctors) }
+       .rela.ctors : { *(.rela.ctors) }
+       .rel.dtors : { *(.rel.dtors) }
+       .rela.dtors : { *(.rela.dtors) }
+       .rel.init : { *(.rel.init) }
+       .rela.init : { *(.rela.init) }
+       .rel.fini : { *(.rel.fini) }
+       .rela.fini : { *(.rela.fini) }
+       .rel.bss : { *(.rel.bss) }
+       .rela.bss : { *(.rela.bss) }
+       .rel.plt : { *(.rel.plt) }
+       .rela.plt : { *(.rela.plt) }
+       .init : { *(.init) } =0x9090
+       .plt : { *(.plt) }
+
+       /* text/read-only data */
+       .text : { *(.text .gnu.linkonce.t.*) }
+
+       .rodata : { *(.rodata) }
+
+       /* exception unwinding - should really not be needed! XXX: find the 
correct place. */
+       __exidx_start = .;
+       .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
+       __exidx_end = .;
+
+       /* writable data  */
+       . = ALIGN(0x1000) + (. & (0x1000 - 1));
+       __data_start = .;
+       PROVIDE(_data_start = .);
+       .data : { *(.data .gnu.linkonce.d.*) }
+
+       __ctor_list = .;
+       PROVIDE (_ctor_list = .);
+       .ctors : { *(.ctors) }
+       PROVIDE (__ctor_end = .);
+
+
+       /* uninitialized data (in same segment as writable data) */
+       PROVIDE (__bss_start = .);
+       .bss : { *(.bss) }
+
+       . = ALIGN(0x1000);
+       PROVIDE (_end = .);
+
+       /* Strip unnecessary stuff */
+       /DISCARD/ : { *(.comment .note .eh_frame .dtors) }
+}
diff --git a/src/system/runtime_loader/arch/arm/Jamfile 
b/src/system/runtime_loader/arch/arm/Jamfile
new file mode 100644
index 0000000..23bb1bd
--- /dev/null
+++ b/src/system/runtime_loader/arch/arm/Jamfile
@@ -0,0 +1,16 @@
+SubDir HAIKU_TOP src system runtime_loader arch arm ;
+
+UsePrivateHeaders runtime_loader ;
+UsePrivateSystemHeaders ;
+
+SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ;
+
+StaticLibrary libruntime_loader_$(TARGET_ARCH).a :
+       arch_relocate.cpp
+       :
+       <src!system!libroot!os!arch!$(TARGET_ARCH)>atomic.o
+       <src!system!libroot!os!arch!$(TARGET_ARCH)>thread.o
+
+       <src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
+       <src!system!libroot!posix!string!arch!$(TARGET_ARCH)>memset.o
+;
diff --git a/src/system/runtime_loader/arch/arm/arch_relocate.cpp 
b/src/system/runtime_loader/arch/arm/arch_relocate.cpp
new file mode 100644
index 0000000..2e849b0
--- /dev/null
+++ b/src/system/runtime_loader/arch/arm/arch_relocate.cpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "runtime_loader_private.h"
+
+#include <runtime_loader.h>
+
+//#define TRACE_RLD
+#ifdef TRACE_RLD
+#      define TRACE(x) dprintf x
+#else
+#      define TRACE(x) ;
+#endif
+
+void *__dso_handle;
+
+status_t
+arch_relocate_image(image_t *rootImage, image_t *image,
+       SymbolLookupCache* cache)
+{
+       debugger("arch_relocate_image: Not Yet Implemented!");
+       return B_OK;
+}

############################################################################

Commit:      79a34d6fc6969dea0ed5a2805dfd589ba7b7ea31
URL:         http://cgit.haiku-os.org/haiku/commit/?id=79a34d6
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Thu Nov 22 14:45:38 2012 UTC

ARM/debug: add ARM stubs

----------------------------------------------------------------------------

diff --git a/src/kits/debug/arch/arm/arch_debug_support.cpp 
b/src/kits/debug/arch/arm/arch_debug_support.cpp
new file mode 100644
index 0000000..ee287bb
--- /dev/null
+++ b/src/kits/debug/arch/arm/arch_debug_support.cpp
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
+ */
+
+
+#include <debug_support.h>
+
+#include "arch_debug_support.h"
+
+status_t
+arch_debug_get_instruction_pointer(debug_context *context, thread_id thread,
+       void **ip, void **stackFrameAddress)
+{
+       return B_ERROR;
+}
+
+
+status_t
+arch_debug_get_stack_frame(debug_context *context, void *stackFrameAddress,
+       debug_stack_frame_info *stackFrameInfo)
+{
+       return B_ERROR;
+}

############################################################################

Revision:    hrev44875
Commit:      99d027cd0238c1d86da86d7c3f4200509ccc61a6
URL:         http://cgit.haiku-os.org/haiku/commit/?id=99d027c
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Thu Nov 22 14:46:41 2012 UTC

ARM/ltrace: add stubs

----------------------------------------------------------------------------

diff --git a/src/bin/debug/ltrace/arch/arm/Jamfile 
b/src/bin/debug/ltrace/arch/arm/Jamfile
new file mode 100644
index 0000000..e70e54c
--- /dev/null
+++ b/src/bin/debug/ltrace/arch/arm/Jamfile
@@ -0,0 +1,3 @@
+SubDir HAIKU_TOP src bin debug ltrace arch arm ;
+
+# TODO: Implement!


Other related posts: