Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jan 2013 22:49:16 +0300
From:      Sergey Kandaurov <pluknet@gmail.com>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        current@freebsd.org, ia64@freebsd.org
Subject:   Re: [head tinderbox] failure on ia64/ia64
Message-ID:  <CAE-mSOJRKj52jQ4SBKidqsZQUCoqxWYcZbDgHXMLJt=A9TXAZA@mail.gmail.com>
In-Reply-To: <201301211023.r0LAN7hA046185@freebsd-current.sentex.ca>
References:  <201301211023.r0LAN7hA046185@freebsd-current.sentex.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On 21 January 2013 14:23, FreeBSD Tinderbox <tinderbox@freebsd.org> wrote:
> TB --- 2013-01-21 08:24:09 - tinderbox 2.10 running on freebsd-current.sentex.ca
> TB --- 2013-01-21 08:24:09 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012     des@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
> TB --- 2013-01-21 08:24:09 - starting HEAD tinderbox run for ia64/ia64
> TB --- 2013-01-21 08:24:09 - cleaning the object tree
> TB --- 2013-01-21 08:25:27 - /usr/local/bin/svn stat /src
> TB --- 2013-01-21 08:25:37 - At svn revision 245708
> TB --- 2013-01-21 08:25:38 - building world
> TB --- 2013-01-21 08:25:38 - CROSS_BUILD_TESTING=YES
> TB --- 2013-01-21 08:25:38 - MAKEOBJDIRPREFIX=/obj
> TB --- 2013-01-21 08:25:38 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
> TB --- 2013-01-21 08:25:38 - SRCCONF=/dev/null
> TB --- 2013-01-21 08:25:38 - TARGET=ia64
> TB --- 2013-01-21 08:25:38 - TARGET_ARCH=ia64
> TB --- 2013-01-21 08:25:38 - TZ=UTC
> TB --- 2013-01-21 08:25:38 - __MAKE_CONF=/dev/null
> TB --- 2013-01-21 08:25:38 - cd /src
> TB --- 2013-01-21 08:25:38 - /usr/bin/make -B buildworld
>>>> Building an up-to-date make(1)
>>>> World build started on Mon Jan 21 08:25:43 UTC 2013
>>>> Rebuilding the temporary build tree
>>>> stage 1.1: legacy release compatibility shims
>>>> stage 1.2: bootstrap tools
>>>> stage 2.1: cleaning up the object tree
>>>> stage 2.2: rebuilding the object tree
>>>> stage 2.3: build tools
>>>> stage 3: cross tools
>>>> stage 4.1: building includes
>>>> stage 4.2: building libraries
>>>> stage 4.3: make dependencies
>>>> stage 4.4: building everything
>>>> World build completed on Mon Jan 21 10:02:31 UTC 2013
> TB --- 2013-01-21 10:02:31 - generating LINT kernel config
> TB --- 2013-01-21 10:02:31 - cd /src/sys/ia64/conf
> TB --- 2013-01-21 10:02:31 - /usr/bin/make -B LINT
> TB --- 2013-01-21 10:02:31 - cd /src/sys/ia64/conf
> TB --- 2013-01-21 10:02:31 - /usr/sbin/config -m LINT
> TB --- 2013-01-21 10:02:31 - building LINT kernel
> TB --- 2013-01-21 10:02:31 - CROSS_BUILD_TESTING=YES
> TB --- 2013-01-21 10:02:31 - MAKEOBJDIRPREFIX=/obj
> TB --- 2013-01-21 10:02:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
> TB --- 2013-01-21 10:02:31 - SRCCONF=/dev/null
> TB --- 2013-01-21 10:02:31 - TARGET=ia64
> TB --- 2013-01-21 10:02:31 - TARGET_ARCH=ia64
> TB --- 2013-01-21 10:02:31 - TZ=UTC
> TB --- 2013-01-21 10:02:31 - __MAKE_CONF=/dev/null
> TB --- 2013-01-21 10:02:31 - cd /src
> TB --- 2013-01-21 10:02:31 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>>> Kernel build for LINT started on Mon Jan 21 10:02:31 UTC 2013
>>>> stage 1: configuring the kernel
>>>> stage 2.1: cleaning up the object tree
>>>> stage 2.2: rebuilding the object tree
>>>> stage 2.3: build tools
>>>> stage 3.1: making dependencies
>>>> stage 3.2: building everything
> [...]
> acpi_powerres.o:(.sbss+0x0): multiple definition of `AcpiGbl_IgnoreNoopOperator'
> dbcmds.o:(.sbss+0x0): first defined here
> acpi_resource.o:(.sbss+0x0): multiple definition of `AcpiGbl_IgnoreNoopOperator'
> dbcmds.o:(.sbss+0x0): first defined here
> acpi_thermal.o:(.sbss+0x20): multiple definition of `AcpiGbl_IgnoreNoopOperator'
> dbcmds.o:(.sbss+0x0): first defined here
> acpi_timer.o:(.sbss+0x28): multiple definition of `AcpiGbl_IgnoreNoopOperator'
> dbcmds.o:(.sbss+0x0): first defined here
> *** [kernel] Error code 1
>
> Stop in /obj/ia64.ia64/src/sys/LINT.
> *** [buildkernel] Error code 1
>

The (first) patch should fix the build.
So that it is only declared when included in utglobal.c (and extern
elsewhere). DEFINE_ACPI_GLOBALS defined there expects ACPI_EXTERN
to properly handle global objects defined with ACPI_INIT_GLOBAL.

###
Index: contrib/dev/acpica/include/acglobal.h
===================================================================
--- contrib/dev/acpica/include/acglobal.h       (revision 245745)
+++ contrib/dev/acpica/include/acglobal.h       (working copy)
@@ -420,7 +420,7 @@

 #ifdef ACPI_DISASSEMBLER

-BOOLEAN     ACPI_INIT_GLOBAL (AcpiGbl_IgnoreNoopOperator, FALSE);
+ACPI_EXTERN BOOLEAN     ACPI_INIT_GLOBAL (AcpiGbl_IgnoreNoopOperator, FALSE);

 ACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_disasm;
 ACPI_EXTERN BOOLEAN                     AcpiGbl_DbOpt_verbose;
###


The other way is to declare AcpiGbl_IgnoreNoopOperator as extern below.
This seems to be used for other ACPI_INIT_GLOBAL's as well, see acglobal.h
But this doesn't work because it is not defined under DEFINE_ACPI_GLOBALS.

###
Index: contrib/dev/acpica/include/acpixf.h
===================================================================
--- contrib/dev/acpica/include/acpixf.h (revision 245745)
+++ contrib/dev/acpica/include/acpixf.h (working copy)
@@ -79,6 +79,7 @@
 extern UINT8                AcpiGbl_CopyDsdtLocally;
 extern UINT8                AcpiGbl_TruncateIoAddresses;
 extern UINT8                AcpiGbl_DisableAutoRepair;
+extern BOOLEAN              AcpiGbl_IgnoreNoopOperator;


 /*
###

> Stop in /src.
> *** Error code 1
>
> Stop in /src.
> TB --- 2013-01-21 10:23:07 - WARNING: /usr/bin/make returned exit code  1
> TB --- 2013-01-21 10:23:07 - ERROR: failed to build LINT kernel
> TB --- 2013-01-21 10:23:07 - 5391.37 user 1213.96 system 7137.96 real
>
>
> http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-ia64-ia64.full

-- 
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOJRKj52jQ4SBKidqsZQUCoqxWYcZbDgHXMLJt=A9TXAZA>