Fixed some ElfLinker endian issues.

This commit is contained in:
Markus F.X.J. Oberhumer
2006-11-18 17:43:29 +01:00
parent 9eca502026
commit d9e8c953b1
10 changed files with 127 additions and 10 deletions
+43
View File
@@ -43,6 +43,21 @@
#include "miniacc.h"
/*************************************************************************
// bele.h
**************************************************************************/
namespace N_BELE_CTP {
const BEPolicy be_policy;
const LEPolicy le_policy;
}
namespace N_BELE_RTP {
const BEPolicy be_policy;
const LEPolicy le_policy;
}
/*************************************************************************
// qsort() util
**************************************************************************/
@@ -54,6 +69,13 @@ int __acc_cdecl_qsort be16_compare(const void *e1, const void *e2)
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort be24_compare(const void *e1, const void *e2)
{
const unsigned d1 = get_be24(e1);
const unsigned d2 = get_be24(e2);
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort be32_compare(const void *e1, const void *e2)
{
const unsigned d1 = get_be32(e1);
@@ -75,6 +97,13 @@ int __acc_cdecl_qsort le16_compare(const void *e1, const void *e2)
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort le24_compare(const void *e1, const void *e2)
{
const unsigned d1 = get_le24(e1);
const unsigned d2 = get_le24(e2);
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort le32_compare(const void *e1, const void *e2)
{
const unsigned d1 = get_le32(e1);
@@ -97,6 +126,13 @@ int __acc_cdecl_qsort be16_compare_signed(const void *e1, const void *e2)
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort be24_compare_signed(const void *e1, const void *e2)
{
const int d1 = get_be24_signed(e1);
const int d2 = get_be24_signed(e2);
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort be32_compare_signed(const void *e1, const void *e2)
{
const int d1 = get_be32_signed(e1);
@@ -118,6 +154,13 @@ int __acc_cdecl_qsort le16_compare_signed(const void *e1, const void *e2)
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort le24_compare_signed(const void *e1, const void *e2)
{
const int d1 = get_le24_signed(e1);
const int d2 = get_le24_signed(e2);
return (d1 < d2) ? -1 : ((d1 > d2) ? 1 : 0);
}
int __acc_cdecl_qsort le32_compare_signed(const void *e1, const void *e2)
{
const int d1 = get_le32_signed(e1);