On 2016-Jul-11, at 1:51 PM, Mark Millard <markmi at dsl-only.net> wrote:

> Quick top-post just to indicate that I just did gcc 4.2.1 based cross-builds 
> for TARGET_ARCH=powerpc and TARGET_ARCH=powerpc64 and they completed. They 
> had analogous warnings to what clang (powerpc) and powerpc64-gcc (powerpc64) 
> produced.
> 
> I do not have a context to test powerpc64 or powerpc kboot in.
> 
> I'll enter a report showing the sys/boot/powerpc/kboot/Makefile change that I 
> tried.
> 
> ===
> Mark Millard
> markmi at dsl-only.net

I've updated 206303 ( https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206303 
) with Comment 2 and 206303's Version is now set to 11.0-BETA1 since the odd 
powerpc64 options are present in 11.0-BETA1 (-r302457 is where I'm currently 
synchronized to).

===
Mark Millard
markmi at dsl-only.net

On 2016-Jul-11, at 11:43 AM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2016-Jul-11, at 11:30 AM, Mark Millard <markmi at dsl-only.net> wrote:
> 
>> On 2016-Jul-11, at 11:04 AM, Mark Millard <markmi at dsl-only.net> wrote:
>> 
>>> On 2016-Jul-11, at 6:49 AM, Nathan Whitehorn <nwhiteh...@freebsd.org> wrote:
>>>> 
>>>> It is not 64-bit only; like the normal loader, it can load both 32-bit and 
>>>> 64-bit kernels. Those two flags are probably obsolete at this point and 
>>>> were for compatibility with pre-2.17.5 versions of binutils. Can you do a 
>>>> test build with the -CFLAGS+= -Wa,-mppc64bridge line removed?
>>>> -Nathan
>>>> 
>>>> On 07/11/16 03:55, Mark Millard wrote:
>>>>> Is the following something that should be updated something like is 
>>>>> indicated below for 11.0-BETA1? Is kboot powerpc64 specific?
>>>>> 
>>>>> # svnlite diff /usr/src/sys/boot/powerpc/Makefile
>>>>> Index: /usr/src/sys/boot/powerpc/Makefile
>>>>> ===================================================================
>>>>> --- /usr/src/sys/boot/powerpc/Makefile    (revision 302457)
>>>>> +++ /usr/src/sys/boot/powerpc/Makefile    (working copy)
>>>>> @@ -1,5 +1,9 @@
>>>>> # $FreeBSD$
>>>>> -SUBDIR=          boot1.chrp kboot ofw ps3 uboot
>>>>> +SUBDIR=          boot1.chrp
>>>>> +.if ${MACHINE_ARCH} == "powerpc64"
>>>>> +SUBDIR+=         kboot
>>>>> +.endif
>>>>> +SUBDIR+=         ofw ps3 uboot
>>>>> .include <bsd.subdir.mk>
>>>>> 
>>>>> 
>>>>> 
>>>>> I ask because I'd submitted 206303 back on 2016-jan-16 reporting that 
>>>>> TARGET_ARCH=powerpc WITH_BOOT= was stopped by getting a -Wc,-mppc64bride 
>>>>> and a -mcpu=powerpc64 (one of the 
>>>>> base/head/sys/boot/powerpc/kboot/Makefile SRCS being ppc64_elf_freebsd.c).
>>>>> 
>>>>> ===
>>>>> Mark Millard
>>>>> markmi at dsl-only.net
>>> 
>>> I do not have access to powerpc's currently so I'm just going to be doing 
>>> cross-build tests for TARGET_ARCH=powerpc and TARGET_ARCH=powerpc64 (from 
>>> amd64) based on the below updates.
>>> 
>>> You initially mention "two flags" but then only explicitly request removal 
>>> of one (the -CFLAGS+= -Wa,-mppc64bridge line).
>>> 
>>> I'm assuming that the -mcpu=powerpc64 is also to be removed if powerpc 
>>> (non-64) is to be covered. See my intended test below. Let me know if it is 
>>> not what you want. 
>>> 
>>>> # svnlite diff sys/boot/powerpc/kboot/Makefile
>>>> Index: sys/boot/powerpc/kboot/Makefile
>>>> ===================================================================
>>>> --- sys/boot/powerpc/kboot/Makefile        (revision 302457)
>>>> +++ sys/boot/powerpc/kboot/Makefile        (working copy)
>>>> @@ -71,7 +71,7 @@
>>>> # Avoid the open-close-dance for every file access as some firmwares 
>>>> perform
>>>> # an auto-negotiation on every open of the network interface and thus 
>>>> causes
>>>> # netbooting to take horribly long.
>>>> -CFLAGS+=  -DNETIF_OPEN_CLOSE_ONCE -mcpu=powerpc64
>>>> +CFLAGS+=  -DNETIF_OPEN_CLOSE_ONCE
>>>> 
>>>> # Always add MI sources
>>>> .PATH:             ${.CURDIR}/../../common ${.CURDIR}/../../../libkern
>>>> @@ -88,9 +88,6 @@
>>>> 
>>>> LDFLAGS=   -nostdlib -static -T ${.CURDIR}/ldscript.powerpc
>>>> 
>>>> -# 64-bit bridge extensions
>>>> -CFLAGS+= -Wa,-mppc64bridge
>>>> -
>>>> # Pull in common loader code
>>>> #.PATH:            ${.CURDIR}/../../ofw/common
>>>> #.include  "${.CURDIR}/../../ofw/common/Makefile.inc"
>>> 
>>>> # svnlite diff sys/boot/powerpc/Makefile
>>>> # 
>>> 
>>> (I.e., I reverted sys/boot/powerpc/Makefile.)
>>> 
>>> ===
>>> Mark Millard
>>> markmi at dsl-only.net
>> 
>> The TARGET_ARCH=powerpc build completed with the following messages (from 
>> grep'ing for kboot in the typescript file):
>> 
>>> ===> sys/boot/powerpc/kboot (all)
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/vers.c
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/conf.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/metadata.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/vers.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/main.o
>>> /usr/src/sys/boot/powerpc/kboot/main.c:307:12: warning: variable 'sp' is 
>>> uninitialized when used here [-Wuninitialized]
>>> /usr/src/sys/boot/powerpc/kboot/main.c:306:29: note: initialize the 
>>> variable 'sp' to silence this warning
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/ppc64_elf_freebsd.o
>>> /usr/src/sys/boot/powerpc/kboot/ppc64_elf_freebsd.c:94:15: warning: 
>>> implicit declaration of function 'md_load64' is invalid in C99 
>>> [-Wimplicit-function-declaration]
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/host_syscall.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/hostcons.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/hostdisk.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/kerneltramp.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/kbootfdt.o
>>> --- kbootfdt.o ---
>>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:54:17: warning: passing 'const 
>>> char *' to parameter of type 'char *' discards qualifiers 
>>> [-Wincompatible-pointer-types-discards-qualifiers]
>>> /usr/src/sys/boot/powerpc/kboot/host_syscall.h:36:21: note: passing 
>>> argument to parameter 'path' here
>>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:123:8: warning: assigning to 
>>> 'uint64_t *' (aka 'unsigned long long *') from 'const void *' discards 
>>> qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
>>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:125:8: warning: assigning to 
>>> 'uint64_t *' (aka 'unsigned long long *') from 'const void *' discards 
>>> qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
>>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:134:8: warning: assigning to 
>>> 'uint32_t *' (aka 'unsigned int *') from 'const void *' discards qualifiers 
>>> [-Wincompatible-pointer-types-discards-qualifiers]
>>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:135:8: warning: assigning to 
>>> 'uint32_t *' (aka 'unsigned int *') from 'const void *' discards qualifiers 
>>> [-Wincompatible-pointer-types-discards-qualifiers]
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/ucmpdi2.o
>>> In file included from 
>>> /usr/src/sys/boot/powerpc/kboot/../../../libkern/ucmpdi2.c:37:
>>> In file included from 
>>> /usr/src/sys/boot/powerpc/kboot/../../../libkern/quad.h:59:
>>> /usr/src/sys/boot/powerpc/kboot/../../../sys/syslimits.h:41:2: warning: "No 
>>> user-serviceable parts inside." [-W#warnings]
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/boot.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/commands.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/console.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/devopen.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/interp.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/interp_backslash.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/interp_parse.o
>>> Building /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/ls.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/misc.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/module.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/panic.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/load_elf32.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/reloc_elf32.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/load_elf64.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/reloc_elf64.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/dev_net.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/disk.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/part.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/crc32.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/interp_forth.o
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/loader.kboot
>>> Building 
>>> /usr/obj/clang/powerpc.powerpc/usr/src/sys/boot/powerpc/kboot/loader.help
>> 
>> The compiler involved was clang 3.8.0 . (This was a WITH_META_MODE=yes 
>> build.)
>> 
>> The TARGET_ARCH=powerpc64 build also completed. The compiler involved was 
>> powerpc64-gcc. (This was a WITH_META_MODE=yes build.)
>> 
>> ===
>> Mark Millard
>> markmi at dsl-only.net
> 
> I just noticed at least one additional warning (for hostdisk.c) from the 
> TARGET_ARCH=powerpc64 so here is the list via grep for that context:
> 
>> # grep kboot 
>> ~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_incl_clang_xtoolchain-amd64-host-2016-07-11:11:02:56
>>  | grep -i warning:
>> /usr/src/sys/boot/powerpc/kboot/ppc64_elf_freebsd.c:94:15: warning: implicit 
>> declaration of function 'md_load64' [-Wimplicit-function-declaration]
>> /usr/src/sys/boot/powerpc/kboot/hostdisk.c:96:10: warning: format '%s' 
>> expects argument of type 'char *', but argument 2 has type 'void *' 
>> [-Wformat=]
>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:54:17: warning: passing argument 
>> 1 of 'host_open' discards 'const' qualifier from pointer target type 
>> [-Wdiscarded-qualifiers]
>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:123:8: warning: assignment 
>> discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:125:8: warning: assignment 
>> discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:134:8: warning: assignment 
>> discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
>> /usr/src/sys/boot/powerpc/kboot/kbootfdt.c:135:8: warning: assignment 
>> discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
>> /usr/src/sys/boot/powerpc/kboot/../../../sys/syslimits.h:41:2: warning: 
>> #warning "No user-serviceable parts inside." [-Wcpp]
>> /usr/src/sys/boot/powerpc/kboot/../../common/ls.c:142:18: warning: variable 
>> 'tail' set but not used [-Wunused-but-set-variable]
> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 
> 

_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to