Fixed bugreport:5990 OSX compiling error / warnings
Bug in Detail: - Misplaced LDFLAGS uage in some Makefile templates (by passing them to the compiler not to the linker.) - Wrong usage of volatile (a functions return value couldnt be declared to return volatile :D ) - Unsupported Inline ASM using lock xchg operation on llvm-gcc .. (apple loves this ..) Fixed by: - Removed unnecessary LDFLAGS - Removed unnecessary volatile declarator - Replaced InterlockedExchange and InterlockedExchange64 with gcc intrinsics. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16270 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
04bc22ca40
commit
b3b21e6e8c
2
3rdparty/libconfig/Makefile.in
vendored
2
3rdparty/libconfig/Makefile.in
vendored
@ -23,4 +23,4 @@ help:
|
||||
|
||||
%.o: %.c $(LIBCONFIG_H)
|
||||
@echo " CC $<"
|
||||
@@CC@ @CFLAGS@ @DEFS@ @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CC@ @CFLAGS@ @DEFS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
2
3rdparty/mt19937ar/Makefile.in
vendored
2
3rdparty/mt19937ar/Makefile.in
vendored
@ -23,4 +23,4 @@ help:
|
||||
|
||||
%.o: %.c $(MT19937AR_H)
|
||||
@echo " CC $<"
|
||||
@@CC@ @CFLAGS@ @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CC@ @CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
@ -83,11 +83,11 @@ common_sql: obj_sql $(COMMON_SQL_OBJ) obj_sql/common_sql.a
|
||||
|
||||
obj_all/%.o: %.c $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
|
||||
@echo " CC $<"
|
||||
@@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
obj_all/mini%.o: %.c $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
|
||||
@echo " CC $<"
|
||||
@@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) -DMINICORE @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CC@ @CFLAGS@ $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
obj_sql/%.o: %.c $(COMMON_H) $(COMMON_SQL_H) $(LIBCONFIG_H)
|
||||
@echo " CC $<"
|
||||
|
@ -86,71 +86,53 @@ forceinline volatile int64 InterlockedExchange64(volatile int64 *target, int64 v
|
||||
#error Your Target Platfrom is not supported
|
||||
#endif
|
||||
|
||||
static forceinline volatile int64 InterlockedExchangeAdd64(volatile int64 *addend, int64 increment){
|
||||
static forceinline int64 InterlockedExchangeAdd64(volatile int64 *addend, int64 increment){
|
||||
return __sync_fetch_and_add(addend, increment);
|
||||
}//end: InterlockedExchangeAdd64()
|
||||
|
||||
|
||||
static forceinline volatile int32 InterlockedExchangeAdd(volatile int32 *addend, int32 increment){
|
||||
static forceinline int32 InterlockedExchangeAdd(volatile int32 *addend, int32 increment){
|
||||
return __sync_fetch_and_add(addend, increment);
|
||||
}//end: InterlockedExchangeAdd()
|
||||
|
||||
|
||||
static forceinline volatile int64 InterlockedIncrement64(volatile int64 *addend){
|
||||
static forceinline int64 InterlockedIncrement64(volatile int64 *addend){
|
||||
return __sync_add_and_fetch(addend, 1);
|
||||
}//end: InterlockedIncrement64()
|
||||
|
||||
|
||||
static forceinline volatile int32 InterlockedIncrement(volatile int32 *addend){
|
||||
static forceinline int32 InterlockedIncrement(volatile int32 *addend){
|
||||
return __sync_add_and_fetch(addend, 1);
|
||||
}//end: InterlockedIncrement()
|
||||
|
||||
|
||||
static forceinline volatile int64 InterlockedDecrement64(volatile int64 *addend){
|
||||
static forceinline int64 InterlockedDecrement64(volatile int64 *addend){
|
||||
return __sync_sub_and_fetch(addend, 1);
|
||||
}//end: InterlockedDecrement64()
|
||||
|
||||
|
||||
static forceinline volatile int32 InterlockedDecrement(volatile int32 *addend){
|
||||
static forceinline int32 InterlockedDecrement(volatile int32 *addend){
|
||||
return __sync_sub_and_fetch(addend, 1);
|
||||
}//end: InterlockedDecrement()
|
||||
|
||||
|
||||
static forceinline volatile int64 InterlockedCompareExchange64(volatile int64 *dest, int64 exch, int64 cmp){
|
||||
static forceinline int64 InterlockedCompareExchange64(volatile int64 *dest, int64 exch, int64 cmp){
|
||||
return __sync_val_compare_and_swap(dest, cmp, exch);
|
||||
}//end: InterlockedCompareExchange64()
|
||||
|
||||
|
||||
static forceinline volatile int32 InterlockedCompareExchange(volatile int32 *dest, int32 exch, int32 cmp){
|
||||
return __sync_val_compare_and_swap(dest, cmp, exch);
|
||||
static forceinline int32 InterlockedCompareExchange(volatile int32 *dest, int32 exch, int32 cmp){
|
||||
return __sync_val_compare_and_swap(dest, cmp, exch);
|
||||
}//end: InterlockedCompareExchnage()
|
||||
|
||||
|
||||
static forceinline volatile int64 InterlockedExchange64(volatile int64 *target, int64 val){
|
||||
int ret;
|
||||
|
||||
__asm__ __volatile__(
|
||||
"lock xchg %2, (%1)"
|
||||
:"=r" (ret)
|
||||
:"r" (target), "0" (val)
|
||||
:"memory"
|
||||
);
|
||||
|
||||
return ret;
|
||||
static forceinline int64 InterlockedExchange64(volatile int64 *target, int64 val){
|
||||
return __sync_lock_test_and_set(target, val);
|
||||
}//end: InterlockedExchange64()
|
||||
|
||||
|
||||
static forceinline volatile int32 InterlockedExchange(volatile int32 *target, int32 val){
|
||||
int ret;
|
||||
|
||||
__asm__ __volatile__(
|
||||
"lock xchgl %2, (%1)"
|
||||
:"=r" (ret)
|
||||
:"r" (target), "0" (val)
|
||||
:"memory"
|
||||
);
|
||||
|
||||
return ret;
|
||||
static forceinline int32 InterlockedExchange(volatile int32 *target, int32 val){
|
||||
return __sync_lock_test_and_set(target, val);
|
||||
}//end: InterlockedExchange()
|
||||
|
||||
|
||||
|
@ -44,7 +44,7 @@ obj_all:
|
||||
|
||||
obj_all/%.o: %.c $(COMMON_H) $(LIBCONFIG_H)
|
||||
@echo " CC $<"
|
||||
@@CC@ @CFLAGS@ $(LIBCONFIG_INCLUDE) @LDFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CC@ @CFLAGS@ $(LIBCONFIG_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
# missing common object files
|
||||
../common/obj_all/%.o:
|
||||
|
Loading…
x
Reference in New Issue
Block a user