Author: emaste
Date: Sat Jun  3 03:40:11 2017
New Revision: 319513
URL: https://svnweb.freebsd.org/changeset/base/319513

Log:
  linux vdso: pass -fPIC to the assembler, not linker
  
  -fPIC has no effect on linking although it seems to be ignored by
  GNU ld.bfd.  However, it causes ld.lld to terminate with an invalid
  argument error.
  
  This is equivalent to r296057 but for the kernel (not modules) case.
  
  MFC after:    2 months
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/conf/files.amd64
  head/sys/conf/files.i386

Modified: head/sys/conf/files.amd64
==============================================================================
--- head/sys/conf/files.amd64   Sat Jun  3 03:15:57 2017        (r319512)
+++ head/sys/conf/files.amd64   Sat Jun  3 03:40:11 2017        (r319513)
@@ -46,7 +46,7 @@ linux32_assym.h                       optional        
compat_linux32          \
 #
 linux32_locore.o       optional        compat_linux32          \
        dependency      "linux32_assym.h $S/amd64/linux32/linux32_locore.s"     
\
-       compile-with    "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s 
-pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib 
-Wl,-T$S/amd64/linux32/linux32_vdso.lds.s 
-Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o 
${.TARGET}" \
+       compile-with    "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s 
-pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib 
-Wl,-T$S/amd64/linux32/linux32_vdso.lds.s 
-Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o 
${.TARGET}" \
        no-obj no-implicit-rule                                         \
        clean           "linux32_locore.o"
 #

Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386    Sat Jun  3 03:15:57 2017        (r319512)
+++ head/sys/conf/files.i386    Sat Jun  3 03:40:11 2017        (r319513)
@@ -33,7 +33,7 @@ linux_assym.h                 optional        compat_linux    
        \
 #
 linux_locore.o                 optional        compat_linux            \
        dependency      "linux_assym.h $S/i386/linux/linux_locore.s"    \
-       compile-with    "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe 
-I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib 
-Wl,-T$S/i386/linux/linux_vdso.lds.s 
-Wl,-soname=linux_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o 
${.TARGET}" \
+       compile-with    "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe 
-I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib 
-Wl,-T$S/i386/linux/linux_vdso.lds.s 
-Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" 
\
        no-obj no-implicit-rule                                         \
        clean           "linux_locore.o"
 #
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to