build: add option to compile as PIE or SO.
build: add option to compile as PIE or SO.

This is the first step in a journy of many miles, to be able to run
Seastar applications (such as httpd or memcached) on top of OSv.

This patch adds a configure.py option "-so" to build the applications as
shared-objects instead of executables. It also adds the option "-pie" to
build position-independent executables instead.

These are needed to run a Seastar application on OSv, as OSv cannot run
a normal position-dependent executable. Note that currently, PIE won't
actually work (because of OSv bug #352 - unfortunately Seastar uses
thread_local in one place) - so only "-so" is useful to build an application
to run in OSv.

The resulting shared-object doesn't yet run on OSv (many bugs ahead, as
well as missing features), but it's a start.

Signed-off-by: Nadav Har'El <625169824b719df98706d88646d0aae6f368ae4d@cloudius-systems.com>

shyamalschandra/seastar,kjniemi/scylla,tempbottle/seastar,rluta/scylla,printedheart/seastar,bzero/seastar,linearregression/scylla,xtao/seastar,gwicke/scylla,aruanruan/scylla,senseb/scylla,jonathanleang/seastar,joerg84/seastar,kangkot/scylla,scylladb/scylla-seastar,stamhe/scylla,duarten/scylla,stamhe/seastar,aruanruan/scylla,acbellini/seastar,eklitzke/scylla,dwdm/seastar,shaunstanislaus/scylla,tempbottle/scylla,flashbuckets/seastar,rluta/scylla,acbellini/scylla,scylladb/seastar,koolhazz/seastar,victorbriz/scylla,kangkot/scylla,kjniemi/seastar,hongliangzhao/seastar,stamhe/seastar,duarten/scylla,jonathanleang/seastar,norcimo5/seastar,cloudius-systems/seastar,phonkee/scylla,dreamsxin/seastar,slivne/seastar,respu/scylla,raphaelsc/seastar,sjperkins/seastar,glommer/scylla,justintung/scylla,raphaelsc/scylla,capturePointer/scylla,rentongzhang/scylla,avikivity/scylla,leejir/seastar,tempbottle/scylla,ducthangho/imdb,asias/scylla,ducthangho/imdb,scylladb/scylla-seastar,acbellini/scylla,acbellini/seastar,wildinto/seastar,raphaelsc/scylla,avikivity/seastar,raphaelsc/scylla,rentongzhang/scylla,avikivity/seastar,aruanruan/scylla,shaunstanislaus/scylla,victorbriz/scylla,acbellini/scylla,chunshengster/seastar,scylladb/scylla,syuu1228/seastar,guiquanz/scylla,respu/scylla,asias/scylla,phonkee/scylla,mixja/seastar,slivne/seastar,avikivity/scylla,avikivity/seastar,hongliangzhao/seastar,capturePointer/scylla,respu/scylla,guiquanz/scylla,asias/scylla,justintung/scylla,phonkee/scylla,eklitzke/scylla,raphaelsc/seastar,scylladb/scylla,leejir/seastar,kjniemi/seastar,scylladb/scylla-seastar,rentongzhang/scylla,dwdm/scylla,bowlofstew/seastar,hongliangzhao/seastar,avikivity/scylla,printedheart/seastar,wildinto/scylla,eklitzke/scylla,anzihenry/seastar,syuu1228/seastar,stamhe/scylla,tempbottle/seastar,raphaelsc/seastar,senseb/scylla,linearregression/seastar,bowlofstew/seastar,tempbottle/seastar,cloudius-systems/seastar,anzihenry/seastar,printedheart/seastar,linearregression/scylla,bzero/seastar,chunshengster/seastar,bowlofstew/scylla,slivne/seastar,gwicke/scylla,joerg84/seastar,linearregression/seastar,xtao/seastar,shaunstanislaus/scylla,scylladb/scylla,glommer/scylla,cloudius-systems/seastar,dwdm/scylla,koolhazz/seastar,ducthangho/imdb,chunshengster/seastar,flashbuckets/seastar,gwicke/scylla,wildinto/scylla,guiquanz/scylla,norcimo5/seastar,senseb/scylla,anzihenry/seastar,shyamalschandra/seastar,bowlofstew/seastar,stamhe/scylla,capturePointer/scylla,koolhazz/seastar,rluta/scylla,victorbriz/scylla,wildinto/seastar,shyamalschandra/seastar,sjperkins/seastar,kjniemi/scylla,jonathanleang/seastar,mixja/seastar,dwdm/seastar,bzero/seastar,acbellini/seastar,dwdm/scylla,duarten/scylla,scylladb/scylla,wildinto/scylla,dwdm/seastar,kangkot/scylla,stamhe/seastar,glommer/scylla,leejir/seastar,wildinto/seastar,tempbottle/scylla,bowlofstew/scylla,scylladb/seastar,norcimo5/seastar,linearregression/scylla,mixja/seastar,scylladb/seastar,flashbuckets/seastar,sjperkins/seastar,justintung/scylla,kjniemi/scylla,syuu1228/seastar,bowlofstew/scylla,dreamsxin/seastar,dreamsxin/seastar,linearregression/seastar,kjniemi/seastar,joerg84/seastar,xtao/seastar