uClibc-0.9.30-arm-fix-linuxthreads-sysdep.patch 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. From 1b6e90090da7194a8f94277aa132873044f7e8e7 Mon Sep 17 00:00:00 2001
  2. From: carmelo <carmelo@69ca8d6d-28ef-0310-b511-8ec308f3f277>
  3. Date: Wed, 28 Jan 2009 15:23:51 +0000
  4. Subject: [PATCH] Added sysdep.h and sysdep-cancel.h for linuxthreads ARM
  5. Signed-off-by: Will Wagner <will_wagner@carallon.com>
  6. git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@25099 69ca8d6d-28ef-0310-b511-8ec308f3f277
  7. ---
  8. .../linuxthreads/sysdeps/arm/sysdep-cancel.h | 8 +
  9. libpthread/linuxthreads/sysdeps/arm/sysdep.h | 137 ++++++++++++++++++++
  10. 2 files changed, 145 insertions(+), 0 deletions(-)
  11. create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
  12. create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep.h
  13. diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
  14. new file mode 100644
  15. index 0000000..ba6a1e0
  16. --- /dev/null
  17. +++ b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
  18. @@ -0,0 +1,8 @@
  19. +#include <sysdep.h>
  20. +
  21. +/* No multi-thread handling enabled. */
  22. +#define SINGLE_THREAD_P (1)
  23. +#define RTLD_SINGLE_THREAD_P (1)
  24. +#define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
  25. +#define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
  26. +#define LIBC_CANCEL_HANDLED() /* Nothing. */
  27. diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep.h b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
  28. new file mode 100644
  29. index 0000000..15d951c
  30. --- /dev/null
  31. +++ b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
  32. @@ -0,0 +1,137 @@
  33. +/* Generic asm macros used on many machines.
  34. + Copyright (C) 1991,92,93,96,98,2002,2003 Free Software Foundation, Inc.
  35. + This file is part of the GNU C Library.
  36. +
  37. + The GNU C Library is free software; you can redistribute it and/or
  38. + modify it under the terms of the GNU Lesser General Public
  39. + License as published by the Free Software Foundation; either
  40. + version 2.1 of the License, or (at your option) any later version.
  41. +
  42. + The GNU C Library is distributed in the hope that it will be useful,
  43. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  44. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  45. + Lesser General Public License for more details.
  46. +
  47. + You should have received a copy of the GNU Lesser General Public
  48. + License along with the GNU C Library; if not, write to the Free
  49. + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  50. + 02111-1307 USA. */
  51. +
  52. +#ifndef C_LABEL
  53. +
  54. +/* Define a macro we can use to construct the asm name for a C symbol. */
  55. +#ifdef NO_UNDERSCORES
  56. +#ifdef __STDC__
  57. +#define C_LABEL(name) name##:
  58. +#else
  59. +#define C_LABEL(name) name/**/:
  60. +#endif
  61. +#else
  62. +#ifdef __STDC__
  63. +#define C_LABEL(name) _##name##:
  64. +#else
  65. +#define C_LABEL(name) _/**/name/**/:
  66. +#endif
  67. +#endif
  68. +
  69. +#endif
  70. +
  71. +#ifdef __ASSEMBLER__
  72. +/* Mark the end of function named SYM. This is used on some platforms
  73. + to generate correct debugging information. */
  74. +#ifndef END
  75. +#define END(sym)
  76. +#endif
  77. +
  78. +#ifndef JUMPTARGET
  79. +#define JUMPTARGET(sym) sym
  80. +#endif
  81. +
  82. +/* Makros to generate eh_frame unwind information. */
  83. +# ifdef HAVE_ASM_CFI_DIRECTIVES
  84. +# define cfi_startproc .cfi_startproc
  85. +# define cfi_endproc .cfi_endproc
  86. +# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off
  87. +# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg
  88. +# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off
  89. +# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off
  90. +# define cfi_offset(reg, off) .cfi_offset reg, off
  91. +# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off
  92. +# define cfi_register(r1, r2) .cfi_register r1, r2
  93. +# define cfi_return_column(reg) .cfi_return_column reg
  94. +# define cfi_restore(reg) .cfi_restore reg
  95. +# define cfi_same_value(reg) .cfi_same_value reg
  96. +# define cfi_undefined(reg) .cfi_undefined reg
  97. +# define cfi_remember_state .cfi_remember_state
  98. +# define cfi_restore_state .cfi_restore_state
  99. +# define cfi_window_save .cfi_window_save
  100. +# else
  101. +# define cfi_startproc
  102. +# define cfi_endproc
  103. +# define cfi_def_cfa(reg, off)
  104. +# define cfi_def_cfa_register(reg)
  105. +# define cfi_def_cfa_offset(off)
  106. +# define cfi_adjust_cfa_offset(off)
  107. +# define cfi_offset(reg, off)
  108. +# define cfi_rel_offset(reg, off)
  109. +# define cfi_register(r1, r2)
  110. +# define cfi_return_column(reg)
  111. +# define cfi_restore(reg)
  112. +# define cfi_same_value(reg)
  113. +# define cfi_undefined(reg)
  114. +# define cfi_remember_state
  115. +# define cfi_restore_state
  116. +# define cfi_window_save
  117. +# endif
  118. +
  119. +#else /* ! ASSEMBLER */
  120. +# ifdef HAVE_ASM_CFI_DIRECTIVES
  121. +# define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
  122. +# define CFI_STRINGIFY2(Name) #Name
  123. +# define CFI_STARTPROC ".cfi_startproc"
  124. +# define CFI_ENDPROC ".cfi_endproc"
  125. +# define CFI_DEF_CFA(reg, off) \
  126. + ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
  127. +# define CFI_DEF_CFA_REGISTER(reg) \
  128. + ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
  129. +# define CFI_DEF_CFA_OFFSET(off) \
  130. + ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
  131. +# define CFI_ADJUST_CFA_OFFSET(off) \
  132. + ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
  133. +# define CFI_OFFSET(reg, off) \
  134. + ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
  135. +# define CFI_REL_OFFSET(reg, off) \
  136. + ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
  137. +# define CFI_REGISTER(r1, r2) \
  138. + ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
  139. +# define CFI_RETURN_COLUMN(reg) \
  140. + ".cfi_return_column " CFI_STRINGIFY(reg)
  141. +# define CFI_RESTORE(reg) \
  142. + ".cfi_restore " CFI_STRINGIFY(reg)
  143. +# define CFI_UNDEFINED(reg) \
  144. + ".cfi_undefined " CFI_STRINGIFY(reg)
  145. +# define CFI_REMEMBER_STATE \
  146. + ".cfi_remember_state"
  147. +# define CFI_RESTORE_STATE \
  148. + ".cfi_restore_state"
  149. +# define CFI_WINDOW_SAVE \
  150. + ".cfi_window_save"
  151. +# else
  152. +# define CFI_STARTPROC
  153. +# define CFI_ENDPROC
  154. +# define CFI_DEF_CFA(reg, off)
  155. +# define CFI_DEF_CFA_REGISTER(reg)
  156. +# define CFI_DEF_CFA_OFFSET(off)
  157. +# define CFI_ADJUST_CFA_OFFSET(off)
  158. +# define CFI_OFFSET(reg, off)
  159. +# define CFI_REL_OFFSET(reg, off)
  160. +# define CFI_REGISTER(r1, r2)
  161. +# define CFI_RETURN_COLUMN(reg)
  162. +# define CFI_RESTORE(reg)
  163. +# define CFI_UNDEFINED(reg)
  164. +# define CFI_REMEMBER_STATE
  165. +# define CFI_RESTORE_STATE
  166. +# define CFI_WINDOW_SAVE
  167. +# endif
  168. +
  169. +#endif /* __ASSEMBLER__ */
  170. --
  171. 1.5.6.5