xxx-remove-duplicate-symbols-arm.patch 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. diff -Nur uClibc-0.9.33.2.orig/libc/sysdeps/linux/arm/Makefile.arch uClibc-0.9.33.2/libc/sysdeps/linux/arm/Makefile.arch
  2. --- uClibc-0.9.33.2.orig/libc/sysdeps/linux/arm/Makefile.arch 2014-05-23 15:42:33.000000000 +0200
  3. +++ uClibc-0.9.33.2/libc/sysdeps/linux/arm/Makefile.arch 2014-05-23 15:53:57.000000000 +0200
  4. @@ -40,5 +40,4 @@
  5. aeabi_lcsts.os \
  6. aeabi_math.os \
  7. aeabi_sighandlers.os \
  8. - aeabi_unwind_cpp_pr1.o \
  9. )
  10. diff -Nur uClibc-0.9.33.2.orig/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c uClibc-0.9.33.2/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c
  11. --- uClibc-0.9.33.2.orig/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c 2014-05-23 15:42:33.000000000 +0200
  12. +++ uClibc-0.9.33.2/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c 2014-05-23 20:40:14.000000000 +0200
  13. @@ -97,6 +97,7 @@
  14. }
  15. }
  16. +/*
  17. void
  18. _Unwind_Resume (struct _Unwind_Exception *exc)
  19. {
  20. @@ -107,6 +108,7 @@
  21. PTR_DEMANGLE (resume);
  22. resume (exc);
  23. }
  24. +*/
  25. _Unwind_Reason_Code
  26. __gcc_personality_v0 (int version, _Unwind_Action actions,
  27. @@ -129,6 +131,7 @@
  28. return personality (version, actions, exception_class, ue_header, context);
  29. }
  30. +/*
  31. _Unwind_Reason_Code
  32. _Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop,
  33. void *stop_argument)
  34. @@ -153,3 +156,4 @@
  35. PTR_DEMANGLE (getcfa);
  36. return getcfa (context);
  37. }
  38. +*/
  39. diff -Nur uClibc-0.9.33.2.orig/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c uClibc-0.9.33.2/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c
  40. --- uClibc-0.9.33.2.orig/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c 2014-05-23 15:42:33.000000000 +0200
  41. +++ uClibc-0.9.33.2/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c 2014-05-23 21:08:02.000000000 +0200
  42. @@ -47,62 +47,6 @@
  43. libgcc_s_resume = resume;
  44. libgcc_s_personality = personality;
  45. }
  46. -#ifdef __thumb__
  47. -void
  48. -_Unwind_Resume (struct _Unwind_Exception *exc)
  49. -{
  50. - if (__builtin_expect (libgcc_s_resume == NULL, 0))
  51. - init ();
  52. - libgcc_s_resume (exc);
  53. -}
  54. -#else
  55. -/* It's vitally important that _Unwind_Resume not have a stack frame; the
  56. - ARM unwinder relies on register state at entrance. So we write this in
  57. - assembly. */
  58. -
  59. -__asm__ (
  60. -" .globl _Unwind_Resume\n"
  61. -" .type _Unwind_Resume, %function\n"
  62. -"_Unwind_Resume:\n"
  63. -" " CFI_SECTIONS (.debug_frame) "\n"
  64. -" " CFI_STARTPROC "\n"
  65. -" stmfd sp!, {r4, r5, r6, lr}\n"
  66. -" " CFI_ADJUST_CFA_OFFSET (16)" \n"
  67. -" " CFI_REL_OFFSET (r4, 0) "\n"
  68. -" " CFI_REL_OFFSET (r5, 4) "\n"
  69. -" " CFI_REL_OFFSET (r6, 8) "\n"
  70. -" " CFI_REL_OFFSET (lr, 12) "\n"
  71. -" " CFI_REMEMBER_STATE "\n"
  72. -" ldr r4, 1f\n"
  73. -" ldr r5, 2f\n"
  74. -"3: add r4, pc, r4\n"
  75. -" ldr r3, [r4, r5]\n"
  76. -" mov r6, r0\n"
  77. -" cmp r3, #0\n"
  78. -" beq 4f\n"
  79. -"5: mov r0, r6\n"
  80. -" ldmfd sp!, {r4, r5, r6, lr}\n"
  81. -" " CFI_ADJUST_CFA_OFFSET (-16) "\n"
  82. -" " CFI_RESTORE (r4) "\n"
  83. -" " CFI_RESTORE (r5) "\n"
  84. -" " CFI_RESTORE (r6) "\n"
  85. -" " CFI_RESTORE (lr) "\n"
  86. -" bx r3\n"
  87. -" " CFI_RESTORE_STATE "\n"
  88. -"4: bl init\n"
  89. -" ldr r3, [r4, r5]\n"
  90. -" b 5b\n"
  91. -" " CFI_ENDPROC "\n"
  92. -" .align 2\n"
  93. -#ifdef __thumb2__
  94. -"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 4\n"
  95. -#else
  96. -"1: .word _GLOBAL_OFFSET_TABLE_ - 3b - 8\n"
  97. -#endif
  98. -"2: .word libgcc_s_resume(GOTOFF)\n"
  99. -" .size _Unwind_Resume, .-_Unwind_Resume\n"
  100. -);
  101. -#endif
  102. _Unwind_Reason_Code
  103. __gcc_personality_v0 (_Unwind_State state,
  104. diff -Nur uClibc-0.9.33.2.orig/Rules.mak uClibc-0.9.33.2/Rules.mak
  105. --- uClibc-0.9.33.2.orig/Rules.mak 2014-05-23 15:42:33.000000000 +0200
  106. +++ uClibc-0.9.33.2/Rules.mak 2014-05-23 20:13:43.000000000 +0200
  107. @@ -818,11 +818,7 @@
  108. LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y)
  109. $(eval $(call cache-output-var,LIBGCC,$(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name))
  110. -$(eval $(call cache-output-var,LIBGCC_EH,$(CC) $(LIBGCC_CFLAGS) -print-file-name=libgcc_eh.a))
  111. -# with -O0 we (e.g. lockf) might end up with references to
  112. -# _Unwind_Resume, so pull in gcc_eh in this case..
  113. LIBGCC_DIR:=$(dir $(LIBGCC))
  114. -LIBGCC += $(if $(DODEBUG),$(LIBGCC_EH))
  115. # moved from libpthread/linuxthreads
  116. ifeq ($(UCLIBC_CTOR_DTOR),y)