Commit Graph

25 Commits

Author SHA1 Message Date
Brian Behlendorf 1f3fa4df05 Add -stack-check option to libspl
See commit f16dec7e67fe86f3c3556a67865ee715a2964d70 for full
details of this change.  But in summary -fstack-check is being
restricted in usage only to locations which must already have
small stack frames.
2010-07-23 10:38:44 -07:00
Brian Behlendorf f39d7d2ca2 Remove libspl support for mlslabels
The ZFS update to onnv_141 brought with it support for a
security label attribute called mlslabel.  This feature
depends on zones to work correctly and while I originally
added minimal support for this in libspl that was a mistake.

Supporting this under Linux is not required and this is
just additional troublesome code to support.  Long term
something like this could be supported under Linux but it
will need to be clearly thought through them an implemented.
2010-07-22 16:37:29 -07:00
Brian Behlendorf 91cc4e35bb Updates to linux-libspl
Added print_timestamp() compatibility function, this will be needed
long term but it's a simply enough addition.

Added Solaris style label functions.  This was done simply to aid in
the initial update to onnv_141.  I'm hopeful that after more careful
inspection all of this can be removed and we can integrate with a
more Linux friendly Solution without breaking any compatibility.

Added several missing headers which are required by the updated
version of ZFS.  As usual I just add empty headers if needed because
it's easier than tracking the change against the core ZFS code.

Added SEC, MILLISEC, MICROSEC defines if unavailable.

Added missing xuio structure and typedefs.  I'm hopeful these can
be removed as well once we crack the zero-copy nut under Linux.
2010-06-14 15:47:54 -07:00
Brian Behlendorf 9b8aa5f57e Extend libspl as required for linux FMA integration.
These changes lay some of the ground work for supporting something
similar to FMA event under Solaris.  In particular these changes
add or modify the following areas.

First off an implementation of the gethrestime() function is added
to libspl.  Secondly, the missing type processorid_t has been added.
And finally the lib/libspl/include/sys/fm/{protocol.h|util.h} stub
headers have been removed in favor of updating the full versions
in module/zfs/include/sys/fm/{protocol.h|util.h} to work cleanly
in both user and kernel space.
2010-05-14 10:33:00 -07:00
Brian Behlendorf 3ae0e369f3 Add generic user space atomic support.
Futher testing on my powerpc system revealed that the powerpc
specific atomic implemetation was flawed.  Rather than spending
a lot of time correctly reimplementing it in assembly I have
reworked it in to a 100% generic version.  The generic version
will not perform well but it does provide correct sematics.  It
will be used only when there is no architecture specific version
available.  These changes do not impact x86_64 and x86 which have
have correct native implementations.
2009-07-16 09:59:44 -07:00
Brian Behlendorf 3f3cebdcda libspl support for conditional SUBDIRs based on target arch 2009-06-08 16:10:12 -07:00
Brian Behlendorf b83a638936 Powerpc64 Compatibility
- Add 64-bit user space atomic support obtained from an old version
  of OpenSolaris which supported ppc.  They are not all 100% fully
  implemented by they are a good first step.
- Add powerpc ISA type.
- Strip out unused ISA defines to prevent any confusion.
2009-05-22 15:00:19 -07:00
Brian Behlendorf caba3cb67e Update specific asm-* arch to generic i386.
Depending on your x86 architecture $target_cpu can evaluate to
any of the following (i386|i486|i586|i686).  Since our local asm
uses only i386 instructions sed is used to map all of these to
i386 and sets $target_arch.  Other arch's are not impacted.
2009-03-13 09:41:55 -07:00
Brian Behlendorf 59541a305e Libspl XDR implementation reorganization
Moved xdr_control() function from static inline in xdr.h in to a
new xdr.c file which was added to the libspl build.  Additionally,
I have removed the 'xdr_bytesrec' typedef which shares the same
name as the struct.  This is what Solaris does, but it's just asking
for trouble.  It has been replaced with an 'xdr_bytesrec_t' typedef.
2009-03-12 14:38:52 -07:00
Brian Behlendorf c05c1aa6f9 Build system and packaging (RPM support) (Part 4)
Complete support for dist install srpm and rpm make targets.
2009-03-10 21:57:56 -07:00
Brian Behlendorf 3d2e086e21 Remove u8 support, moved to libu8 2009-01-05 11:52:51 -08:00
Brian Behlendorf 0581ade42b Add target_cpu 2008-12-19 16:07:26 -08:00
Brian Behlendorf b66eafc892 Add assembler flags 2008-12-19 15:56:04 -08:00
Brian Behlendorf febd743891 First pass at getting userspace 64bit atomic ops working: 2008-12-19 15:11:43 -08:00
Brian Behlendorf f72a142146 Strip out sunddi support, this can be done in context 2008-12-19 12:04:07 -08:00
Brian Behlendorf 615168d176 Stub out additional sunddi interfaces 2008-12-19 11:30:42 -08:00
Brian Behlendorf a1e023d7a4 Add strtoxx functions 2008-12-19 09:05:50 -08:00
Brian Behlendorf 0f7520c7b0 Add gethrtime 2008-12-17 16:04:10 -08:00
Brian Behlendorf e3150dafb7 Add getexecname to Makefile.am 2008-12-17 14:34:48 -08:00
Brian Behlendorf 370f0a1773 Add zone and getmntany sources 2008-12-17 14:14:23 -08:00
Brian Behlendorf b0b1c43c46 Add += for DEFAULT_INCLUDES 2008-12-16 09:08:43 -08:00
Brian Behlendorf 2e0a5f5461 Refresh makefiles and configure.ac 2008-12-12 09:30:42 -08:00
Brian Behlendorf 9eb741a1fe Readd missing header 2008-12-11 16:23:35 -08:00
Brian Behlendorf 652388f3fb Moving all lib/libspl contexts to linux-libspl branch 2008-12-11 15:31:48 -08:00
Brian Behlendorf 98ce19f04c Update avl, nvpair, spl to unique build dirs 2008-12-11 13:54:57 -08:00