[FFmpeg-devel] PIC and YASM
Reimar Döffinger
Reimar.Doeffinger
Sun Nov 8 15:27:16 CET 2009
On Sun, Nov 08, 2009 at 01:47:20PM +0000, M?ns Rullg?rd wrote:
> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>
> > Hello,
> > I have been trying to figure out some compilation issues with hardened
> > gentoo on AMD64 and they all come down to YASM.
> > Several issues:
> > -DPIC is and must be added explicitly to the yasm flags.
> > in particular:
> > --enable-pic will not add -DPIC to YASMFLAGS, nor will the enable_pic
> > function. --enable-shared will though.
>
> That's easy to fix. Does this work better?
Probably, though why not just put it in the enable_pic function?
(x86inc.asm will unset it by itself where it is not supported)
I also suspect that my proposal will allow to get rid of that
"enable pic" hack for OpenBSD and the macho64 special-case.
Not to mention the Haiku/Zeta case that just looks very strange,
if not to say wrong (adding -DPIC but not doing enable_pic?).
However that darwin case means the check would have to be done earlier
(to get -mdynamic-no-pic):
Index: configure
===================================================================
--- configure (revision 20469)
+++ configure (working copy)
@@ -1876,6 +1876,7 @@
enable $arch $subarch
enabled spic && enable pic
+check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
# OS specific
case $target_os in
@@ -2103,6 +2104,7 @@
add_cppflags -DPIC
add_cflags -fPIC
add_asflags -fPIC
+ append YASMFLAGS "-DPIC"
}
enabled pic && enable_pic
@@ -2231,7 +2233,6 @@
YASMFLAGS="-f $objformat -DARCH_$(toupper $subarch)"
enabled x86_64 && append YASMFLAGS "-m amd64"
- enabled_all x86_64 shared && append YASMFLAGS "-DPIC"
case "$objformat" in
elf) enabled debug && append YASMFLAGS "-g dwarf2" ;;
macho64) append YASMFLAGS "-DPIC -DPREFIX" ;;
More information about the ffmpeg-devel
mailing list