Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.         mangle: support defines for preprocessed assembler
  3.  
  4.         copyright 1995-2007 by the mpg123 project - free software under the terms of the LGPL 2.1
  5.         see COPYING and AUTHORS files in distribution or http://mpg123.org
  6.  
  7.         This once started out as mangle.h from MPlayer, but you can't really call it derived work... the small part that in principle stems from MPlayer also being not very special (once you decided to use such a header at all, it's quite obvious material).
  8. */
  9.  
  10. #ifndef __MANGLE_H
  11. #define __MANGLE_H
  12.  
  13. #include "config.h"
  14.  
  15. #ifdef CCALIGN
  16. #define MOVUAPS movaps
  17. #else
  18. #define MOVUAPS movups
  19. #endif
  20.  
  21. #ifdef ASMALIGN_EXP
  22. #define ALIGN4  .align 2
  23. #define ALIGN8  .align 3
  24. #define ALIGN16 .align 4
  25. #define ALIGN32 .align 5
  26. #else
  27. #define ALIGN4  .align 4
  28. #define ALIGN8  .align 8
  29. #define ALIGN16 .align 16
  30. #define ALIGN32 .align 32
  31. #endif
  32.  
  33. /* Feel free to add more to the list, eg. a.out IMO */
  34. #if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__OS2__) || defined(_MSC_VER) || \
  35.    (defined(__OpenBSD__) && !defined(__ELF__)) || defined(__APPLE__)
  36. #define ASM_NAME(a) _##a
  37. #define ASM_VALUE(a) $_##a
  38. #else
  39. #define ASM_NAME(a) a
  40. #define ASM_VALUE(a) $##a
  41. #endif
  42.  
  43. #if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__)
  44. #define COMM(a,b,c) .comm a,b
  45. #else
  46. #define COMM(a,b,c) .comm a,b,c
  47. #endif
  48. /* more hacks for macosx; no .bss ... */
  49. #ifdef __APPLE__
  50. #define BSS .data
  51. #else
  52. #define BSS .bss
  53. #endif
  54. #endif /* !__MANGLE_H */
  55.  
  56.