Date: Mon, 28 Jan 2013 14:22:44 +0100 From: Lukasz Wojcik <lukasz.wojcik@zoho.com> To: Aleksander Dutkowski <adutkowski@gmail.com> Cc: freebsd-ppc@freebsd.org Subject: Re: OpenFirmware issue on P1010 Message-ID: <51067BA4.7080402@zoho.com> In-Reply-To: <CABkKHSZ=GGh0FQ%2BG7cvHHhiBmJuGhhgLd5iWAActw8pdqk%2BV-w@mail.gmail.com> References: <CABkKHSZ=GGh0FQ%2BG7cvHHhiBmJuGhhgLd5iWAActw8pdqk%2BV-w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/25/13 13:10, Aleksander Dutkowski wrote: > hi! > > I am porting FreeBSD on P1010RDB platform. I modified existing MPC85XX > config (i.e. removed SMP), created p1010rdb.dts from p1020rdb.dts etc, > and ran the kernel via u-boot: > tftp 0x1000000 fbsd.elf > go 0x10000e0 > > Nothing happened, so I used CodeWarrior IDE with CW USB Tap, and it > turned out, that OF_install() call in sys/powerpc/booke/machedp.c > returns false. I inspected this function and moreover, I inspected the > structure, which is pointer from set_ofw_set linker set: > > $ powerpc-rtems-objdump -s kernel | grep set_ofw_set > Contents of section set_ofw_set: > c03694f0 c037ab54 .7.T > > (gdb) p (ofw_def_t)*0xc037ab54 > $1 = {name = 0xc03339a4 "ofw_fdt", methods = 0xc0319350, size = 0, > baseclasses = 0x0, refs = 0, ops = 0x0} > > As we can se, name field is correct. But this function seems to fail > in strcmp(). > I have found the issue [1] on bugtracker, so Im quite sure, that the > problem is ith linker sets on powerpc (but this issue is quite old now > ;) ), but the fix is not working for me - it crashes while compiling: > > cc -c -O -pipe -std=c99 -Wa,-me500 -g -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 > -nostdinc -I. -I/usr/home/aleek/src/p1010-github/sys > -I/usr/home/aleek/src/p1010-github/sys/contrib/altq > -I/usr/home/aleek/src/p1010-github/sys/contrib/libfdt -D_KERNEL > -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common > -finline-limit=15000 --param inline-unit-growth=100 --param > large-function-growth=1000 -msoft-float -Wa,-many > -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding > -fstack-protector -Werror > /usr/home/aleek/src/p1010-github/sys/dev/ofw/openfirm.c > cc1: warnings being treated as errors > /usr/home/aleek/src/p1010-github/sys/dev/ofw/openfirm.c: In function > 'OF_install': > /usr/home/aleek/src/p1010-github/sys/dev/ofw/openfirm.c:126: warning: > assignment from incompatible pointer type > /usr/home/aleek/src/p1010-github/sys/dev/ofw/openfirm.c:126: warning: > comparison of distinct pointer types lacks a cast > > Do you have any idea, how to fix this? > > > > [1] http://www.freebsd.org/cgi/query-pr.cgi?pr=140241 Hi Aleksander, You did not mention the version (or commit) of FreeBSD you're using, so I'm unsure of what is the assignment mentioned in error msg; However, the compile-time error you're seeing seems to be really easy to fix, by doing proper type cast. -LW
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51067BA4.7080402>