Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Dec 2016 08:28:13 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 215600] devel/powerpc64-gcc based buildkernel: sys/powerpc/powerpc/db_trace.c rejected for: '__builtin_frame_address' with a nonzero argument is unsafe
Message-ID:  <bug-215600-8@https.bugs.freebsd.org/bugzilla/>

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

            Bug ID: 215600
           Summary: devel/powerpc64-gcc based buildkernel:
                    sys/powerpc/powerpc/db_trace.c rejected for:
                    '__builtin_frame_address' with a nonzero argument is
                    unsafe
           Product: Base System
           Version: CURRENT
          Hardware: powerpc
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: markmi@dsl-only.net

[This was for head -r310556 via devel/powerpc64-gcc (6.2.0 based gcc), found
while testing an unrelated patch that let the buildkernel get this far under
6.2.0's vintage.]

sys/powerpc/powerpc/db_trace.c 's:

void
db_trace_self(void)
{
        db_addr_t addr;

        addr =3D (db_addr_t)__builtin_frame_address(1);
        db_backtrace(curthread, addr, -1);
}

ended up with:

--- db_trace.o ---
/usr/src/sys/powerpc/powerpc/db_trace.c: In function 'db_trace_self':
/usr/src/sys/powerpc/powerpc/db_trace.c:299:20: error: calling
'__builtin_frame_address' with a nonzero argument is unsafe
[-Werror=3Dframe-address]
  addr =3D (db_addr_t)__builtin_frame_address(1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
. . .
--- db_trace.o ---
cc1: all warnings being treated as errors
*** [db_trace.o] Error code 1

make[2]: stopped in
/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENE=
RIC64vtsc-NODBG
.ERROR_TARGET=3D'db_trace.o'
.ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerp=
c64/usr/src/sys/GENERIC64vtsc-NODBG/db_trace.o.meta'



Note:

sys/powerpc/powerpc/db_trace.c -r132070 2004-Jul-12 is when this
__builtin_frame_address use was introduced.



# Meta data file
/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENE=
RIC64vtsc-NODBG/db_trace.o.meta
CMD /usr/local/bin/powerpc64-unknown-freebsd12.0-gcc -isystem
/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/usr/=
include
-L/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/us=
r/lib
-B/usr/obj/powerpc64vtsc_xtoolchain_kernel/powe
rpc.powerpc64/usr/src/tmp/usr/lib
--sysroot=3D/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/=
src/tmp
-B/usr/local/powerpc64-freebsd/bin/ -c -O -pipe  -g -nostdinc  -I.
-I/usr/src/sys -I/usr/src/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -includ
e opt_global.h  -msoft-float -Wa,-many -fPIC -fno-omit-frame-pointer
-mno-altivec -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-
sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option
-Wno-unknown-pragmas -Wno-error=3Daddress
-Wno-error=3Daggressive-loop-optimizations -Wno-error=3Darray-bounds
-Wno-error=3Dattributes -Wno-error=3Dcast-qual -Wno-error=3Denum-compare
-Wno-error=3Dinline -Wno-erro
r=3Dmaybe-uninitialized -Wno-error=3Doverflow -Wno-error=3Dsequence-point
-Wno-error=3Dstrict-overflow -Wno-error=3Dunused-but-set-variable
-Wno-error=3Dmisleading-indentation -Wno-error=3Dnonnull-compare
-Wno-error=3Dshift-overflow -Wno-error=3Dtautological-compare  -v -fno-comm=
on
-fms-ext
ensions -finline-limit=3D15000 --param inline-unit-growth=3D100 --param
large-function-growth=3D1000 -msoft-float -mcall-aixdesc  -std=3Diso9899:19=
99
-Werror  /usr/src/sys/powerpc/powerpc/db_trace.c
CMD ctfconvert -L VERSION -g db_trace.o
CWD
/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENE=
RIC64vtsc-NODBG
TARGET db_trace.o
-- command output --
Using built-in specs.
COLLECT_GCC=3D/usr/local/bin/powerpc64-unknown-freebsd12.0-gcc
Target: powerpc64-unknown-freebsd12.0
Configured with:
/usr/obj/portswork/usr/ports/devel/powerpc64-gcc/work/gcc-6.2.0/configure
--target=3Dpowerpc64-unknown-freebsd12.0 --disable-nls --enable-languages=
=3Dc,c++
--without-headers --with-gmp=3D/usr/local --with-pkgversion=3D'FreeBSD Ports
Collection for powerpc64' --wit
h-system-zlib --with-gcc-include-dir=3D/usr/include/c++/v1/
--with-as=3D/usr/local/bin/powerpc64-freebsd-as
--with-ld=3D/usr/local/bin/powerpc64-freebsd-ld --prefix=3D/usr/local
--localstatedir=3D/var --mandir=3D/usr/local/man --infodir=3D/usr/local/inf=
o/
--build=3Dx86_64-unknown-freebsd1
2.0
Thread model: posix
gcc version 6.2.0 (FreeBSD Ports Collection for powerpc64)
COLLECT_GCC_OPTIONS=3D'-isystem'
'/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/usr=
/include'
'-L/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/u=
sr/lib'
'-B' '/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/t
mp/usr/lib' '-B' '/usr/local/powerpc64-freebsd/bin/' '-c' '-O' '-pipe' '-g'
'-nostdinc' '-I' '.' '-I' '/usr/src/sys' '-I' '/usr/src/sys/contrib/libfdt'
'-D' '_KERNEL' '-D' 'HAVE_KERNEL_OPTION_HEADERS' '-include' 'opt_global.h'
'-msoft-float' '-fPIC' '-fno-omit-frame-pointe
r' '-mno-altivec' '-ffreestanding' '-fwrapv' '-fstack-protector' '-gdwarf-2'
'-Wall' '-Wredundant-decls' '-Wnested-externs' '-Wstrict-prototypes'
'-Wmissing-prototypes' '-Wpointer-arith' '-Winline' '-Wcast-qual' '-Wundef'
'-Wno-pointer-sign' '-fformat-extensions' '-Wmissin
g-include-dirs' '-fdiagnostics-show-option' '-Wno-unknown-pragmas'
'-Wno-error=3Daddress' '-Wno-error=3Daggressive-loop-optimizations'
'-Wno-error=3Darray-bounds' '-Wno-error=3Dattributes' '-Wno-error=3Dcast-qu=
al'
'-Wno-error=3Denum-compare' '-Wno-error=3Dinline' '-Wno-error=3Dmaybe-unini
tialized' '-Wno-error=3Doverflow' '-Wno-error=3Dsequence-point'
'-Wno-error=3Dstrict-overflow' '-Wno-error=3Dunused-but-set-variable'
'-Wno-error=3Dmisleading-indentation' '-Wno-error=3Dnonnull-compare'
'-Wno-error=3Dshift-overflow' '-Wno-error=3Dtautological-compare' '-v'
'-fno-common' '
-fms-extensions' '-finline-limit=3D15000' '--param' 'inline-unit-growth=3D1=
00'
'--param' 'large-function-growth=3D1000' '-msoft-float' '-mcall-aixdesc'
'-std=3Dc99' '-Werror'
 /usr/local/libexec/gcc/powerpc64-unknown-freebsd12.0/6.2.0/cc1 -quiet
-nostdinc -v -I . -I /usr/src/sys -I /usr/src/sys/contrib/libfdt -isysroot
/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp -D
_KERNEL -D HAVE_KERNEL_OPTION_HEADERS -isystem /usr/o
bj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/usr/include
-include opt_global.h /usr/src/sys/powerpc/powerpc/db_trace.c -quiet -dumpb=
ase
db_trace.c -msoft-float -mno-altivec -msoft-float -mcall-aixdesc -auxbase
db_trace -g -gdwarf-2 -O -Wall -Wredundant-
decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-a=
rith
-Winline -Wcast-qual -Wundef -Wno-pointer-sign -Wmissing-include-dirs
-Wno-unknown-pragmas -Wno-error=3Daddress
-Wno-error=3Daggressive-loop-optimizations -Wno-error=3Darray-bounds
-Wno-error=3Dattribu
tes -Wno-error=3Dcast-qual -Wno-error=3Denum-compare -Wno-error=3Dinline
-Wno-error=3Dmaybe-uninitialized -Wno-error=3Doverflow -Wno-error=3Dsequenc=
e-point
-Wno-error=3Dstrict-overflow -Wno-error=3Dunused-but-set-variable
-Wno-error=3Dmisleading-indentation -Wno-error=3Dnonnull-compare -Wno-e
rror=3Dshift-overflow -Wno-error=3Dtautological-compare -Werror -std=3Dc99 =
-version
-fPIC -fno-omit-frame-pointer -ffreestanding -fwrapv -fstack-protector
-fformat-extensions -fdiagnostics-show-option -fno-common -fms-extensions
-finline-limit=3D15000 --param inline-unit-growth=3D10
0 --param large-function-growth=3D1000 -o - |
 /usr/local/bin/powerpc64-freebsd-as -v -I . -I /usr/src/sys -I
/usr/src/sys/contrib/libfdt --traditional-format -a64 -mppc64 -many -many -o
db_trace.o
GNU assembler version 2.27 (powerpc64-freebsd) using BFD version (GNU Binut=
ils)
2.27
GNU C99 (FreeBSD Ports Collection for powerpc64) version 6.2.0
(powerpc64-unknown-freebsd12.0)
        compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 3.9.1
(tags/RELEASE_391/final 289601), GMP version 5.1.3, MPFR version 3.1.5, MPC
version 1.0.3, isl version none
GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131=
072
#include "..." search starts here:
#include <...> search starts here:
 .
 /usr/src/sys
 /usr/src/sys/contrib/libfdt

/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/tmp/usr/=
include
End of search list.
GNU C99 (FreeBSD Ports Collection for powerpc64) version 6.2.0
(powerpc64-unknown-freebsd12.0)
        compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 3.9.1
(tags/RELEASE_391/final 289601), GMP version 5.1.3, MPFR version 3.1.5, MPC
version 1.0.3, isl version none
GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131=
072
Compiler executable checksum: b395363e48891085cf87f23546ed513a
/usr/src/sys/powerpc/powerpc/db_trace.c: In function 'db_trace_self':
/usr/src/sys/powerpc/powerpc/db_trace.c:299:20: error: calling
'__builtin_frame_address' with a nonzero argument is unsafe
[-Werror=3Dframe-address]
  addr =3D (db_addr_t)__builtin_frame_address(1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~

--=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-215600-8>