summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLojewski, Evan <github@meklort.com>2019-05-11 17:40:57 -0600
committerLojewski, Evan <github@meklort.com>2019-05-11 17:40:57 -0600
commit889a9e53b6ad5d45a2ac3fe99c853c4d03753a2d (patch)
treeb6cf7eee3f0777317a200c8cc346d8b93bf66a06
parent447079c15d52cce3a97bbd223194121f7ed609ef (diff)
downloadbcm5719-ortega-889a9e53b6ad5d45a2ac3fe99c853c4d03753a2d.tar.gz
bcm5719-ortega-889a9e53b6ad5d45a2ac3fe99c853c4d03753a2d.zip
Update cross compilation to use ld from compiler, remove system includes.
-rw-r--r--CMakeLists.txt4
-rw-r--r--cmake/arm.cmake2
-rw-r--r--cmake/mips.cmake2
-rw-r--r--include/types.h24
-rw-r--r--libs/NCSI/ncsi.c1
-rw-r--r--libs/NVRam/include/NVRam.h3
-rw-r--r--libs/Network/include/Network.h3
-rw-r--r--libs/Network/rx.c1
-rw-r--r--libs/Network/tx.c1
-rw-r--r--libs/VPD/include/vpd.h4
-rw-r--r--libs/VPD/vpd.c1
11 files changed, 33 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fc046cb..107a48b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,10 @@ SET(CMAKE_C_COMPILER $ENV{HOME}/llvm-bcm5719/bin/clang)
SET(CMAKE_CXX_COMPILER $ENV{HOME}/llvm-bcm5719/bin/clang++)
SET(CMAKE_ASM_COMPILER $ENV{HOME}/llvm-bcm5719/bin/clang)
+SET(CMAKE_C_LINKER $ENV{HOME}/llvm-bcm5719/bin/ld.lld)
+SET(CMAKE_CXX_LINKER $ENV{HOME}/llvm-bcm5719/bin/ld.lld)
+SET(CMAKE_ASM_LINKER $ENV{HOME}/llvm-bcm5719/bin/ld.lld)
+
cmake_minimum_required(VERSION 3.5.1)
project(bcm5719-top)
diff --git a/cmake/arm.cmake b/cmake/arm.cmake
index 8e360bc..abeee47 100644
--- a/cmake/arm.cmake
+++ b/cmake/arm.cmake
@@ -50,7 +50,7 @@ SET(ARM_LINK_OPTIONS --gc-sections)
SET(CMAKE_INCLUDE_FLAG_ASM "-I")
SET(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-SET(CMAKE_arm_LINK_EXECUTABLE "ld.lld <OBJECTS> <LINK_LIBRARIES> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -Bstatic -o <TARGET>")
+SET(CMAKE_arm_LINK_EXECUTABLE "$ENV{HOME}/llvm-bcm5719/bin/ld.lld <OBJECTS> <LINK_LIBRARIES> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -Bstatic -o <TARGET>")
# ARM-specific executables
function(arm_add_executable target)
diff --git a/cmake/mips.cmake b/cmake/mips.cmake
index 62ba316..b4a5c5f 100644
--- a/cmake/mips.cmake
+++ b/cmake/mips.cmake
@@ -50,7 +50,7 @@ SET(MIPS_LINK_OPTIONS --gc-sections)
SET(CMAKE_INCLUDE_FLAG_ASM "-I")
SET(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-SET(CMAKE_mips_LINK_EXECUTABLE "ld.lld <OBJECTS> <LINK_LIBRARIES> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -Bstatic -o <TARGET>")
+SET(CMAKE_mips_LINK_EXECUTABLE "$ENV{HOME}/llvm-bcm5719/bin/ld.lld <OBJECTS> <LINK_LIBRARIES> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -Bstatic -o <TARGET>")
# MIPS-specific executables
function(mips_add_executable target)
diff --git a/include/types.h b/include/types.h
index 0b3baba..f594686 100644
--- a/include/types.h
+++ b/include/types.h
@@ -1,6 +1,30 @@
#ifndef TYPES_H
#define TYPES_H
+#ifdef CXX_SIMULATOR
+#include <stdint.h>
+#include <stdbool.h>
+#elif defined(__arm__) || defined(__mips__)
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+
+typedef signed short int16_t;
+typedef unsigned short uint16_t;
+
+typedef signed int int32_t;
+typedef unsigned int uint32_t;
+
+typedef long long unsigned int uint64_t;
+typedef long long signed int int64_t;
+
+typedef _Bool bool;
+
+#define true (1)
+#define false (0)
+#else
+#error Unknown target architechture
+#endif
+
#define SECTION(__section__) __attribute__((section, __section__))
#define ARRAY_ELEMENTS(__array__) (sizeof(__array__) / sizeof(__array__[0]))
diff --git a/libs/NCSI/ncsi.c b/libs/NCSI/ncsi.c
index e2c3b68..cd5df2b 100644
--- a/libs/NCSI/ncsi.c
+++ b/libs/NCSI/ncsi.c
@@ -49,7 +49,6 @@
#include <APE_SHM_CHANNEL1.h>
#include <APE_SHM_CHANNEL2.h>
#include <APE_SHM_CHANNEL3.h>
-#include <stdbool.h>
#include <Network.h>
#include <types.h>
diff --git a/libs/NVRam/include/NVRam.h b/libs/NVRam/include/NVRam.h
index b76dfa7..3be6a3b 100644
--- a/libs/NVRam/include/NVRam.h
+++ b/libs/NVRam/include/NVRam.h
@@ -44,8 +44,7 @@
#ifndef NVRAM_H
#define NVRAM_H
-#include <stdbool.h>
-#include <stdint.h>
+#include <types.h>
bool NVRam_acquireLock(void);
bool NVRam_releaseLock(void);
diff --git a/libs/Network/include/Network.h b/libs/Network/include/Network.h
index 92074b4..70c1140 100644
--- a/libs/Network/include/Network.h
+++ b/libs/Network/include/Network.h
@@ -55,8 +55,7 @@
#include <APE_RX_PORT2.h>
#include <APE_TX_PORT3.h>
#include <APE_RX_PORT3.h>
-#include <stdbool.h>
-#include <stdint.h>
+#include <types.h>
typedef struct {
/* TX Registers */
diff --git a/libs/Network/rx.c b/libs/Network/rx.c
index 81cb718..069eaef 100644
--- a/libs/Network/rx.c
+++ b/libs/Network/rx.c
@@ -47,7 +47,6 @@
#include <APE_RX_PORT0.h>
#include <Ethernet.h>
#include <Network.h>
-#include <stdbool.h>
#include <types.h>
#ifdef CXX_SIMULATOR
diff --git a/libs/Network/tx.c b/libs/Network/tx.c
index 7625586..0663b0d 100644
--- a/libs/Network/tx.c
+++ b/libs/Network/tx.c
@@ -46,7 +46,6 @@
#include <APE_TX_PORT0.h>
#include <Ethernet.h>
#include <Network.h>
-#include <stdbool.h>
#include <types.h>
#ifdef CXX_SIMULATOR
diff --git a/libs/VPD/include/vpd.h b/libs/VPD/include/vpd.h
index c7c85ea..7245ed3 100644
--- a/libs/VPD/include/vpd.h
+++ b/libs/VPD/include/vpd.h
@@ -42,9 +42,7 @@
/// @endcond
////////////////////////////////////////////////////////////////////////////////
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
+#include <types.h>
#define VPD_DATA_TYPE_SMALL (0x00)
#define VPD_DATA_TYPE_LARGE (0x01)
diff --git a/libs/VPD/vpd.c b/libs/VPD/vpd.c
index 22b6ca6..824c9b1 100644
--- a/libs/VPD/vpd.c
+++ b/libs/VPD/vpd.c
@@ -42,7 +42,6 @@
/// @endcond
////////////////////////////////////////////////////////////////////////////////
-#include <stdbool.h>
#ifdef CXX_SIMULATOR
#include <stdio.h>
#endif /* CXX_SIMULATOR */
OpenPOWER on IntegriCloud