1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2026-02-05 11:13:51 +00:00

Added MIPS24KC (OpenWRT) Support

This commit is contained in:
Bryan Roe
2020-08-19 17:40:34 -07:00
parent fbccacaaf4
commit 9890200f25
6 changed files with 37 additions and 1 deletions

View File

@@ -69,6 +69,7 @@
# make linux ARCHID=5 # Linux x86 32 bit
# make linux ARCHID=6 # Linux x86 64 bit
# make linux ARCHID=7 # Linux MIPS
# make linux ARCHID=8 # Linux MIPS24KC (OpenWRT)
# make linux ARCHID=9 # Linux ARM 32 bit
# make linux ARCHID=13 # Linux ARM 32 bit PogoPlug
# make linux ARCHID=15 # Linux x86 32 bit POKY
@@ -131,6 +132,7 @@ EXENAME = meshagent
# Cross-compiler paths
PATH_MIPS = ../ToolChains/ddwrt/3.4.6-uclibc-0.9.28/bin/
PATH_MIPS24KC = ../ToolChains/toolchain-mips_24kc_gcc-7.3.0_musl/
PATH_ARM5 = ../ToolChains/LinuxArm/bin/
PATH_POGO = ../ToolChains/pogoplug-gcc/bin/
PATH_LINARO = ../ToolChains/linaro-arm/bin/
@@ -158,6 +160,9 @@ SKIPFLAGS = 0
ifeq ($(AID), 7)
SKIPFLAGS = 1
endif
ifeq ($(AID), 8)
SKIPFLAGS = 1
endif
ifeq ($(AID), 9)
SKIPFLAGS = 1
endif
@@ -205,6 +210,23 @@ KVM = 0
LMS = 0
endif
# Official Linux MIPS24KC (OpenWRT)
ifeq ($(ARCHID),28)
ARCHNAME = mips24kc
export PATH := $(PATH_MIPS24KC)bin:$(PATH_MIPS24KC)libexec/gcc/mips-openwrt-linux-musl/7.3.0:$(PATH_MIPS24KC)mips-openwrt-linux-musl/bin:$(PATH)
export STAGING_DIR := $(PATH_MIPS24KC)
CC = $(PATH_MIPS24KC)bin/mips-openwrt-linux-musl-gcc --sysroot=$(PATH_MIPS24KC)
STRIP = $(PATH_MIPS24KC)bin/mips-openwrt-linux-musl-strip
CEXTRA = -D_FORTIFY_SOURCE=2 -D_NOILIBSTACKDEBUG -D_NOFSWATCHER -Wformat -Wformat-security -fno-strict-aliasing
CFLAGS += -DBADMATH
INCDIRS += -I$(PATH_MIPS24KC)include
IPADDR_MONITOR_DISABLE = 1
IFADDR_DISABLE = 1
KVM = 0
LMS = 0
endif
# Official Linux ARM
ifeq ($(ARCHID),9)
ARCHNAME = arm

View File

@@ -8827,6 +8827,13 @@ char* ILibString_Copy(const char *inString, int length)
RetVal[length] = 0;
return RetVal;
}
char* ILibString_CopyEx(const char *inString, size_t length)
{
if (length == 0) { length = strnlen_s(inString, sizeof(ILibScratchPad)); }
char *retVal = ILibMemory_SmartAllocate(length + 1);
memcpy_s(retVal, length + 1, inString, length);
return(retVal);
}
/*! \fn ILibString_ToUpper(const char *inString, int length)
\brief Coverts the given string to upper case
\par

View File

@@ -1346,6 +1346,7 @@ int ILibIsRunningOnChainThread(void* chain);
char* ILibString_Cat(const char *inString1, int inString1Len, const char *inString2, int inString2Len);
char* ILibString_Cat_s(char *destination, size_t destinationSize, char *source);
char *ILibString_Copy(const char *inString, int length);
char* ILibString_CopyEx(const char *inString, size_t length);
int ILibString_Copy_s(char *destination, size_t destinationSize, char *source);
int ILibString_n_Copy_s(char *destination, size_t destinationSize, char *source, size_t count);
int ILibString_EndsWith(const char *inString, int inStringLength, const char *endWithString, int endWithStringLength);

View File

@@ -232,6 +232,11 @@ void ILibProcessPipe_Manager_OnPostSelect(void* object, int slct, fd_set *readse
void *node, *nextNode;
ILibProcessPipe_PipeObject *j;
//if (ILibMemory_CanaryOK(((ILibChain_Link*)object)->MetaData))
//{
// printf("ILibProcessPipe_Manager_PostSelect(%s)\n", ((ILibChain_Link*)object)->MetaData);
//}
node = ILibLinkedList_GetNode_Head(man->ActivePipes);
while(node != NULL && (j = (ILibProcessPipe_PipeObject*)ILibLinkedList_GetDataFromNode(node)) != NULL)
{
@@ -265,7 +270,8 @@ ILibProcessPipe_Manager ILibProcessPipe_Manager_Create(void *chain)
if ((retVal = (ILibProcessPipe_Manager_Object*)malloc(sizeof(ILibProcessPipe_Manager_Object))) == NULL) { ILIBCRITICALEXIT(254); }
memset(retVal, 0, sizeof(ILibProcessPipe_Manager_Object));
retVal->ChainLink.MetaData = "ILibProcessPipe_Manager";
//retVal->ChainLink.MetaData = "ILibProcessPipe_Manager";
retVal->ChainLink.MetaData = ILibString_CopyEx("ILibProcessPipe_Manager", 0);
retVal->ChainLink.ParentChain = chain;
retVal->ActivePipes = ILibLinkedList_CreateEx(sizeof(int));

Binary file not shown.

Binary file not shown.