[linux-lvm] [PATCH]: don't use functions marked by SUSv3 as legacy
Arkadiusz Miskiewicz
arekm at maven.pl
Mon Jul 2 07:21:16 UTC 2007
On Sunday 01 of July 2007, Alasdair G Kergon wrote:
> > The other one puts LDFLAGS (linker flags) not CFLAGS (cflags is for
> > compilation, ldflags for linking) and changes order so linking will
> > success when using -Wl,--as-needed flag.
>
> For fsadm, which I don't consider production-ready yet - but if you're
> using it successfully that'd be nice to know!
Never tested but we are building it and the patch is needed for that.
> > There are also others mostly self explaining patches for device-mapper:
> > http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/device-mapper-disable_dyn
> >amic_link.patch
>
> Want to test that one - how does it handle configure --disable-dynamic
> without --enable-static? (A nice error message? Is there a cleaner way?)
The goal of this was disabling building shared libraries and linking to them.
Cleaner way would be simply change --enable-static_link to do the same.
Right now you can't just build static libraries, even
with --enable-static_link shared lib is being built:
klcc -static -shared -Wl,-soname,libdevmapper.so.1.02 \
-O2 -fno-strict-aliasing -fwrapv -march=x86-64 -gdwarf-2 -g2 -fPIC
-Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -Winline -O2 -fno-strict-aliasing
-fwrapv -march=x86-64 -gdwarf-2 -g2 -Wl,--as-needed
-Wl,--version-script,.export.sym -L../lib/ioctl datastruct/bitset.o
datastruct/hash.o libdm-common.o libdm-file.o libdm-deptree.o libdm-string.o
libdm-report.o mm/dbg_malloc.o mm/pool.o regex/matcher.o regex/parse_rx.o
regex/ttree.o ioctl/libdm-iface.o -o ioctl/libdevmapper.so
Is changing --enable-static_link to disable building shared libs a fine
change?
> > http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/device-mapper-force-local
> >-headers.patch
>
> Not sure what the best way to achieve that upstream is: the patch breaks
> some valid alternative configurations.
AFAIK the problem was that it was prefering system wide header over local in
package. So when building new version of device-mapper old system include
header was used.
> > http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/device-mapper-klibc.patch
>
> basename: I'd rather call a local implementation if 'configure' didn't find
> one
>
> fread+sscanf: I'd prefer not to change that at this stage unless you can
> show if fixes bugs in the existing implementation (it's not easy to get
> this sort of code correct, so any change involves avoidable risk) - again
> an alternative function implementation (possibly with a little refactoring)
> would be more acceptable.
It doesn't fix anything. It merely replaces functions with these available in
klibc so you can build device-mapper against klibc.
> Alasdair
--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
More information about the linux-lvm
mailing list