|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] fix broken ACM
On 6/23/05, Stefan Berger <stefanb@xxxxxxxxxx> wrote:
> aq <aquynh@xxxxxxxxx> wrote on 06/22/2005 11:56:07 PM:
>
> > On 6/23/05, Stefan Berger <stefanb@xxxxxxxxxx> wrote:
> > > xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 06/22/2005 01:40:16 PM:
> > >
> > > > The latest change to ACM makes it fail to compile. This patch fixes
> the
> > > problem.
> > > >
> > > > Signed-off-by: Nguyen Anh Quynh <aquynh@xxxxxxxxx>
> > > >
> > > > $ diffstat acm.patch
> > > > acm/acm_core.c | 61 ---------------------
> > > > include/acm/acm_hooks.h | 135
> > > ++++++++++++++++++++++++++++++++++--------------
> > > > 2 files changed, 96 insertions(+), 100 deletions(-)
> > > > [attachment "acm.patch" deleted by Stefan Berger/Watson/IBM]
> > >
> > > This patch seems to work for gcc 4.0.0 (FC4), but the resulting source
> > > does not compile with gcc 3.4.3 (FC3). I will try to find a common
> > > solution. I think the problem is related to gcc 3.4.3 having a limit
> on
> > > inline functions.
> >
> > it builds fine for me on gcc 3.3.5
> >
> > $ gcc -v
> > Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> > Configured with: ../src/configure -v
> > --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang
> > --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
> > --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
> > --with-system-zlib --enable-nls --without-included-gettext
> > --enable-__cxa_atexit --enable-clocale=gnu --enable-debug
> > --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
> > i486-linux
> > Thread model: posix
> > gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)
>
> It seems to be missing a couple of prototypes.
>
> In file included from dom0_ops.c:22:
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h: In function `acm_init':
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:359: warning: implicit
> declaration of function `acm_set_endian'
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:364: warning: implicit
> declaration of function `acm_init_chwall_policy'
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:366: error:
> `acm_chinesewall_ops' undeclared (first use in this function)
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:366: error: (Each
> undeclared identifier is reported only once
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:366: error: for each
> function it appears in.)
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:368: error:
> `acm_null_ops' undeclared (first use in this function)
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:372: warning: implicit
> declaration of function `acm_init_ste_policy'
> /xen/xeno-unstable.bk/xen/include/acm/acm_hooks.h:374: error:
> `acm_simple_type_enforcement_ops' undeclared (first use in this function)
> make[2]: *** [dom0_ops.o] Error 1
> make[2]: Leaving directory `/xen/xeno-unstable.bk/xen/common'
> make[1]: *** [/xen/xeno-unstable.bk/xen/xen] Error 2
> make[1]: Leaving directory `/xen/xeno-unstable.bk/xen'
> make: *** [xen] Error 2
>
>
> Once those are fixed the following happens:
>
> ld -m elf_i386 -T x86_32/xen.lds -N \
> boot/x86_32.o /xen/xeno-unstable.bk/xen/common/common.o
> /xen/xeno-unstable.bk/xen/drivers/char/driver.o
> /xen/xeno-unstable.bk/xen/drivers/acpi/driver.o
> /xen/xeno-unstable.bk/xen/arch/x86/arch.o -o
> /xen/xeno-unstable.bk/xen/xen-syms
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x121a): In function
> `do_dom0_op':
> : undefined reference to `acm_primary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x1246): In function
> `do_dom0_op':
> : undefined reference to `acm_secondary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x126b): In function
> `do_dom0_op':
> : undefined reference to `acm_primary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x1288): In function
> `do_dom0_op':
> : undefined reference to `acm_secondary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x12b0): In function
> `do_dom0_op':
> : undefined reference to `acm_primary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x12c0): In function
> `do_dom0_op':
> : undefined reference to `acm_secondary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x12d7): In function
> `do_dom0_op':
> : undefined reference to `acm_free_domain_ssid'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x134e): In function
> `do_dom0_op':
> : undefined reference to `acm_primary_ops'
> /xen/xeno-unstable.bk/xen/common/common.o(.text+0x1376): In function
> `do_dom0_op':
> : undefined reference to `acm_init_domain_ssid'
> [...]
>
ok, i see the point. the problem is because i moved some codes
(acm_init() and acm_init_binary_policy()) to acm_hooks.h. now it seems
better to move them back. but it is weird that i got no problem with
gcc 3.3.5
could you please try again with the new patch below?
Signed-off-by: Nguyen Anh Quynh <aquynh@xxxxxxxxx>
# diffstat acm3.patch
acm/acm_core.c | 3 +
include/acm/acm_hooks.h | 76 ++++++++++++++++++++++++------------------------
2 files changed, 41 insertions(+), 38 deletions(-)
acm3.patch
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|