When training a two-class SVM using libLinear or libSVM, one behavior to keep in mind is that the label of the first training example is used as the positive data. So if your training data contains two classes {-1,1} and the first training example happened to be labeled -1, then the direction of the decision boundary will be swapped.
A simple way to check if this is the case is to look at the Label field of the MATLAB struct that is output from libLinear's train and libSVM's svmtrain functions, Label(1) will tell you the label used for positive examples. However, if you use the library's predict function (predict and svmpredict), the labels will be correctly translated.
Source: http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f430
When the bias term learned using libLinear (-B 1) is regularized and is appended to the end of the weight vector, there does not appear to be a way to learn an unregularized bias term with libLinear. However, libSVM is able to learn a bias term rho in the decision function sign(wT x - rho).
Sources: www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f401 www.csie.ntu.edu.tw/~cjlin/liblinear/FAQ.html#training_and_prediction