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:
Oliver Tappe
2013-08-29 22:44:50 +02:00
parent d1246f33f0
commit c5c787ea41
4 changed files with 6 additions and 5 deletions
@@ -18,5 +18,4 @@ KernelAddon btrfs :
DirectoryIterator.cpp
Inode.cpp
Volume.cpp
: kernel_libz.a
;
@@ -6,7 +6,7 @@ UsePrivateKernelHeaders ;
UsePrivateHeaders package shared storage ;
local subDirs =
local subDirs =
indices
nodes
package
@@ -123,7 +123,7 @@ KernelAddon packagefs
$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1)
$(libSharedSources)
: $(TARGET_KERNEL_LIBSUPC++) kernel_libz.a
: $(TARGET_KERNEL_LIBSUPC++)
;
+2
View File
@@ -128,6 +128,7 @@ KernelLd kernel_$(TARGET_ARCH) :
kernel_lib_posix.o
kernel_lib_posix_arch_$(TARGET_ARCH).o
kernel_misc.o
kernel_zlib.o
$(TARGET_KERNEL_LIBSUPC++)
@@ -170,6 +171,7 @@ if $(HAIKU_ARCH) = x86_64 {
kernel_lib_posix.o
kernel_lib_posix_arch_$(TARGET_ARCH).o
kernel_misc.o
kernel_zlib.o
$(TARGET_KERNEL_LIBSUPC++)
+2 -2
View File
@@ -17,7 +17,7 @@ LOCATE on [ FGristFiles $(zlibSources) ] = $(zlibSourceDirectory) ;
Depends [ FGristFiles $(zlibSources) ]
: [ BuildFeatureAttribute zlib : sources ] ;
KernelStaticLibrary kernel_libz.a :
KernelMergeObject kernel_zlib.o :
$(zlibSources)
: -fno-pic
: $(TARGET_KERNEL_PIC_CCFLAGS)
;