On Jan 5, 2008 2:40 PM, Stefan Reinauer stepan@coresystems.de wrote:
I can't find the behavior you describe in find_file(). It returns as soon as the file is found. Your delay must come from some other issue.
it comes when a file is NOT found, which can happen.
I suspect we are looking for files that are not there yet. Probably some normal/fallback stuff that our makefiles don't do yet, but stage1.c does. We should not look for fallback files if we don't compile any.
you can't count on that .Suppose somebody builds a bios with fallback files, and then removes them later. And then adds them back. that's the beauty of lar -- we can change things.
NOT finding a file should be efficient.
Also, the code looks for payload/segment0, 1, 2, and stops when no more are found. That 'not found' really takes time. And, we can't compile this in -- payloads can change too, and the # segments can change.
So we need an efficient way to terminate the search. Carl-Daniel's idea is not too bad.
ron