kernel/x86_64: add compatibility source files to the build.

* add x86 versions of fnsave frstor.
* add missing declaration for elf32_resolve_symbol().

How-to build a x86_64/x86 bootstrap build:
mkdir generated_bootstrap; cd generated_bootstrap
../configure --bootstrap /dir/to/haikuporter/haikuporter /dir/to/haikuports.cross \
  /dir/to/haikuports --build-cross-tools x86_64 /dir/to/buildtools --build-cross-tools x86 -j8 --use-gcc-pipe
jam -q -sHAIKU_PORTER_EXTRA_OPTIONS="-j8 --sourceforge-mirror=freefr --no-source-packages" @bootstrap-raw

Change-Id: I6eae3653c42a53683ae307107fae595c4b8ebcfb
This commit is contained in:
Jérôme Duval
2018-06-12 17:56:55 +02:00
parent a69cb33030
commit 44f24718b1
7 changed files with 79 additions and 6 deletions
+8 -3
View File
@@ -579,9 +579,6 @@ void x86_write_msr(uint32 registerNumber, uint64 value);
void x86_context_switch(struct arch_thread* oldState,
struct arch_thread* newState);
void x86_fnsave(void* fpuState);
void x86_frstor(const void* fpuState);
void x86_fxsave(void* fpuState);
void x86_fxrstor(const void* fpuState);
@@ -592,6 +589,14 @@ void x86_fxsave_swap(void* oldFpuState, const void* newFpuState);
#endif
#if !defined(__x86_64__) || defined(_COMPAT_MODE)
void x86_fnsave(void* fpuState);
void x86_frstor(const void* fpuState);
#endif // !defined(__x86_64__) || defined(_COMPAT_MODE)
static inline void
arch_cpu_idle(void)
{
+5
View File
@@ -82,6 +82,11 @@ extern "C" {
extern status_t elf_resolve_symbol(struct elf_image_info* image,
elf_sym* symbol, struct elf_image_info* sharedImage,
elf_addr* _symbolAddress);
#ifdef _COMPAT_MODE
extern status_t elf32_resolve_symbol(struct elf_image_info* image,
elf_sym* symbol, struct elf_image_info* sharedImage,
elf_addr* _symbolAddress);
#endif
#ifdef __cplusplus
}