Am Mittwoch, den 27.03.2013, 12:03 -0500 schrieb Aaron Durbin:
On Wed, Mar 27, 2013 at 8:17 AM, Aaron Durbin adurbin@google.com wrote:
On Wed, Mar 27, 2013 at 7:51 AM, Paul Menzel wrote:
Dear coreboot folks,
with latest master (and a workaround for PDCurses warning)
commit 3cc0d1eb3f611cb7bf0e45d8ccdb0c84f54f54dc Author: David Hendricks <dhendrix@chromium.org> Date: Tue Mar 26 16:28:21 2013 -0700 exynos5250: assign RAM resources in cpu_init() Reviewed-on: http://review.coreboot.org/2923
the payload coreinfo does not build anymore.
/src/coreboot/payloads/coreinfo(master) $ make distclean /src/coreboot/payloads/coreinfo(master) $ rm -rf libpayloadbin/ /src/coreboot/payloads/coreinfo(master) $ make * * coreinfo Configuration * * * General settings * Show current date/time in the menu (SHOW_DATE_TIME) [Y/n/?] (NEW) Payload name (PAYLOAD_INFO_NAME) [coreinfo] (NEW) Payload menu entry name (PAYLOAD_INFO_LISTNAME) [System Information] (NEW) Payload description (PAYLOAD_INFO_DESC) [Display information about the system] (NEW) Payload version (PAYLOAD_INFO_VERSION) [0.1] (NEW) * * Modules * Enable the coreboot module (MODULE_COREBOOT) [Y/n/?] (NEW) Enable the multiboot module (MODULE_MULTIBOOT) [Y/n/?] (NEW) Enable the cpuinfo module (MODULE_CPUINFO) [Y/n/?] (NEW) Enable the PCI info module (MODULE_PCI) [Y/n/?] (NEW) Enable the NVRAM dump module (MODULE_NVRAM) [Y/n/?] (NEW) Enable the coreboot bootlog module (MODULE_BOOTLOG) [Y/n] (NEW) Enable the RAM dump module (MODULE_RAMDUMP) [Y/n] (NEW) Enable the coreboot v3 LAR module (MODULE_LAR) [N/y/?] (NEW) Enable the coreboot CBFS module (MODULE_CBFS) [Y/n/?] (NEW) # # configuration written to .config # /src/coreboot/payloads/coreinfo(master) $ make Building libpayload @ ../libpayload. Warning: no suitable GCC for armv7. /bin/sh: -print-libgcc-file-name: Kommando nicht gefunden. /bin/sh: -print-libgcc-file-name: Kommando nicht gefunden. /bin/sh: --: Ungültige Option Benutzung: /bin/sh [Lange GNU Option] [Option] ... /bin/sh [Lange GNU Option] [Option] Script-Datei ... Lange GNU Optionen: --debug --debugger --dump-po-strings --dump-strings --help --init-file --login --noediting --noprofile --norc --posix --protected --rcfile --restricted --verbose --version Shell-Optionen: -irsD oder -c Kommando (Nur Aufruf) -abefhkmnptuvxBCHP oder Option -o *** Default configuration is based on 'configs/defconfig' * * libpayload Configuration * * * Generic Options * Experimental Options (EXPERIMENTAL) [N/y/?] n Obsolete Options (OBSOLETE) [N/y/?] n Developer Options (DEVELOPER) [N/y/?] n ChromeOS specific features (CHROMEOS) [N/y/?] n * * Architecture Options * Target Architecture 1. ARMv7 (ARCH_ARMV7) 2. PowerPC (ARCH_POWERPC) > 3. x86 (ARCH_X86) choice[1-3]: 3 Only consider RAM entries in memory map for further processing (MEMMAP_RAM_ONLY) [N/y] n Multiboot header support (MULTIBOOT) [N/y] n * * Standard Libraries * Enable C library support (LIBC) [Y/n] y Build a curses library (CURSES) [Y/n] y Curses implementation 1. Tinycurses (TINYCURSES) > 2. PDCurses (PDCURSES) choice[1-2]: 2 CBFS support (CBFS) [Y/n/?] y LZMA decoder (LZMA) [Y/n/?] y * * Console Options * Skip initializing the consoles at startup (SKIP_CONSOLE_INIT) [N/y/?] n Send output to the in memory CBMEM console (CBMEM_CONSOLE) [Y/n] y See output on the serial port console (SERIAL_CONSOLE) [Y/n] y I/O base for the serial port (default 0x3f8) (SERIAL_IOBASE) [0x3f8] 0x3f8 Override the serial console baud rate (SERIAL_SET_SPEED) [N/y] n Use plain ASCII characters for ACS (SERIAL_ACS_FALLBACK) [N/y/?] n See output on a video console (VIDEO_CONSOLE) [Y/n] y VGA video console driver (VGA_VIDEO_CONSOLE) [Y/n] y Geode LX video console driver (GEODELX_VIDEO_CONSOLE) [N/y] n coreboot video console driver (COREBOOT_VIDEO_CONSOLE) [Y/n/?] y Allow input from a PC keyboard (PC_KEYBOARD) [Y/n] y English (US) keyboard layout (PC_KEYBOARD_LAYOUT_US) [Y/n] y German keyboard layout (PC_KEYBOARD_LAYOUT_DE) [N/y] n * * Drivers * Support for PCI devices (PCI) [Y/n] y Support for reading/writing NVRAM bytes (NVRAM) [Y/n] y Extended RTC ports are 0x74/0x75 (RTC_PORT_EXTENDED_VIA) [N/y/?] n Support for PC speaker (SPEAKER) [Y/n] y Support for storage devices (STORAGE) [Y/n/?] y Use 64-bit integers to address sectors (STORAGE_64BIT_LBA) [N/y/?] n Support ATA drives (i.e. hard drives) (STORAGE_ATA) [Y/?] y Support ATAPI drives (i.e. optical drives) (STORAGE_ATAPI) [Y/n/?] y Support for AHCI host controllers (STORAGE_AHCI) [Y/n/?] y Only enable tested controllers (STORAGE_AHCI_ONLY_TESTED) [Y/n/?] y USB Support (USB) [Y/n] y Support for USB UHCI controllers (USB_UHCI) [Y/n/?] y Support for USB OHCI controllers (USB_OHCI) [Y/n/?] y Support for USB EHCI controllers (USB_EHCI) [Y/n/?] y Support for USB xHCI controllers (USB_XHCI) [Y/n/?] y Support for USB keyboards (USB_HID) [Y/n/?] y Support for USB hubs (USB_HUB) [Y/n/?] y Support for USB storage (USB_MSC) [Y/n/?] y # # configuration written to .config # CC libpci/libpci.libpci.o AR build/libpci.a CC arch/x86/main.libc.o CC arch/x86/sysinfo.libc.o CC arch/x86/timer.libc.o CC arch/x86/coreboot.libc.o CC arch/x86/util.libc.o CC arch/x86/exec.libc.o CC arch/x86/virtual.libc.o CC arch/x86/string.libc.o CC crypto/sha1.libc.o CC libc/malloc.libc.o CC libc/printf.libc.o CC libc/console.libc.o CC libc/string.libc.o CC libc/memory.libc.o CC libc/ctype.libc.o CC libc/ipchecksum.libc.o CC libc/lib.libc.o CC libc/rand.libc.o CC libc/time.libc.o CC libc/exec.libc.o CC libc/readline.libc.o CC libc/getopt_long.libc.o CC libc/sysinfo.libc.o CC libc/args.libc.o CC libc/strings.libc.o CC libc/strlcpy.libc.o CC libc/qsort.libc.o CC drivers/pci.libc.o CC drivers/speaker.libc.o CC drivers/serial.libc.o CC drivers/keyboard.libc.o CC drivers/cbmem_console.libc.o CC drivers/nvram.libc.o CC drivers/options.libc.o CC drivers/video/video.libc.o CC drivers/video/vga.libc.o CC drivers/video/corebootfb.libc.o CC drivers/video/font8x16.libc.o CC drivers/storage/storage.libc.o CC drivers/storage/ata.libc.o CC drivers/storage/atapi.libc.o CC drivers/storage/ahci.libc.o CC drivers/usb/usbinit.libc.o CC drivers/usb/usb.libc.o CC drivers/usb/usb_dev.libc.o CC drivers/usb/quirks.libc.o CC drivers/usb/usbhub.libc.o CC drivers/usb/uhci.libc.o CC drivers/usb/uhci_rh.libc.o CC drivers/usb/ohci.libc.o CC drivers/usb/ohci_rh.libc.o CC drivers/usb/ehci.libc.o CC drivers/usb/ehci_rh.libc.o CC drivers/usb/xhci.libc.o CC drivers/usb/xhci_rh.libc.o CC drivers/usb/usbhid.libc.o CC drivers/usb/usbmsc.libc.o CC drivers/hid.libc.o AR build/libc.a CC curses/pdcurses-backend/pdcdisp.libcurses.o CC curses/pdcurses-backend/pdcgetsc.libcurses.o CC curses/pdcurses-backend/pdckbd.libcurses.o CC curses/pdcurses-backend/pdcscrn.libcurses.o CC curses/pdcurses-backend/pdcsetsc.libcurses.o CC curses/pdcurses-backend/pdcutil.libcurses.o CC curses/PDCurses-3.4/pdcurses/addch.libcurses.o CC curses/PDCurses-3.4/pdcurses/move.libcurses.o CC curses/PDCurses-3.4/pdcurses/overlay.libcurses.o CC curses/PDCurses-3.4/pdcurses/refresh.libcurses.o CC curses/PDCurses-3.4/pdcurses/terminfo.libcurses.o CC curses/PDCurses-3.4/pdcurses/window.libcurses.o CC curses/PDCurses-3.4/pdcurses/util.libcurses.o CC curses/PDCurses-3.4/pdcurses/inopts.libcurses.o CC curses/PDCurses-3.4/pdcurses/addstr.libcurses.o CC curses/PDCurses-3.4/pdcurses/keyname.libcurses.o CC curses/PDCurses-3.4/pdcurses/instr.libcurses.o CC curses/PDCurses-3.4/pdcurses/clear.libcurses.o CC curses/PDCurses-3.4/pdcurses/addchstr.libcurses.o CC curses/PDCurses-3.4/pdcurses/kernel.libcurses.o CC curses/PDCurses-3.4/pdcurses/pad.libcurses.o CC curses/PDCurses-3.4/pdcurses/insstr.libcurses.o CC curses/PDCurses-3.4/pdcurses/border.libcurses.o CC curses/PDCurses-3.4/pdcurses/getyx.libcurses.o CC curses/PDCurses-3.4/pdcurses/getstr.libcurses.o CC curses/PDCurses-3.4/pdcurses/getch.libcurses.o CC curses/PDCurses-3.4/pdcurses/termattr.libcurses.o CC curses/PDCurses-3.4/pdcurses/outopts.libcurses.o CC curses/PDCurses-3.4/pdcurses/color.libcurses.o CC curses/PDCurses-3.4/pdcurses/deleteln.libcurses.o CC curses/PDCurses-3.4/pdcurses/initscr.libcurses.o CC curses/PDCurses-3.4/pdcurses/slk.libcurses.o CC curses/PDCurses-3.4/pdcurses/delch.libcurses.o CC curses/PDCurses-3.4/pdcurses/touch.libcurses.o CC curses/PDCurses-3.4/pdcurses/mouse.libcurses.o CC curses/PDCurses-3.4/pdcurses/scanw.libcurses.o CC curses/PDCurses-3.4/pdcurses/scroll.libcurses.o CC curses/PDCurses-3.4/pdcurses/printw.libcurses.o CC curses/PDCurses-3.4/pdcurses/bkgd.libcurses.o CC curses/PDCurses-3.4/pdcurses/inch.libcurses.o CC curses/PDCurses-3.4/pdcurses/attr.libcurses.o CC curses/PDCurses-3.4/pdcurses/insch.libcurses.o CC curses/PDCurses-3.4/pdcurses/inchstr.libcurses.o CC curses/PDCurses-3.4/pdcurses/beep.libcurses.o AR build/libcurses.a CC curses/menu/m_req_name.libmenu.o CC curses/menu/m_item_nam.libmenu.o CC curses/menu/m_pad.libmenu.o CC curses/menu/m_cursor.libmenu.o CC curses/menu/m_item_new.libmenu.o CC curses/menu/m_attribs.libmenu.o CC curses/menu/m_item_opt.libmenu.o CC curses/menu/m_format.libmenu.o CC curses/menu/m_post.libmenu.o CC curses/menu/m_userptr.libmenu.o CC curses/menu/m_item_cur.libmenu.o CC curses/menu/m_driver.libmenu.o CC curses/menu/m_sub.libmenu.o CC curses/menu/m_win.libmenu.o CC curses/menu/m_global.libmenu.o CC curses/menu/m_item_vis.libmenu.o CC curses/menu/m_new.libmenu.o CC curses/menu/m_scale.libmenu.o CC curses/menu/m_spacing.libmenu.o CC curses/menu/m_opts.libmenu.o CC curses/menu/m_pattern.libmenu.o CC curses/menu/m_item_val.libmenu.o CC curses/menu/m_hook.libmenu.o CC curses/menu/m_item_use.libmenu.o CC curses/menu/m_items.libmenu.o CC curses/menu/m_item_top.libmenu.o AR build/libmenu.a CC curses/form/frm_page.libform.o CC curses/form/frm_opts.libform.o CC curses/form/frm_def.libform.o CC curses/form/frm_req_name.libform.o CC curses/form/fty_alpha.libform.o CC curses/form/frm_driver.libform.o CC curses/form/fld_user.libform.o CC curses/form/frm_win.libform.o CC curses/form/fld_newftyp.libform.o CC curses/form/fld_stat.libform.o CC curses/form/fld_pad.libform.o CC curses/form/fld_current.libform.o CC curses/form/frm_post.libform.o CC curses/form/fty_generic.libform.o CC curses/form/fld_page.libform.o CC curses/form/frm_hook.libform.o CC curses/form/frm_scale.libform.o CC curses/form/fty_int.libform.o CC curses/form/fty_alnum.libform.o CC curses/form/frm_cursor.libform.o CC curses/form/fld_link.libform.o CC curses/form/fld_arg.libform.o CC curses/form/fld_move.libform.o CC curses/form/fld_def.libform.o CC curses/form/fld_type.libform.o CC curses/form/fld_max.libform.o CC curses/form/fld_ftlink.libform.o CC curses/form/fld_ftchoice.libform.o CC curses/form/fld_info.libform.o CC curses/form/frm_user.libform.o CC curses/form/frm_sub.libform.o CC curses/form/fty_enum.libform.o CC curses/form/frm_data.libform.o CC curses/form/fld_opts.libform.o CC curses/form/fld_attr.libform.o CC curses/form/fld_dup.libform.o CC curses/form/fld_just.libform.o AR build/libform.a CC curses/PDCurses-3.4/pdcurses/panel.libpanel.o AR build/libpanel.a CC arch/x86/rom_media.libcbfs.o CC libcbfs/cbfs.libcbfs.o CC libcbfs/ram_media.libcbfs.o AR build/libcbfs.a CC liblzma/lzma.liblzma.o AR build/liblzma.a AR build/libpayload.a CC arch/x86/head.head.o.o CP build/head.o INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/lib INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/include INSTALL /src/coreboot/payloads/coreinfo/./libpayloadbin/libpayload/bin LPCC build/cpuinfo_module.o In file included from ./libpayloadbin/libpayload/bin/../include/libpayload.h:54:0, from /src/coreboot/payloads/coreinfo/coreinfo.h:23, from /src/coreboot/payloads/coreinfo/cpuinfo_module.c:23: ./libpayloadbin/libpayload/bin/../include/x86/arch/types.h:56:23: error: conflicting types for ‘size_t’ In file included from ./libpayloadbin/libpayload/bin/../include/libpayload.h:49:0, from /src/coreboot/payloads/coreinfo/coreinfo.h:23, from /src/coreboot/payloads/coreinfo/cpuinfo_module.c:23: /usr/lib/gcc/i486-linux-gnu/4.7/include/stddef.h:213:23: note: previous declaration of ‘size_t’ was here make: *** [/src/coreboot/payloads/coreinfo/build/cpuinfo_module.o] Fehler 1
Any idea how to fix that?
I really think libpayload shouldn't be built including the system header files and that it should provide its own. That or completely rely on system header files which brings in its own issues. Build with -nostdinc and provide all the necessary bits that are required in libpayload proper by way of its own header files.
I'm not sure what others think, but it means libpayload is in control of itself.
I have a temporary fix on its way. I'm not happy with it, but it should avoid the issues you and others are seeing (including myself).
Nice. Could you push it to Gerrit for review or as an easy way for others to get/test/use it.
I’d very much like Patrick to comment on this, as he or Secunet is in my opinion the defacto libpayload maintainer. Though he does not seem to be online currently. Maybe he is on vacation.
Thanks,
Paul