Fix build problems of btrfs and packagefs for x86_64.
* Both filesystems used to link to a static kernel-zlib, which was being built with -fno-pic. This doesn't work on x86_64 as the filesystem add-ons are meant to be relocatable, which requires their code to be compiled as position independent. Solve that by moving zlib into the kernel, so any add-on can just use it from there (packagefs is mandatory, so we can't really do without zlib anyway).
This commit is contained in:
@@ -18,5 +18,4 @@ KernelAddon btrfs :
|
|||||||
DirectoryIterator.cpp
|
DirectoryIterator.cpp
|
||||||
Inode.cpp
|
Inode.cpp
|
||||||
Volume.cpp
|
Volume.cpp
|
||||||
: kernel_libz.a
|
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ KernelAddon packagefs
|
|||||||
$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1)
|
$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1)
|
||||||
$(libSharedSources)
|
$(libSharedSources)
|
||||||
|
|
||||||
: $(TARGET_KERNEL_LIBSUPC++) kernel_libz.a
|
: $(TARGET_KERNEL_LIBSUPC++)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ KernelLd kernel_$(TARGET_ARCH) :
|
|||||||
kernel_lib_posix.o
|
kernel_lib_posix.o
|
||||||
kernel_lib_posix_arch_$(TARGET_ARCH).o
|
kernel_lib_posix_arch_$(TARGET_ARCH).o
|
||||||
kernel_misc.o
|
kernel_misc.o
|
||||||
|
kernel_zlib.o
|
||||||
|
|
||||||
$(TARGET_KERNEL_LIBSUPC++)
|
$(TARGET_KERNEL_LIBSUPC++)
|
||||||
|
|
||||||
@@ -170,6 +171,7 @@ if $(HAIKU_ARCH) = x86_64 {
|
|||||||
kernel_lib_posix.o
|
kernel_lib_posix.o
|
||||||
kernel_lib_posix_arch_$(TARGET_ARCH).o
|
kernel_lib_posix_arch_$(TARGET_ARCH).o
|
||||||
kernel_misc.o
|
kernel_misc.o
|
||||||
|
kernel_zlib.o
|
||||||
|
|
||||||
$(TARGET_KERNEL_LIBSUPC++)
|
$(TARGET_KERNEL_LIBSUPC++)
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ LOCATE on [ FGristFiles $(zlibSources) ] = $(zlibSourceDirectory) ;
|
|||||||
Depends [ FGristFiles $(zlibSources) ]
|
Depends [ FGristFiles $(zlibSources) ]
|
||||||
: [ BuildFeatureAttribute zlib : sources ] ;
|
: [ BuildFeatureAttribute zlib : sources ] ;
|
||||||
|
|
||||||
KernelStaticLibrary kernel_libz.a :
|
KernelMergeObject kernel_zlib.o :
|
||||||
$(zlibSources)
|
$(zlibSources)
|
||||||
: -fno-pic
|
: $(TARGET_KERNEL_PIC_CCFLAGS)
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user