Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jan 2017 20:00:35 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 215947] head -r311147 (e.g.): gcc 4.2.1 requires -mlongcall but clang does not need it (and various versions do not have it)
Message-ID:  <bug-215947-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D215947

            Bug ID: 215947
           Summary: head -r311147 (e.g.): gcc 4.2.1 requires -mlongcall
                    but clang does not need it (and various versions do
                    not have it)
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: markmi@dsl-only.net

[I attempt builds of libc++ based FreeBSD for powerpc64 and powerpc
under both system-clang and devel/powerpc64-gcc (xtoolchain).]

I in order to avoid builds stopping I've historically used patches
like:

Index: /usr/src/lib/csu/powerpc64/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /usr/src/lib/csu/powerpc64/Makefile (revision 311147)
+++ /usr/src/lib/csu/powerpc64/Makefile (working copy)
@@ -5,19 +5,20 @@
 SRCS=3D          crt1.c crti.S crtn.S
 OBJS=3D          ${SRCS:N*.h:R:S/$/.o/g}
 OBJS+=3D         Scrt1.o gcrt1.o
+.include <bsd.compiler.mk>
+.if ${COMPILER_TYPE} =3D=3D "gcc"
 CFLAGS+=3D       -I${.CURDIR}/../common \
                -I${.CURDIR}/../../libc/include \
                -mlongcall
+.else
+CFLAGS+=3D       -I${.CURDIR}/../common \
+               -I${.CURDIR}/../../libc/include
+.endif

 # XXX: See the log for r232932 as to why the above -mlongcall is needed.=20
Since
 # clang doesn't support -mlongcall, and testing shows a clang linked with a
 # clang-built csu segfaults, this must currently be compiled with gcc.  On=
ce
 # clang supports -mlongcall, or we get a fixed ld, this can be revisited.
-.include <bsd.compiler.mk>
-.if ${COMPILER_TYPE} !=3D "gcc"
-CC:=3D           gcc
-COMPILER_TYPE:=3D        gcc
-.endif

 FILES=3D         ${OBJS}
 FILESMODE=3D     ${LIBMODE}
Index: /usr/src/sys/conf/kmod.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /usr/src/sys/conf/kmod.mk   (revision 311147)
+++ /usr/src/sys/conf/kmod.mk   (working copy)
@@ -147,8 +147,12 @@
 .endif

 .if ${MACHINE_CPUARCH} =3D=3D powerpc
+.if ${COMPILER_TYPE} =3D=3D "gcc"
 CFLAGS+=3D       -mlongcall -fno-omit-frame-pointer
+.else
+CFLAGS+=3D       -fno-omit-frame-pointer
 .endif
+.endif

 .if ${MACHINE_CPUARCH} =3D=3D mips
 CFLAGS+=3D       -G0 -fno-pic -mno-abicalls -mlong-calls

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-215947-8>