From b2c4d9a8ebebf87be33dcc357af86102d31dac47 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 15 Nov 2025 06:07:15 +0100 Subject: feat: DDK: compiler improvements and working on fwrk standard and launch design. Signed-off-by: Amlal El Mahrouss --- dev/libDDK/DriverKit/dki/contract.h | 2 +- dev/libDDK/DriverKit/macros.h | 8 ++++---- dev/libSystem/src/SystemCalls.cc | 17 ----------------- dev/libSystem/src/Utils.cc | 29 +++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 22 deletions(-) create mode 100644 dev/libSystem/src/Utils.cc (limited to 'dev') diff --git a/dev/libDDK/DriverKit/dki/contract.h b/dev/libDDK/DriverKit/dki/contract.h index 23884e02..f701de56 100644 --- a/dev/libDDK/DriverKit/dki/contract.h +++ b/dev/libDDK/DriverKit/dki/contract.h @@ -10,7 +10,7 @@ #pragma once #include -#include +#include #define DKI_CONTRACT_IMPL : public ::Kernel::DKIContract diff --git a/dev/libDDK/DriverKit/macros.h b/dev/libDDK/DriverKit/macros.h index 9b7b3d50..e5aa4b96 100644 --- a/dev/libDDK/DriverKit/macros.h +++ b/dev/libDDK/DriverKit/macros.h @@ -16,7 +16,7 @@ #define BOOL bool #define YES true #define NO false -#define DDK_EXTERN extern "C" __declspec(dllexport) +#define DDK_EXTERN extern "C" #define nil nullptr #undef NULL #define NULL 0 @@ -25,7 +25,7 @@ #define BOOL char #define YES 1 #define NO 0 -#define DDK_EXTERN extern __declspec(dllexport) +#define DDK_EXTERN extern #define nil ((void*) 0) #undef NULL #define NULL ((void*) 0) @@ -35,9 +35,9 @@ #ifndef __DDK__ #undef DDK_EXTERN #if defined(__cplusplus) -#define DDK_EXTERN extern "C" __declspec(dllimport) +#define DDK_EXTERN extern "C" #else -#define DDK_EXTERN __declspec(dllimport) +#define DDK_EXTERN #endif #endif diff --git a/dev/libSystem/src/SystemCalls.cc b/dev/libSystem/src/SystemCalls.cc index 3db9368d..3d7a7447 100644 --- a/dev/libSystem/src/SystemCalls.cc +++ b/dev/libSystem/src/SystemCalls.cc @@ -11,23 +11,6 @@ using namespace LibSystem; -/// @note this uses the FNV 64-bit variant. -IMPORT_C UInt64 libsys_hash_64(const Char* path) { - if (!path || *path == 0) return 0; - - const UInt64 kFNVSeed = 0xcbf29ce484222325ULL; - const UInt64 kFNVPrime = 0x100000001b3ULL; - - UInt64 hash = kFNVSeed; - - while (*path) { - hash ^= (Char) (*path++); - hash *= kFNVPrime; - } - - return hash; -} - IMPORT_C Char* StrFmt(const Char* fmt, ...) { if (!fmt || *fmt == 0) return const_cast("(null)"); diff --git a/dev/libSystem/src/Utils.cc b/dev/libSystem/src/Utils.cc new file mode 100644 index 00000000..0688cd57 --- /dev/null +++ b/dev/libSystem/src/Utils.cc @@ -0,0 +1,29 @@ +/* ------------------------------------------- + + Copyright (C) 2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#include +#include +#include +#include + +using namespace LibSystem; + +/// @note This uses the FNV 64-bit variant. +IMPORT_C UInt64 libsys_hash_64(const Char* path) { + if (!path || *path == 0) return 0; + + const UInt64 kFNVSeed = 0xcbf29ce484222325ULL; + const UInt64 kFNVPrime = 0x100000001b3ULL; + + UInt64 hash = kFNVSeed; + + while (*path) { + hash ^= (Char) (*path++); + hash *= kFNVPrime; + } + + return hash; +} -- cgit v1.2.3