[m5-dev] Cron [EMAIL PROTECTED] /z/m5/regression/do-regression quick

2008-06-09 Thread Cron Daemon
* build/ALPHA_SE/tests/fast/quick/01.hello-2T-smt/alpha/linux/o3-timing 
passed.
* build/ALPHA_SE/tests/fast/quick/20.eio-short/alpha/eio/simple-timing 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-atomic passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/simple-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-atomic passed.
* build/ALPHA_SE/tests/fast/quick/20.eio-short/alpha/eio/simple-atomic 
passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/simple-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/tru64/o3-timing passed.
* build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/o3-timing passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-atomic 
passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/o3-timing passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-timing passed.
* build/SPARC_SE/tests/fast/quick/00.hello/sparc/linux/simple-atomic passed.
* build/SPARC_SE/tests/fast/quick/02.insttest/sparc/linux/simple-timing 
passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-timing passed.
* build/MIPS_SE/tests/fast/quick/00.hello/mips/linux/simple-atomic passed.
* build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-atomic passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic 
passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
 passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-timing 
passed.
* 
build/ALPHA_FS/tests/fast/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
 passed.
* 
build/ALPHA_FS/tests/fast/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
 passed.
* build/ALPHA_SE/tests/fast/quick/50.memtest/alpha/linux/memtest passed.

See /z/m5/regression/regress-2008-06-09-03:00:01 for details.

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] namespaces for python SimObjects

2008-06-09 Thread Gabe Black
It won't, but if you use the attached patch it seems to. Let me know if
it looks good and I'll tack it onto my queue. Also, is there a solid
reason the create functions can't end up in a namespace other than the
global one? I'm ending up with some pretty horrible names trying to make
sure everything is unique.

Gabe

nathan binkert wrote:
 I do think nested namespaces will work.  When you do cxx_namespace,
 you'd just say one::two::three
 
 On Mon, Jun 2, 2008 at 6:59 PM, Ali Saidi [EMAIL PROTECTED] wrote:
 I think Nate will have to say if Nested namespaces will work for SimObjects.
 Perhaps a namespace like x86pc or something would be good for the tables.
 I'm pretty sure most of that stuff is x86 only.

 Ali

 On Jun 2, 2008, at 9:53 PM, Gabe Black wrote:

 This stuff is standardized for PCs but it might be useful for other
 platforms as well. I'm not familiar enough with this stuff to really be able
 to tell for sure, but if I had to guess I'd say it's not. I was thinking of
 putting it in X86ISA and then into a nested BIOS namespace.

 Gabe

 Ali Saidi wrote:
 Take a look at how the Alpha TLB is done for how to make
 SimObjects/Python happy with namespaces. The Params builder function needs
 to be in the global name space.

 One question is should it go in the x86 name space or in something else?

 Ali



 On Jun 2, 2008, at 9:32 PM, Gabe Black wrote:

  I'm just starting on making the BIOSey tables and configuration
 information, like the e820 map which was forcing there to be 4 gigs of
 memory, available through SimObjects. There are a bunch of hierarchical
 tables for, for example, the DMI information, and I'm concerned that if I
 add a bunch, maybe a few dozen, new names, I'll end up either colliding 
 with
 things that exist or making collisions more likely later on. The obvious 
 C++
 answer to that would be a namespace, but I'm not sure the best way to do
 that in this circumstance. Regularly I think the python modules idea is
 supposed to take care of this, but I'm not sure how that fits with our 
 stuff
 and some of the fancy voodoo we've got making it all work. I'm going to 
 try
 it that way and just see how it pans out, but if anyone has any input I'd
 like to hear it.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

Params: Allow nested namespaces in cxx_namespace

diff -r 4944b77f70bd src/python/m5/SimObject.py
--- a/src/python/m5/SimObject.py	Mon Jun 09 02:54:20 2008 -0400
+++ b/src/python/m5/SimObject.py	Mon Jun 09 04:53:36 2008 -0400
@@ -217,7 +217,10 @@ class MetaSimObject(type):
 # just declaring a pointer.
 decl = 'class %s;' % _cxx_class
 if namespace:
-decl = 'namespace %s { %s }' % (namespace, decl)
+namespaces = namespace.split('::')
+namespaces.reverse()
+for namespace in namespaces:
+decl = 'namespace %s { %s }' % (namespace, decl)
 cls._value_dict['cxx_predecls'] = [decl]
 
 if 'swig_predecls' not in cls._value_dict:
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] namespaces for python SimObjects

2008-06-09 Thread Gabe Black
What about making Enums recognize cxx_namespace too? That would be
pretty handy although I'm not sure how feasible. There seems to be a
global list of them that would probably get confused if there was more
than one with the same name, even if they were in separate modules.

Gabe

Gabe Black wrote:
 It won't, but if you use the attached patch it seems to. Let me know if
 it looks good and I'll tack it onto my queue. Also, is there a solid
 reason the create functions can't end up in a namespace other than the
 global one? I'm ending up with some pretty horrible names trying to make
 sure everything is unique.
 
 Gabe
 
 nathan binkert wrote:
 I do think nested namespaces will work.  When you do cxx_namespace,
 you'd just say one::two::three

 On Mon, Jun 2, 2008 at 6:59 PM, Ali Saidi [EMAIL PROTECTED] wrote:
 I think Nate will have to say if Nested namespaces will work for SimObjects.
 Perhaps a namespace like x86pc or something would be good for the tables.
 I'm pretty sure most of that stuff is x86 only.

 Ali

 On Jun 2, 2008, at 9:53 PM, Gabe Black wrote:

 This stuff is standardized for PCs but it might be useful for other
 platforms as well. I'm not familiar enough with this stuff to really be 
 able
 to tell for sure, but if I had to guess I'd say it's not. I was thinking of
 putting it in X86ISA and then into a nested BIOS namespace.

 Gabe

 Ali Saidi wrote:
 Take a look at how the Alpha TLB is done for how to make
 SimObjects/Python happy with namespaces. The Params builder function needs
 to be in the global name space.

 One question is should it go in the x86 name space or in something else?

 Ali



 On Jun 2, 2008, at 9:32 PM, Gabe Black wrote:

  I'm just starting on making the BIOSey tables and configuration
 information, like the e820 map which was forcing there to be 4 gigs of
 memory, available through SimObjects. There are a bunch of hierarchical
 tables for, for example, the DMI information, and I'm concerned that if I
 add a bunch, maybe a few dozen, new names, I'll end up either colliding 
 with
 things that exist or making collisions more likely later on. The obvious 
 C++
 answer to that would be a namespace, but I'm not sure the best way to do
 that in this circumstance. Regularly I think the python modules idea is
 supposed to take care of this, but I'm not sure how that fits with our 
 stuff
 and some of the fancy voodoo we've got making it all work. I'm going to 
 try
 it that way and just see how it pans out, but if anyone has any input I'd
 like to hear it.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
 
 
 
 
 Params: Allow nested namespaces in cxx_namespace
 
 diff -r 4944b77f70bd src/python/m5/SimObject.py
 --- a/src/python/m5/SimObject.py  Mon Jun 09 02:54:20 2008 -0400
 +++ b/src/python/m5/SimObject.py  Mon Jun 09 04:53:36 2008 -0400
 @@ -217,7 +217,10 @@ class MetaSimObject(type):
  # just declaring a pointer.
  decl = 'class %s;' % _cxx_class
  if namespace:
 -decl = 'namespace %s { %s }' % (namespace, decl)
 +namespaces = namespace.split('::')
 +namespaces.reverse()
 +for namespace in namespaces:
 +decl = 'namespace %s { %s }' % (namespace, decl)
  cls._value_dict['cxx_predecls'] = [decl]
  
  if 'swig_predecls' not in cls._value_dict:
 
 
 
 
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] incremental linking

2008-06-09 Thread Gabe Black
Is there some way we can make m5 link incrementally, or in other words
link subsystems together independently and then as units with each
other? The final linking step seems to take a long time with ld at 100%
cpu usage. That makes sense when you consider it's linking a screen and
a half of object files. Breaking things into smaller .os that then get
linked would help because a lot of the symbols would get resolved
locally and wouldn't cause a search over the all the other object
modules. Even better would be to restrict the set of symbols that get
linked between subsystems so the search is over a smaller space as well,
as apposed to just being done fewer times, but I don't know how we could
do that without specializing to one set of tools or using obscure
features like anonymous namespaces. Anonymous namespaces might not even
help because they hide symbols by putting them in generated unique
namespaces, but the linker probably doesn't know that and would go
through them all the time anyway. This isn't broken perse, but since you
have to link every time you build and I'm on a slower machine it's very
annoying.

Gabe
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] incremental linking

2008-06-09 Thread Ali Saidi
I quickly scanned the SCons documentation and couldn't find anything  
built in, but clearly the kernel does it so it can be done.

Ali

On Jun 9, 2008, at 5:48 AM, Gabe Black wrote:

   Is there some way we can make m5 link incrementally, or in other  
 words
 link subsystems together independently and then as units with each
 other? The final linking step seems to take a long time with ld at  
 100%
 cpu usage. That makes sense when you consider it's linking a screen  
 and
 a half of object files. Breaking things into smaller .os that then  
 get
 linked would help because a lot of the symbols would get resolved
 locally and wouldn't cause a search over the all the other object
 modules. Even better would be to restrict the set of symbols that get
 linked between subsystems so the search is over a smaller space as  
 well,
 as apposed to just being done fewer times, but I don't know how we  
 could
 do that without specializing to one set of tools or using obscure
 features like anonymous namespaces. Anonymous namespaces might not  
 even
 help because they hide symbols by putting them in generated unique
 namespaces, but the linker probably doesn't know that and would go
 through them all the time anyway. This isn't broken perse, but since  
 you
 have to link every time you build and I'm on a slower machine it's  
 very
 annoying.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] incremental linking

2008-06-09 Thread nathan binkert
Few comments.
1) I like this idea.
2) Linux explicitly exports symbols outside of an object.  This seems
like it would be a pain.
3) Anonymous namespaces aren't obscure.  Maybe there's a way to remove
these with strip.
4) It shouldn't be hard to get SCons to support this sort of thing.

  Nate

On Mon, Jun 9, 2008 at 2:48 AM, Gabe Black [EMAIL PROTECTED] wrote:
Is there some way we can make m5 link incrementally, or in other words
 link subsystems together independently and then as units with each
 other? The final linking step seems to take a long time with ld at 100%
 cpu usage. That makes sense when you consider it's linking a screen and
 a half of object files. Breaking things into smaller .os that then get
 linked would help because a lot of the symbols would get resolved
 locally and wouldn't cause a search over the all the other object
 modules. Even better would be to restrict the set of symbols that get
 linked between subsystems so the search is over a smaller space as well,
 as apposed to just being done fewer times, but I don't know how we could
 do that without specializing to one set of tools or using obscure
 features like anonymous namespaces. Anonymous namespaces might not even
 help because they hide symbols by putting them in generated unique
 namespaces, but the linker probably doesn't know that and would go
 through them all the time anyway. This isn't broken perse, but since you
 have to link every time you build and I'm on a slower machine it's very
 annoying.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] namespaces for python SimObjects

2008-06-09 Thread nathan binkert
 It won't, but if you use the attached patch it seems to. Let me know if
 it looks good and I'll tack it onto my queue.
Patch looks good.

 Also, is there a solid
 reason the create functions can't end up in a namespace other than the
 global one? I'm ending up with some pretty horrible names trying to make
 sure everything is unique.
I don't understand the question.  I don't have a problem with
namespaces if that's what you're after.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] host bridge device

2008-06-09 Thread Gabe Black
So this would be the PCI bus support in the north bridge for instance?
Should I just arbitrarily pick a chipset and implement that, or is there
something more generic?

Gabe

nathan binkert wrote:
 So as it says, it's checking bus 0 device 0 for a host bridge. Do we
 have a way to set that up? I can short circuit that by filling in one of
 the tables from the BIOS a little more, but if this is something I'm
 going to need to do anyway I'd rather do that.
 
 I believe that bus 0 is on the host bridge device.  You're going to
 need to create a new device so that the PCI bus can be discovered.  It
 shouldn't be complicated since there aren't that many registers
 involved.  I'm not sure how complicated the linux code is for this
 stuff, but the BSD code isn't too bad.
 
   Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] incremental linking

2008-06-09 Thread Ali Saidi
I've done some reading online and it doesn't appear that incremental  
linking will cut down on the link time much at all. Doing it in  
smaller chunks doesn't help if all the symbols end up being exported  
at the end. The two ways to speed it up are to (a) not include any  
debugging information (remove the -g flag)  or (b) build various  
pieces as shared libraries and link them dynamically at runtime. (a)  
isn't probably useful for your purposes and (b) increases the  
difficultly of debugging the code substantially as well as requires  
various pieces of the simulator to be completely independent. Either  
way I doubt it's worth the effort.

Ali


On Jun 9, 2008, at 12:53 PM, nathan binkert wrote:

 Few comments.
 1) I like this idea.
 2) Linux explicitly exports symbols outside of an object.  This seems
 like it would be a pain.
 3) Anonymous namespaces aren't obscure.  Maybe there's a way to remove
 these with strip.
 4) It shouldn't be hard to get SCons to support this sort of thing.

  Nate

 On Mon, Jun 9, 2008 at 2:48 AM, Gabe Black [EMAIL PROTECTED]  
 wrote:
   Is there some way we can make m5 link incrementally, or in  
 other words
 link subsystems together independently and then as units with each
 other? The final linking step seems to take a long time with ld at  
 100%
 cpu usage. That makes sense when you consider it's linking a screen  
 and
 a half of object files. Breaking things into smaller .os that  
 then get
 linked would help because a lot of the symbols would get resolved
 locally and wouldn't cause a search over the all the other object
 modules. Even better would be to restrict the set of symbols that get
 linked between subsystems so the search is over a smaller space as  
 well,
 as apposed to just being done fewer times, but I don't know how we  
 could
 do that without specializing to one set of tools or using obscure
 features like anonymous namespaces. Anonymous namespaces might not  
 even
 help because they hide symbols by putting them in generated unique
 namespaces, but the linker probably doesn't know that and would go
 through them all the time anyway. This isn't broken perse, but  
 since you
 have to link every time you build and I'm on a slower machine it's  
 very
 annoying.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] namespaces for python SimObjects

2008-06-09 Thread Gabe Black
That makes sense to me. I can do that at some point or if you'd rather
that'd be fine too.

Gabe

nathan binkert wrote:
 It won't, but if you use the attached patch it seems to. Let me know if
 it looks good and I'll tack it onto my queue.
 Patch looks good.
 
 Actually, does it make sense to get rid of cxx_namespace and just make
 it part of cxx_type?  If you're going to do a split anyway, why bother
 to have two variables.
 
   Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] namespaces for python SimObjects

2008-06-09 Thread nathan binkert
Whoever gets to it.   If you don't want to do it instead of the simple
patch you wrote, we can put it on the todo list.  In general, that
code is getting pretty messy and needs some TLC.

On Mon, Jun 9, 2008 at 11:21 AM, Gabe Black [EMAIL PROTECTED] wrote:
 That makes sense to me. I can do that at some point or if you'd rather
 that'd be fine too.

 Gabe

 nathan binkert wrote:
 It won't, but if you use the attached patch it seems to. Let me know if
 it looks good and I'll tack it onto my queue.
 Patch looks good.

 Actually, does it make sense to get rid of cxx_namespace and just make
 it part of cxx_type?  If you're going to do a split anyway, why bother
 to have two variables.

   Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] incremental linking

2008-06-09 Thread nathan binkert
Yeah, that makes sense.  We don't really have subsystems with local
symbols.  That said, is it faster to incremental link strip and then
finish the link?  I'm just curious if there are any symbols that we
can automatically strip.

Then again, I build debug most of the time and you wouldn't want to
strip that, so...

  Nate

On Mon, Jun 9, 2008 at 10:50 AM, Ali Saidi [EMAIL PROTECTED] wrote:
 I've done some reading online and it doesn't appear that incremental
 linking will cut down on the link time much at all. Doing it in
 smaller chunks doesn't help if all the symbols end up being exported
 at the end. The two ways to speed it up are to (a) not include any
 debugging information (remove the -g flag)  or (b) build various
 pieces as shared libraries and link them dynamically at runtime. (a)
 isn't probably useful for your purposes and (b) increases the
 difficultly of debugging the code substantially as well as requires
 various pieces of the simulator to be completely independent. Either
 way I doubt it's worth the effort.

 Ali


 On Jun 9, 2008, at 12:53 PM, nathan binkert wrote:

 Few comments.
 1) I like this idea.
 2) Linux explicitly exports symbols outside of an object.  This seems
 like it would be a pain.
 3) Anonymous namespaces aren't obscure.  Maybe there's a way to remove
 these with strip.
 4) It shouldn't be hard to get SCons to support this sort of thing.

  Nate

 On Mon, Jun 9, 2008 at 2:48 AM, Gabe Black [EMAIL PROTECTED]
 wrote:
   Is there some way we can make m5 link incrementally, or in
 other words
 link subsystems together independently and then as units with each
 other? The final linking step seems to take a long time with ld at
 100%
 cpu usage. That makes sense when you consider it's linking a screen
 and
 a half of object files. Breaking things into smaller .os that
 then get
 linked would help because a lot of the symbols would get resolved
 locally and wouldn't cause a search over the all the other object
 modules. Even better would be to restrict the set of symbols that get
 linked between subsystems so the search is over a smaller space as
 well,
 as apposed to just being done fewer times, but I don't know how we
 could
 do that without specializing to one set of tools or using obscure
 features like anonymous namespaces. Anonymous namespaces might not
 even
 help because they hide symbols by putting them in generated unique
 namespaces, but the linker probably doesn't know that and would go
 through them all the time anyway. This isn't broken perse, but
 since you
 have to link every time you build and I'm on a slower machine it's
 very
 annoying.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] host bridge device

2008-06-09 Thread nathan binkert
 So this would be the PCI bus support in the north bridge for instance?
 Should I just arbitrarily pick a chipset and implement that, or is there
 something more generic?

I think that there's really only one interface for this that really
matters.  On alpha, there were lots of north bridge interfaces, but on
x86, they still basically use the same one.  Some chipsets have
extensions (for secondary bridges and such), but we don't need to use
those.

I agree with Ali on the look at the kernel part.

   Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] incremental linking

2008-06-09 Thread Ali Saidi
One thing to try maybe is Intel CC. Perhaps their linker is faster? or  
do they use ld? You're probably running into a I/O limitation on your  
laptop not a CPU problem.

Ali


On Jun 9, 2008, at 2:02 PM, nathan binkert wrote:

 Yeah, that makes sense.  We don't really have subsystems with local
 symbols.  That said, is it faster to incremental link strip and then
 finish the link?  I'm just curious if there are any symbols that we
 can automatically strip.

 Then again, I build debug most of the time and you wouldn't want to
 strip that, so...

  Nate

 On Mon, Jun 9, 2008 at 10:50 AM, Ali Saidi [EMAIL PROTECTED] wrote:
 I've done some reading online and it doesn't appear that incremental
 linking will cut down on the link time much at all. Doing it in
 smaller chunks doesn't help if all the symbols end up being exported
 at the end. The two ways to speed it up are to (a) not include any
 debugging information (remove the -g flag)  or (b) build various
 pieces as shared libraries and link them dynamically at runtime. (a)
 isn't probably useful for your purposes and (b) increases the
 difficultly of debugging the code substantially as well as requires
 various pieces of the simulator to be completely independent. Either
 way I doubt it's worth the effort.

 Ali


 On Jun 9, 2008, at 12:53 PM, nathan binkert wrote:

 Few comments.
 1) I like this idea.
 2) Linux explicitly exports symbols outside of an object.  This  
 seems
 like it would be a pain.
 3) Anonymous namespaces aren't obscure.  Maybe there's a way to  
 remove
 these with strip.
 4) It shouldn't be hard to get SCons to support this sort of thing.

 Nate

 On Mon, Jun 9, 2008 at 2:48 AM, Gabe Black [EMAIL PROTECTED]
 wrote:
  Is there some way we can make m5 link incrementally, or in
 other words
 link subsystems together independently and then as units with each
 other? The final linking step seems to take a long time with ld at
 100%
 cpu usage. That makes sense when you consider it's linking a screen
 and
 a half of object files. Breaking things into smaller .os that
 then get
 linked would help because a lot of the symbols would get resolved
 locally and wouldn't cause a search over the all the other object
 modules. Even better would be to restrict the set of symbols that  
 get
 linked between subsystems so the search is over a smaller space as
 well,
 as apposed to just being done fewer times, but I don't know how we
 could
 do that without specializing to one set of tools or using obscure
 features like anonymous namespaces. Anonymous namespaces might not
 even
 help because they hide symbols by putting them in generated unique
 namespaces, but the linker probably doesn't know that and would go
 through them all the time anyway. This isn't broken perse, but
 since you
 have to link every time you build and I'm on a slower machine it's
 very
 annoying.

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev