Changeset 1997b4e


Ignore:
Timestamp:
Aug 8, 2018, 1:26:54 PM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
3b2b37f
Parents:
1f32235
Message:

tentative fix of the linking ordering problem

Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/driver/cfa.cc

    r1f32235 r1997b4e  
    347347                args[nargs] = "--undefined=__cfaabi_appready_startup";
    348348                nargs += 1;
     349                args[nargs] = "-Xlinker";
     350                nargs += 1;
     351                args[nargs] = "--undefined=__cfaabi_dbg_record";
     352                nargs += 1;
    349353
    350354                // include the cfa library in case it's needed
  • src/libcfa/bits/locks.h

    r1f32235 r1997b4e  
    6464                extern void disable_interrupts();
    6565                extern void enable_interrupts_noPoll();
     66
     67                #ifdef __CFA_DEBUG__
     68                        void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name);
     69                #else
     70                        #define __cfaabi_dbg_record(x, y)
     71                #endif
    6672        }
    6773
     
    7177                this.lock = 0;
    7278        }
    73 
    74 
    75         #ifdef __CFA_DEBUG__
    76                 void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name);
    77         #else
    78                 #define __cfaabi_dbg_record(x, y)
    79         #endif
    8079
    8180        // Lock the spinlock, return false if already acquired
  • src/libcfa/concurrency/kernel.c

    r1f32235 r1997b4e  
    833833// Debug
    834834__cfaabi_dbg_debug_do(
    835         void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name) {
    836                 this.prev_name = prev_name;
    837                 this.prev_thrd = kernelTLS.this_thread;
     835        extern "C" {
     836                void __cfaabi_dbg_record(__spinlock_t & this, const char * prev_name) {
     837                        this.prev_name = prev_name;
     838                        this.prev_thrd = kernelTLS.this_thread;
     839                }
    838840        }
    839841)
  • src/libcfa/startup.c

    r1f32235 r1997b4e  
    4040
    4141struct __spinlock_t;
    42 void __cfaabi_dbg_record(struct __spinlock_t & this, const char * prev_name) __attribute__(( weak )) {}
     42extern "C" {
     43        void __cfaabi_dbg_record(struct __spinlock_t & this, const char * prev_name) __attribute__(( weak )) {}
     44}
    4345
    4446// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.