BIN = ../Acess2.$(ARCH).bin
GZBIN = ../Acess2.$(ARCH).gz
-DEPFILES = $(filter %.o$(OBJSUFFIX),$(OBJ))
-DEPFILES := $(DEPFILES:%.o$(OBJSUFFIX)=%.dep$(OBJSUFFIX))
+DEPFILES := $(OBJ:%$(OBJSUFFIX)=%.dep$(OBJSUFFIX))
SRCFILES = $(OBJ:$(OBJDIR)%.o$(OBJSUFFIX)=%.c)
SRCFILES := $(SRCFILES:$(OBJDIR)%.ao$(OBJSUFFIX)=%.$(AS_SUFFIX))
@echo --- AS -o $@
@mkdir -p $(dir $@)
@$(AS) $(ASFLAGS) $< -o $@
+ifeq ($(AS_SUFFIX),S)
+ @$(MAKEDEP) $(CPPFLAGS) -MT $@ -o $(OBJDIR)$*.ao.dep$(OBJSUFFIX) $<
+endif
$(OBJDIR)%.o$(OBJSUFFIX): %.c Makefile
# if exists %*/Makefile
@echo --- CC -o $@
@mkdir -p $(dir $@)
@$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
- @$(MAKEDEP) $(CPPFLAGS) -MT $@ -o $(OBJDIR)$*.dep$(OBJSUFFIX) $<
+ @$(MAKEDEP) $(CPPFLAGS) -MT $@ -o $(OBJDIR)$*.o.dep$(OBJSUFFIX) $<
# endif
%.xo.$(ARCH):
// String - Null Terminated Array
case 's':
p = va_arg(args, char*); // Get Argument
- if( !CheckString(p) ) p = "(inval)"; // Avoid #PFs
+ if( !p || !CheckString(p) ) p = "(inval)"; // Avoid #PFs
printString:
if(!p) p = "(null)";
len = strlen(p);
*/
tThread *Threads_CloneThreadZero(void)
{
- tThread *cur, *new;
+ tThread *new;
int i;
- cur = Proc_GetCurThread();
// Allocate and duplicate
new = malloc(sizeof(tThread));
new->LastMessage = NULL;
// Set State
- new->Remaining = new->Quantum = cur->Quantum;
- new->Priority = cur->Priority;
+ new->Remaining = new->Quantum = DEFAULT_QUANTUM;
+ new->Priority = DEFAULT_PRIORITY;
new->bInstrTrace = 0;
// Set Signal Handlers
new->CurFaultNum = 0;
- new->FaultHandler = cur->FaultHandler;
+ new->FaultHandler = 0;
for( i = 0; i < NUM_CFG_ENTRIES; i ++ )
{
- switch(cCONFIG_TYPES[i])
- {
- default:
- new->Config[i] = cur->Config[i];
- break;
- case CFGT_HEAPSTR:
- if(cur->Config[i])
- new->Config[i] = (Uint) strdup( (void*)cur->Config[i] );
- else
- new->Config[i] = 0;
- break;
- }
+ new->Config[i] = 0;
}
// Maintain a global list of threads
*/
void Threads_Yield(void)
{
+ Log("Threads_Yield: by %p", __builtin_return_address(0));
Proc_Reschedule();
}