On Wed, Feb 23, 2011 at 08:05:50PM +0100, Bernd Schmidt wrote:
>This adds support for the TI C6X family of processors.

>Signed-off-by: Mark Salter <[email protected]>
>Signed-off-by: Aurelien Jacquiot <[email protected]>
>Signed-off-by: Bernd Schmidt <[email protected]>
>---

>--- a/include/elf.h
>+++ b/include/elf.h

>+#define R_C6000_COPY          26
>+#define R_C6000_JUMP_SLOT     27
>+#define R_C6000_ALIGN         253
>+#define R_C6000_FPHEAD                254
>+#define R_C6000_NOCMP         255

>--- /dev/null
>+++ b/ldso/ldso/c6x/dl-debug.h

>+      "R_C6000_PREL31",               /* 25 */
>+      "R_C6000_COPY",
>+#if 0

+ "R_C6000_JUMP_SLOT", ?

>+      "R_C6000_ALIGN",                /* 253 */
>+      "R_C6000_FPHEAD",               /* 254 */
>+      "R_C6000_NOCMP",                /* 255 */
>+#endif
>+};

>diff --git a/ldso/ldso/c6x/dl-startup.h b/ldso/ldso/c6x/dl-startup.h
>new file mode 100644
>index 0000000..388ba9a
>--- /dev/null
>+++ b/ldso/ldso/c6x/dl-startup.h

mixing tabs and spaces below.
>+__asm__("     .text\n"
>+      ".globl _start\n"
>+      "_start:\n"
>+      "          B .S2                _dl_start\n"
>+        "          STW .D2T2          B14, *+B14[1]\n"
>+      "          ADD .D1X             B15,8,A8\n"
>+      "          ADDKPC .S2           ret_from_dl,B3,2\n"
>+      "ret_from_dl:\n"
>+      "          B .S2X               A4\n"
>+        " ||       LDW .D2T2          *+B14[0],B14\n"
>+      "          ADDKPC .S2           __dl_fini,B0,0\n"
>+      "          MV .S1X              B0,A4\n"
>+      "          NOP\n"
>+      "          NOP\n"
>+      "          NOP\n"
>+      "__dl_fini:\n"
>+        "          LDW .D2T2          *+B14[1],B14\n"
>+      "          NOP          4\n"
>+      "          LDW .D2T1            *+B14($GOT(_dl_fini)), A0\n"
>+      "          NOP          4\n"
>+      "          BNOP .S2X            A0, 5\n");
>+
>+__asm__("     .text\n"
>+      "__c6x_cache_sync:\n"
>+      "          MVK .S2              330,B0\n"
>+      "          SWE\n"
>+      "          NOP\n"
>+      "          BNOP .S2             B3,5\n"
>+      "          NOP\n"
>+      "          NOP\n"
>+      "          NOP\n"
>+      "          NOP\n"
>+      "\n"
>+);

>+extern void __c6x_cache_sync(unsigned long start,
>+                           unsigned long end)
>+    __attribute__((__visibility__("hidden")));

attribute_hidden

>--- /dev/null
>+++ b/ldso/ldso/c6x/dl-sysdep.h

>+extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));

ditto above and some other occurances later on

>--- /dev/null
>+++ b/ldso/ldso/c6x/elfinterp.c

will look at the remainder during the weekend.
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to