From bonefish at cs.tu-berlin.de Thu Feb 1 08:24:45 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Thu, 01 Feb 2007 08:24:45 +0100 Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <200701302230.l0UMU2MY022517@sheep.berlios.de> References: <200701302230.l0UMU2MY022517@sheep.berlios.de> Message-ID: <20070201082445.1563.1@cs.tu-berlin.de> On 2007-01-30 at 23:30:02 [+0100], phoudoin at BerliOS wrote: > Author: phoudoin > Date: 2007-01-30 23:30:01 +0100 (Tue, 30 Jan 2007) > New Revision: 20023 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20023&view=rev > > Modified: > haiku/trunk/src/system/libroot/posix/sys/uname.c > Log: > Added forgotten space between kernel build date and time. > Also prepare uname to return the build SVN revision number, > which will work only if I could figure out how to define it from Jamfile. > Or, better, in build/jam/BuildSetup. With a macro this won't work at all, I'm afraid. You could do something similar to what is done in src/apps/abouthaiku/Jamfile (or reuse it), but I don't think anyone wants libroot.so depend on an "Always" target. CU, Ingo From bonefish at mail.berlios.de Thu Feb 1 09:21:45 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Thu, 1 Feb 2007 09:21:45 +0100 Subject: [Haiku-commits] r20027 - haiku/trunk/src/kits/interface Message-ID: <200702010821.l118Lj0J011591@sheep.berlios.de> Author: bonefish Date: 2007-02-01 09:21:44 +0100 (Thu, 01 Feb 2007) New Revision: 20027 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20027&view=rev Modified: haiku/trunk/src/kits/interface/GridLayout.cpp Log: Fixed infinite recursion. Discovered by Ryan. Modified: haiku/trunk/src/kits/interface/GridLayout.cpp =================================================================== --- haiku/trunk/src/kits/interface/GridLayout.cpp 2007-01-31 20:30:20 UTC (rev 20026) +++ haiku/trunk/src/kits/interface/GridLayout.cpp 2007-02-01 08:21:44 UTC (rev 20027) @@ -336,7 +336,7 @@ bool BGridLayout::AddItem(int32 index, BLayoutItem* item) { - return AddItem(index, item); + return AddItem(item); } // AddItem From leavengood at gmail.com Thu Feb 1 09:42:31 2007 From: leavengood at gmail.com (Ryan Leavengood) Date: Thu, 1 Feb 2007 03:42:31 -0500 Subject: [Haiku-commits] r20027 - haiku/trunk/src/kits/interface In-Reply-To: <200702010821.l118Lj0J011591@sheep.berlios.de> References: <200702010821.l118Lj0J011591@sheep.berlios.de> Message-ID: On 2/1/07, bonefish at BerliOS wrote: > Author: bonefish > Date: 2007-02-01 09:21:44 +0100 (Thu, 01 Feb 2007) > New Revision: 20027 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20027&view=rev > > Modified: > haiku/trunk/src/kits/interface/GridLayout.cpp > Log: > Fixed infinite recursion. Discovered by Ryan. Cool. But I wonder: why even have this method if it just delegates like that? Unless it is needed for the interface for some reason (abstract method in the base class?) Ryan From bonefish at cs.tu-berlin.de Thu Feb 1 11:15:23 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Thu, 01 Feb 2007 11:15:23 +0100 Subject: [Haiku-commits] r20027 - haiku/trunk/src/kits/interface In-Reply-To: References: <200702010821.l118Lj0J011591@sheep.berlios.de> Message-ID: <20070201111523.27049.5@cs.tu-berlin.de> On 2007-02-01 at 09:42:31 [+0100], Ryan Leavengood wrote: > On 2/1/07, bonefish at BerliOS wrote: > > Author: bonefish > > Date: 2007-02-01 09:21:44 +0100 (Thu, 01 Feb 2007) > > New Revision: 20027 > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20027&view=rev > > > > Modified: > > haiku/trunk/src/kits/interface/GridLayout.cpp > > Log: > > Fixed infinite recursion. Discovered by Ryan. > > Cool. But I wonder: why even have this method if it just delegates > like that? Unless it is needed for the interface for some reason > (abstract method in the base class?) There are two reasons: 1) The base class (BLayout) version of this method just adds the item to its item list, but BGridLayout also needs to find a place in the grid for the item and add it there. A layout implementation that doesn't need to do something similar or can do it in the ItemAdded()/ItemRemoved() hooks wouldn't need to override those methods, though. 2) If you add some custom AddItem() version you want to override the base class versions too, to work around an annoying C++ method shadowing "feature". CU, Ingo From axeld at pinc-software.de Thu Feb 1 12:51:03 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Thu, 01 Feb 2007 12:51:03 +0100 CET Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <20070201082445.1563.1@cs.tu-berlin.de> Message-ID: <2204776875-BeMail@zon> Ingo Weinhold wrote: > On 2007-01-30 at 23:30:02 [+0100], phoudoin at BerliOS > wrote: > > Author: phoudoin > > Date: 2007-01-30 23:30:01 +0100 (Tue, 30 Jan 2007) > > New Revision: 20023 > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20023&view=rev > > > > Modified: > > haiku/trunk/src/system/libroot/posix/sys/uname.c > > Log: > > Added forgotten space between kernel build date and time. > > Also prepare uname to return the build SVN revision number, > > which will work only if I could figure out how to define it from > > Jamfile. > > Or, better, in build/jam/BuildSetup. > With a macro this won't work at all, I'm afraid. You could do > something > similar to what is done in src/apps/abouthaiku/Jamfile (or reuse it), > but I > don't think anyone wants libroot.so depend on an "Always" target. Neither the kernel, btw :-) But since we have a special Jam anyway, we could theoretically also add a variable that contains the SVN revision by default. Bye, Axel. From axeld at mail.berlios.de Thu Feb 1 13:12:56 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Thu, 1 Feb 2007 13:12:56 +0100 Subject: [Haiku-commits] r20028 - in haiku/trunk: headers/private/kernel src/system/kernel/vm Message-ID: <200702011212.l11CCu2F028477@sheep.berlios.de> Author: axeld Date: 2007-02-01 13:12:54 +0100 (Thu, 01 Feb 2007) New Revision: 20028 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20028&view=rev Modified: haiku/trunk/headers/private/kernel/vm_types.h haiku/trunk/src/system/kernel/vm/vm.cpp haiku/trunk/src/system/kernel/vm/vm_cache.c Log: Fixed a couple of issues in our VM: * we now always flush the TLBs after having unmapped some pages. * vm_soft_fault() could traverse to a source cache while it was being collapsed by vm_cache_remove_consumer() - this is now no longer possible as the latter marks the cache as busy when doing so, and the former now tests this flag and locks the cache (via the new fault_acquire_locked_source() function). * if fault_acquire_locked_source() fails with B_BUSY, the current cache is locked again, and tested again for the page - as it might have been moved upwards to it with the destruction of its former source. * The cache delivering the page for vm_soft_fault() is now locked until the end; it can no longer go away before having actually mapped the page into the area. * This also fixes the issue where pages would get lost as vm_soft_fault() put the page in the active list, no matter if its cache still existed. * Also, we now keep a reference of to a cache in case a dummy page is inserted; this makes again sure that it doesn't go away during the execution of vm_soft_fault() (which could even add this page to the free list...). * divided vm_soft_fault() into several smaller functions which should make it much more readable. * Added a "cache_chain" KDL command that dumps the whole chain until the bottom when giving a pointer to a vm_cache as parameter. * now usually call vm_cache_acquire_ref() before map_backing_store(), even though it shouldn't be really needed (I added it for debugging purposes). * Some minor cleanup. * NOTE: a major problem still persists: when removing a vm_cache, it's possible that some of its pages are still mapped, and there is currently no mechanism to get rid of these mappings! I've added TODO comments into vm_cache.c where appropriate. Modified: haiku/trunk/headers/private/kernel/vm_types.h =================================================================== --- haiku/trunk/headers/private/kernel/vm_types.h 2007-02-01 08:21:44 UTC (rev 20027) +++ haiku/trunk/headers/private/kernel/vm_types.h 2007-02-01 12:12:54 UTC (rev 20028) @@ -81,6 +81,7 @@ uint32 page_count; uint32 temporary : 1; uint32 scan_skip : 1; + uint32 busy : 1; } vm_cache; // vm area Modified: haiku/trunk/src/system/kernel/vm/vm.cpp =================================================================== --- haiku/trunk/src/system/kernel/vm/vm.cpp 2007-02-01 08:21:44 UTC (rev 20027) +++ haiku/trunk/src/system/kernel/vm/vm.cpp 2007-02-01 12:12:54 UTC (rev 20028) @@ -1286,6 +1286,8 @@ return B_BAD_VALUE; } + vm_cache_acquire_ref(sourceArea->cache_ref); + // ToDo: for now, B_USER_CLONEABLE is disabled, until all drivers // have been adapted. Maybe it should be part of the kernel settings, // anyway (so that old drivers can always work). @@ -1309,6 +1311,7 @@ // one. vm_cache_acquire_ref(sourceArea->cache_ref); } + vm_cache_release_ref(sourceArea->cache_ref); vm_put_area(sourceArea); vm_put_address_space(addressSpace); @@ -1432,9 +1435,10 @@ // unmap the virtual address space the area occupied. any page faults at this // point should fail in vm_area_lookup(). vm_translation_map *map = &addressSpace->translation_map; - (*map->ops->lock)(map); - (*map->ops->unmap)(map, area->base, area->base + (area->size - 1)); - (*map->ops->unlock)(map); + map->ops->lock(map); + map->ops->unmap(map, area->base, area->base + (area->size - 1)); + map->ops->flush(map); + map->ops->unlock(map); // ToDo: do that only for vnode stores vm_cache_write_modified(area->cache_ref, false); @@ -1541,6 +1545,7 @@ map = &area->address_space->translation_map; map->ops->lock(map); map->ops->unmap(map, area->base, area->base - 1 + area->size); + map->ops->flush(map); for (page = lowerCache->page_list; page; page = page->cache_next) { map->ops->map(map, area->base + (page->cache_offset << PAGE_SHIFT) @@ -1595,17 +1600,20 @@ // First, create a cache on top of the source area + if (!writableCopy) { + // map_backing_store() cannot know it has to acquire a ref to + // the store for REGION_NO_PRIVATE_MAP + vm_cache_acquire_ref(cacheRef); + } + status = map_backing_store(addressSpace, cacheRef, _address, source->cache_offset, source->size, addressSpec, source->wiring, protection, writableCopy ? REGION_PRIVATE_MAP : REGION_NO_PRIVATE_MAP, &target, name); - if (status < B_OK) + if (status < B_OK) { + if (!writableCopy) + vm_cache_release_ref(cacheRef); goto err; - - if (!writableCopy) { - // map_backing_store() cannot know it has to acquire a ref to - // the store for REGION_NO_PRIVATE_MAP - vm_cache_acquire_ref(cacheRef); } // If the source area is writable, we need to move it one layer up as well @@ -1927,6 +1935,30 @@ static int +dump_cache_chain(int argc, char **argv) +{ + if (argc < 2 || strlen(argv[1]) < 2 + || argv[1][0] != '0' + || argv[1][1] != 'x') { + kprintf("%s: invalid argument, pass address\n", argv[0]); + return 0; + } + + addr_t address = strtoul(argv[1], NULL, 0); + if (address == NULL) + return 0; + + vm_cache *cache = (vm_cache *)address; + while (cache != NULL) { + dprintf("%p (ref %p)\n", cache, cache->ref); + cache = cache->source; + } + + return 0; +} + + +static int dump_cache(int argc, char **argv) { vm_cache *cache; @@ -2477,6 +2509,7 @@ add_debugger_command("area", &dump_area, "Dump info about a particular area"); add_debugger_command("cache_ref", &dump_cache, "Dump vm_cache"); add_debugger_command("cache", &dump_cache, "Dump vm_cache"); + add_debugger_command("cache_chain", &dump_cache_chain, "Dump vm_cache chain"); add_debugger_command("avail", &dump_available_memory, "Dump available memory"); add_debugger_command("dl", &display_mem, "dump memory long words (64-bit)"); add_debugger_command("dw", &display_mem, "dump memory words (32-bit)"); @@ -2557,29 +2590,29 @@ status_t -vm_page_fault(addr_t address, addr_t fault_address, bool is_write, bool is_user, addr_t *newip) +vm_page_fault(addr_t address, addr_t faultAddress, bool isWrite, bool isUser, + addr_t *newIP) { - int err; + FTRACE(("vm_page_fault: page fault at 0x%lx, ip 0x%lx\n", address, faultAddress)); - FTRACE(("vm_page_fault: page fault at 0x%lx, ip 0x%lx\n", address, fault_address)); + *newIP = 0; - *newip = 0; - - err = vm_soft_fault(address, is_write, is_user); - if (err < 0) { + status_t status = vm_soft_fault(address, isWrite, isUser); + if (status < B_OK) { dprintf("vm_page_fault: vm_soft_fault returned error '%s' on fault at 0x%lx, ip 0x%lx, write %d, user %d, thread 0x%lx\n", - strerror(err), address, fault_address, is_write, is_user, thread_get_current_thread_id()); - if (!is_user) { - struct thread *t = thread_get_current_thread(); - if (t && t->fault_handler != 0) { + strerror(status), address, faultAddress, isWrite, isUser, + thread_get_current_thread_id()); + if (!isUser) { + struct thread *thread = thread_get_current_thread(); + if (thread != NULL && thread->fault_handler != 0) { // this will cause the arch dependant page fault handler to // modify the IP on the interrupt frame or whatever to return // to this address - *newip = t->fault_handler; + *newIP = thread->fault_handler; } else { // unhandled page fault in the kernel panic("vm_page_fault: unhandled page fault in kernel space at 0x%lx, ip 0x%lx\n", - address, fault_address); + address, faultAddress); } } else { #if 1 @@ -2588,14 +2621,14 @@ vm_area *area; acquire_sem_etc(addressSpace->sem, READ_COUNT, 0, 0); - area = vm_area_lookup(addressSpace, fault_address); + area = vm_area_lookup(addressSpace, faultAddress); dprintf("vm_page_fault: sending team \"%s\" 0x%lx SIGSEGV, ip %#lx (\"%s\" +%#lx)\n", thread_get_current_thread()->team->name, - thread_get_current_thread()->team->id, fault_address, - area ? area->name : "???", fault_address - (area ? area->base : 0x0)); + thread_get_current_thread()->team->id, faultAddress, + area ? area->name : "???", faultAddress - (area ? area->base : 0x0)); -// We can print a stack trace of the userland thread here. + // We can print a stack trace of the userland thread here. #if 0 if (area) { struct stack_frame { @@ -2616,7 +2649,7 @@ dprintf("stack trace:\n"); while (status == B_OK) { - dprintf(" 0x%p", frame.return_address); + dprintf(" %p", frame.return_address); area = vm_area_lookup(addressSpace, (addr_t)frame.return_address); if (area) { @@ -2643,122 +2676,99 @@ } -static status_t -vm_soft_fault(addr_t originalAddress, bool isWrite, bool isUser) +static inline status_t +fault_acquire_locked_source(vm_cache *cache, vm_cache_ref **_sourceRef) { - vm_address_space *addressSpace; - vm_area *area; - vm_cache_ref *topCacheRef; - off_t cacheOffset; - vm_page dummyPage; - vm_page *page = NULL; - addr_t address; - int32 changeCount; - status_t status; +retry: + vm_cache *source = cache->source; + if (source == NULL) + return B_ERROR; + if (source->busy) + return B_BUSY; - FTRACE(("vm_soft_fault: thid 0x%lx address 0x%lx, isWrite %d, isUser %d\n", - thread_get_current_thread_id(), originalAddress, isWrite, isUser)); + vm_cache_ref *sourceRef = source->ref; + vm_cache_acquire_ref(sourceRef); - address = ROUNDOWN(originalAddress, B_PAGE_SIZE); + mutex_lock(&sourceRef->lock); - if (IS_KERNEL_ADDRESS(address)) { - addressSpace = vm_get_kernel_address_space(); - } else if (IS_USER_ADDRESS(address)) { - addressSpace = vm_get_current_user_address_space(); - if (addressSpace == NULL) { - if (isUser == false) { - dprintf("vm_soft_fault: kernel thread accessing invalid user memory!\n"); - return B_BAD_ADDRESS; - } else { - // XXX weird state. - panic("vm_soft_fault: non kernel thread accessing user memory that doesn't exist!\n"); - } - } - } else { - // the hit was probably in the 64k DMZ between kernel and user space - // this keeps a user space thread from passing a buffer that crosses into kernel space - return B_BAD_ADDRESS; + if (sourceRef->cache != cache->source || sourceRef->cache->busy) { + mutex_unlock(&sourceRef->lock); + vm_cache_release_ref(sourceRef); + goto retry; } - atomic_add(&addressSpace->fault_count, 1); + *_sourceRef = sourceRef; + return B_OK; +} - // Get the area the fault was in - acquire_sem_etc(addressSpace->sem, READ_COUNT, 0, 0); - area = vm_area_lookup(addressSpace, address); - if (area == NULL) { - release_sem_etc(addressSpace->sem, READ_COUNT, 0); - vm_put_address_space(addressSpace); - dprintf("vm_soft_fault: va 0x%lx not covered by area in address space\n", - originalAddress); - return B_BAD_ADDRESS; - } +/*! + Inserts a busy dummy page into a cache, and makes sure the cache won't go + away by grabbing a reference to it. +*/ +static inline void +fault_insert_dummy_page(vm_cache_ref *cacheRef, vm_page &dummyPage, off_t cacheOffset) +{ + dummyPage.state = PAGE_STATE_BUSY; + vm_cache_acquire_ref(cacheRef); + vm_cache_insert_page(cacheRef, &dummyPage, cacheOffset); +} - // check permissions - if (isUser && (area->protection & B_USER_PROTECTION) == 0) { - release_sem_etc(addressSpace->sem, READ_COUNT, 0); - vm_put_address_space(addressSpace); - dprintf("user access on kernel area 0x%lx at %p\n", area->id, (void *)originalAddress); - return B_PERMISSION_DENIED; - } - if (isWrite && (area->protection & (B_WRITE_AREA | (isUser ? 0 : B_KERNEL_WRITE_AREA))) == 0) { - release_sem_etc(addressSpace->sem, READ_COUNT, 0); - vm_put_address_space(addressSpace); - dprintf("write access attempted on read-only area 0x%lx at %p\n", - area->id, (void *)originalAddress); - return B_PERMISSION_DENIED; - } - // We have the area, it was a valid access, so let's try to resolve the page fault now. - // At first, the top most cache from the area is investigated +/*! + Removes the busy dummy page from a cache, and releases its reference to + the cache. +*/ +static inline void +fault_remove_dummy_page(vm_page &dummyPage, bool isLocked) +{ + vm_cache_ref *cacheRef = dummyPage.cache->ref; + if (!isLocked) + mutex_lock(&cacheRef->lock); - topCacheRef = area->cache_ref; - cacheOffset = address - area->base + area->cache_offset; - vm_cache_acquire_ref(topCacheRef); - changeCount = addressSpace->change_count; - release_sem_etc(addressSpace->sem, READ_COUNT, 0); + vm_cache_remove_page(cacheRef, &dummyPage); - mutex_lock(&topCacheRef->lock); + if (!isLocked) + mutex_unlock(&cacheRef->lock); - // See if this cache has a fault handler - this will do all the work for us - if (topCacheRef->cache->store->ops->fault != NULL) { - // Note, since the page fault is resolved with interrupts enabled, the - // fault handler could be called more than once for the same reason - - // the store must take this into account - status_t status = (*topCacheRef->cache->store->ops->fault)(topCacheRef->cache->store, addressSpace, cacheOffset); - if (status != B_BAD_HANDLER) { - mutex_unlock(&topCacheRef->lock); - vm_cache_release_ref(topCacheRef); - vm_put_address_space(addressSpace); - return status; - } - } + vm_cache_release_ref(cacheRef); - mutex_unlock(&topCacheRef->lock); + dummyPage.state = PAGE_STATE_INACTIVE; +} - // The top most cache has no fault handler, so let's see if the cache or its sources - // already have the page we're searching for (we're going from top to bottom) - dummyPage.state = PAGE_STATE_INACTIVE; - dummyPage.type = PAGE_TYPE_DUMMY; +/*! + Finds a page at the specified \a cacheOffset in either the \a topCacheRef + or in its source chain. Will also page in a missing page in case there is + a cache that has the page. + If it couldn't find a page, it will return the vm_cache that should get it, + otherwise, it will return the vm_cache that contains the cache. + It always grabs a reference to the vm_cache that it returns, and also locks it. +*/ +static inline vm_page * +fault_find_page(vm_translation_map *map, vm_cache_ref *topCacheRef, + off_t cacheOffset, bool isWrite, vm_page &dummyPage, vm_cache_ref **_pageRef) +{ + vm_cache_ref *cacheRef = topCacheRef; + vm_cache_ref *lastCacheRef = NULL; + vm_page *page = NULL; - vm_cache_ref *lastCacheRef = NULL; - vm_cache_ref *cacheRef = topCacheRef; vm_cache_acquire_ref(cacheRef); - // we need to make sure to always hold a ref to the current vm_cache_ref + mutex_lock(&cacheRef->lock); + // we release this later in the loop while (cacheRef != NULL) { if (lastCacheRef != NULL) vm_cache_release_ref(lastCacheRef); - mutex_lock(&cacheRef->lock); + // we hold the lock of the cacheRef at this point + lastCacheRef = cacheRef; for (;;) { page = vm_cache_lookup_page(cacheRef, cacheOffset); if (page != NULL && page->state != PAGE_STATE_BUSY) { vm_page_set_state(page, PAGE_STATE_BUSY); - mutex_unlock(&cacheRef->lock); break; } @@ -2779,14 +2789,12 @@ // If we're at the top most cache, insert the dummy page here to keep other threads // from faulting on the same address and chasing us up the cache chain - if (cacheRef == topCacheRef) { - dummyPage.state = PAGE_STATE_BUSY; - vm_cache_insert_page(cacheRef, &dummyPage, cacheOffset); - } + if (cacheRef == topCacheRef) + fault_insert_dummy_page(cacheRef, dummyPage, cacheOffset); // see if the vm_store has it - if (cacheRef->cache->store->ops->has_page != NULL - && cacheRef->cache->store->ops->has_page(cacheRef->cache->store, cacheOffset)) { + vm_store *store = cacheRef->cache->store; + if (store->ops->has_page != NULL && store->ops->has_page(store, cacheOffset)) { size_t bytesRead; iovec vec; @@ -2801,20 +2809,18 @@ // we mark that page busy reading, so that the file cache can ignore // us in case it works on the very same page - addressSpace->translation_map.ops->get_physical_page(page->physical_page_number * B_PAGE_SIZE, (addr_t *)&vec.iov_base, PHYSICAL_PAGE_CAN_WAIT); - // ToDo: handle errors here - status = cacheRef->cache->store->ops->read(cacheRef->cache->store, - cacheOffset, &vec, 1, &bytesRead, false); - if (status < B_OK) - panic("hello, dudes!"); - addressSpace->translation_map.ops->put_physical_page((addr_t)vec.iov_base); + map->ops->get_physical_page(page->physical_page_number * B_PAGE_SIZE, (addr_t *)&vec.iov_base, PHYSICAL_PAGE_CAN_WAIT); + status_t status = store->ops->read(store, cacheOffset, &vec, 1, &bytesRead, false); + if (status < B_OK) { + // TODO: real error handling! + panic("reading from store %p (cacheRef %p) returned: %s!\n", store, cacheRef, strerror(status)); + } + map->ops->put_physical_page((addr_t)vec.iov_base); mutex_lock(&cacheRef->lock); - if (cacheRef == topCacheRef) { - vm_cache_remove_page(cacheRef, &dummyPage); - dummyPage.state = PAGE_STATE_INACTIVE; - } + if (cacheRef == topCacheRef) + fault_remove_dummy_page(dummyPage, true); // We insert the queue_next here, because someone else could have // replaced our page @@ -2824,16 +2830,22 @@ // Indeed, the page got replaced by someone else - we can safely // throw our page away now vm_page_set_state(page, PAGE_STATE_FREE); + page = dummyPage.queue_next; } - mutex_unlock(&cacheRef->lock); break; } vm_cache_ref *nextCacheRef; - if (cacheRef->cache->source) { - nextCacheRef = cacheRef->cache->source->ref; - vm_cache_acquire_ref(nextCacheRef); - } else + status_t status = fault_acquire_locked_source(cacheRef->cache, &nextCacheRef); + if (status == B_BUSY) { + // the source cache is currently in the process of being merged + // with his only consumer (cacheRef); since its pages are moved + // upwards, too, we try this cache again + mutex_unlock(&cacheRef->lock); + mutex_lock(&cacheRef->lock); + lastCacheRef = NULL; + continue; + } else if (status < B_OK) nextCacheRef = NULL; mutex_unlock(&cacheRef->lock); @@ -2843,55 +2855,69 @@ } if (page == NULL) { - // we still haven't found a page, so we allocate a clean one - - if (!cacheRef) { + // there was no adequate page, determine the cache for a clean one + if (cacheRef == NULL) { // We rolled off the end of the cache chain, so we need to decide which // cache will get the new page we're about to create. - cacheRef = isWrite ? topCacheRef : lastCacheRef; // Read-only pages come in the deepest cache - only the // top most cache may have direct write access. + vm_cache_acquire_ref(cacheRef); + mutex_lock(&cacheRef->lock); } + // release the reference of the last vm_cache_ref we still have from the loop above + if (lastCacheRef != NULL) + vm_cache_release_ref(lastCacheRef); + } else { + // we still own a reference to the cacheRef + } + + *_pageRef = cacheRef; + return page; +} + + +/*! + Returns the page that should be mapped into the area that got the fault. + It returns the owner of the page in \a sourceRef - it keeps a reference + to it, and has also locked it on exit. +*/ +static inline vm_page * +fault_get_page(vm_translation_map *map, vm_cache_ref *topCacheRef, + off_t cacheOffset, bool isWrite, vm_page &dummyPage, vm_cache_ref **_sourceRef) +{ + vm_cache_ref *cacheRef; + vm_page *page = fault_find_page(map, topCacheRef, cacheOffset, isWrite, + dummyPage, &cacheRef); + if (page == NULL) { + // we still haven't found a page, so we allocate a clean one + page = vm_page_allocate_page(PAGE_STATE_CLEAR); FTRACE(("vm_soft_fault: just allocated page 0x%lx\n", page->physical_page_number)); // Insert the new page into our cache, and replace it with the dummy page if necessary - mutex_lock(&cacheRef->lock); - // if we inserted a dummy page into this cache, we have to remove it now - if (dummyPage.state == PAGE_STATE_BUSY && dummyPage.cache == cacheRef->cache) { - vm_cache_remove_page(cacheRef, &dummyPage); - dummyPage.state = PAGE_STATE_INACTIVE; - } + if (dummyPage.state == PAGE_STATE_BUSY && dummyPage.cache == cacheRef->cache) + fault_remove_dummy_page(dummyPage, true); vm_cache_insert_page(cacheRef, page, cacheOffset); - mutex_unlock(&cacheRef->lock); if (dummyPage.state == PAGE_STATE_BUSY) { // we had inserted the dummy cache in another cache, so let's remove it from there - vm_cache_ref *temp_cache = dummyPage.cache->ref; - mutex_lock(&temp_cache->lock); - vm_cache_remove_page(temp_cache, &dummyPage); - mutex_unlock(&temp_cache->lock); - dummyPage.state = PAGE_STATE_INACTIVE; + fault_remove_dummy_page(dummyPage, false); } } - // release the reference of the last vm_cache_ref we still have from the loop above - if (lastCacheRef != NULL) - vm_cache_release_ref(lastCacheRef); - // We now have the page and a cache it belongs to - we now need to make // sure that the area's cache can access it, too, and sees the correct data if (page->cache != topCacheRef->cache && isWrite) { // now we have a page that has the data we want, but in the wrong cache object // so we need to copy it and stick it into the top cache - vm_page *src_page = page; - void *src, *dest; + vm_page *sourcePage = page; + void *source, *dest; // ToDo: if memory is low, it might be a good idea to steal the page // from our source cache - if possible, that is @@ -2900,48 +2926,158 @@ // try to get a mapping for the src and dest page so we can copy it for (;;) { - (*addressSpace->translation_map.ops->get_physical_page)(src_page->physical_page_number * B_PAGE_SIZE, (addr_t *)&src, PHYSICAL_PAGE_CAN_WAIT); - status = (*addressSpace->translation_map.ops->get_physical_page)(page->physical_page_number * B_PAGE_SIZE, (addr_t *)&dest, PHYSICAL_PAGE_NO_WAIT); - if (status == B_NO_ERROR) + map->ops->get_physical_page(sourcePage->physical_page_number * B_PAGE_SIZE, + (addr_t *)&source, PHYSICAL_PAGE_CAN_WAIT); + + if (map->ops->get_physical_page(page->physical_page_number * B_PAGE_SIZE, + (addr_t *)&dest, PHYSICAL_PAGE_NO_WAIT) == B_OK) break; // it couldn't map the second one, so sleep and retry // keeps an extremely rare deadlock from occuring - (*addressSpace->translation_map.ops->put_physical_page)((addr_t)src); + map->ops->put_physical_page((addr_t)source); snooze(5000); } - memcpy(dest, src, B_PAGE_SIZE); - (*addressSpace->translation_map.ops->put_physical_page)((addr_t)src); - (*addressSpace->translation_map.ops->put_physical_page)((addr_t)dest); + memcpy(dest, source, B_PAGE_SIZE); + map->ops->put_physical_page((addr_t)source); + map->ops->put_physical_page((addr_t)dest); - vm_page_set_state(src_page, PAGE_STATE_ACTIVE); + vm_page_set_state(sourcePage, PAGE_STATE_ACTIVE); + mutex_unlock(&cacheRef->lock); mutex_lock(&topCacheRef->lock); // Insert the new page into our cache, and replace it with the dummy page if necessary // if we inserted a dummy page into this cache, we have to remove it now - if (dummyPage.state == PAGE_STATE_BUSY && dummyPage.cache == topCacheRef->cache) { - vm_cache_remove_page(topCacheRef, &dummyPage); - dummyPage.state = PAGE_STATE_INACTIVE; - } + if (dummyPage.state == PAGE_STATE_BUSY && dummyPage.cache == topCacheRef->cache) + fault_remove_dummy_page(dummyPage, true); vm_cache_insert_page(topCacheRef, page, cacheOffset); - mutex_unlock(&topCacheRef->lock); if (dummyPage.state == PAGE_STATE_BUSY) { // we had inserted the dummy cache in another cache, so let's remove it from there - vm_cache_ref *tempRef = dummyPage.cache->ref; - mutex_lock(&tempRef->lock); - vm_cache_remove_page(tempRef, &dummyPage); - mutex_unlock(&tempRef->lock); - dummyPage.state = PAGE_STATE_INACTIVE; + fault_remove_dummy_page(dummyPage, false); } + + vm_cache_release_ref(cacheRef); + + cacheRef = topCacheRef; + vm_cache_acquire_ref(cacheRef); } - status = B_OK; + *_sourceRef = cacheRef; + return page; +} + + +static status_t +vm_soft_fault(addr_t originalAddress, bool isWrite, bool isUser) +{ + vm_address_space *addressSpace; + + FTRACE(("vm_soft_fault: thid 0x%lx address 0x%lx, isWrite %d, isUser %d\n", + thread_get_current_thread_id(), originalAddress, isWrite, isUser)); + + addr_t address = ROUNDOWN(originalAddress, B_PAGE_SIZE); + + if (IS_KERNEL_ADDRESS(address)) { + addressSpace = vm_get_kernel_address_space(); + } else if (IS_USER_ADDRESS(address)) { + addressSpace = vm_get_current_user_address_space(); + if (addressSpace == NULL) { + if (!isUser) { + dprintf("vm_soft_fault: kernel thread accessing invalid user memory!\n"); + return B_BAD_ADDRESS; + } else { + // XXX weird state. + panic("vm_soft_fault: non kernel thread accessing user memory that doesn't exist!\n"); + } + } + } else { + // the hit was probably in the 64k DMZ between kernel and user space + // this keeps a user space thread from passing a buffer that crosses + // into kernel space + return B_BAD_ADDRESS; + } + + atomic_add(&addressSpace->fault_count, 1); + + // Get the area the fault was in + acquire_sem_etc(addressSpace->sem, READ_COUNT, 0, 0); + + vm_area *area = vm_area_lookup(addressSpace, address); + if (area == NULL) { + release_sem_etc(addressSpace->sem, READ_COUNT, 0); + vm_put_address_space(addressSpace); + dprintf("vm_soft_fault: va 0x%lx not covered by area in address space\n", + originalAddress); + return B_BAD_ADDRESS; + } + + // check permissions + if (isUser && (area->protection & B_USER_PROTECTION) == 0) { + release_sem_etc(addressSpace->sem, READ_COUNT, 0); + vm_put_address_space(addressSpace); + dprintf("user access on kernel area 0x%lx at %p\n", area->id, (void *)originalAddress); + return B_PERMISSION_DENIED; + } + if (isWrite && (area->protection & (B_WRITE_AREA | (isUser ? 0 : B_KERNEL_WRITE_AREA))) == 0) { + release_sem_etc(addressSpace->sem, READ_COUNT, 0); + vm_put_address_space(addressSpace); + dprintf("write access attempted on read-only area 0x%lx at %p\n", + area->id, (void *)originalAddress); + return B_PERMISSION_DENIED; + } + + // We have the area, it was a valid access, so let's try to resolve the page fault now. + // At first, the top most cache from the area is investigated + + vm_cache_ref *topCacheRef = area->cache_ref; + off_t cacheOffset = address - area->base + area->cache_offset; + int32 changeCount = addressSpace->change_count; + + vm_cache_acquire_ref(topCacheRef); + release_sem_etc(addressSpace->sem, READ_COUNT, 0); + + mutex_lock(&topCacheRef->lock); + + // See if this cache has a fault handler - this will do all the work for us + { + vm_store *store = topCacheRef->cache->store; + if (store->ops->fault != NULL) { + // Note, since the page fault is resolved with interrupts enabled, the + // fault handler could be called more than once for the same reason - + // the store must take this into account + status_t status = store->ops->fault(store, addressSpace, cacheOffset); + if (status != B_BAD_HANDLER) { + mutex_unlock(&topCacheRef->lock); + vm_cache_release_ref(topCacheRef); + vm_put_address_space(addressSpace); + return status; + } + } + } + + mutex_unlock(&topCacheRef->lock); + + // The top most cache has no fault handler, so let's see if the cache or its sources + // already have the page we're searching for (we're going from top to bottom) + + vm_translation_map *map = &addressSpace->translation_map; + vm_page dummyPage; + dummyPage.state = PAGE_STATE_INACTIVE; + dummyPage.type = PAGE_TYPE_DUMMY; + + vm_cache_ref *pageSourceRef; + vm_page *page = fault_get_page(map, topCacheRef, cacheOffset, isWrite, + dummyPage, &pageSourceRef); + + status_t status = B_OK; + + acquire_sem_etc(addressSpace->sem, READ_COUNT, 0, 0); if (changeCount != addressSpace->change_count) { // something may have changed, see if the address is still valid area = vm_area_lookup(addressSpace, address); @@ -2963,26 +3099,25 @@ newProtection &= ~(isUser ? B_WRITE_AREA : B_KERNEL_WRITE_AREA); atomic_add(&page->ref_count, 1); - (*addressSpace->translation_map.ops->lock)(&addressSpace->translation_map); - (*addressSpace->translation_map.ops->map)(&addressSpace->translation_map, address, - page->physical_page_number * B_PAGE_SIZE, newProtection); - (*addressSpace->translation_map.ops->unlock)(&addressSpace->translation_map); + + map->ops->lock(map); + map->ops->map(map, address, page->physical_page_number * B_PAGE_SIZE, + newProtection); + map->ops->unlock(map); } release_sem_etc(addressSpace->sem, READ_COUNT, 0); + vm_page_set_state(page, PAGE_STATE_ACTIVE); + mutex_unlock(&pageSourceRef->lock); + vm_cache_release_ref(pageSourceRef); + if (dummyPage.state == PAGE_STATE_BUSY) { // We still have the dummy page in the cache - that happens if we didn't need // to allocate a new page before, but could use one in another cache - vm_cache_ref *tempRef = dummyPage.cache->ref; - mutex_lock(&tempRef->lock); - vm_cache_remove_page(tempRef, &dummyPage); - mutex_unlock(&tempRef->lock); - dummyPage.state = PAGE_STATE_INACTIVE; + fault_remove_dummy_page(dummyPage, false); } - vm_page_set_state(page, PAGE_STATE_ACTIVE); - vm_cache_release_ref(topCacheRef); vm_put_address_space(addressSpace); @@ -3515,6 +3650,7 @@ map->ops->lock(map); map->ops->unmap(map, current->base + newSize, current->base + oldSize - 1); + map->ops->flush(map); map->ops->unlock(map); } } Modified: haiku/trunk/src/system/kernel/vm/vm_cache.c =================================================================== --- haiku/trunk/src/system/kernel/vm/vm_cache.c 2007-02-01 08:21:44 UTC (rev 20027) +++ haiku/trunk/src/system/kernel/vm/vm_cache.c 2007-02-01 12:12:54 UTC (rev 20028) @@ -108,6 +108,7 @@ cache->temporary = 0; cache->scan_skip = 0; cache->page_count = 0; + cache->busy = false; // connect the store to its cache cache->store = store; @@ -178,7 +179,29 @@ // on the initial one (this is vnode specific) if (cacheRef->cache->store->ops->release_ref) cacheRef->cache->store->ops->release_ref(cacheRef->cache->store); - +#if 0 +{ + // count min references to see if everything is okay + int32 min = 0; + vm_area *a; + vm_cache *c; + bool locked = false; + if (cacheRef->lock.holder != find_thread(NULL)) { + mutex_lock(&cacheRef->lock); + locked = true; + } + for (a = cacheRef->areas; a != NULL; a = a->cache_next) + min++; + for (c = NULL; (c = list_get_next_item(&cacheRef->cache->consumers, c)) != NULL; ) + min++; +dprintf("! %ld release cache_ref %p, ref_count is now %ld (min %ld, called from %p)\n", find_thread(NULL), cacheRef, cacheRef->ref_count, + min, ((struct stack_frame *)x86_read_ebp())->return_address); + if (cacheRef->ref_count < min) + panic("cache_ref %p has too little ref_count!!!!", cacheRef); + if (locked) + mutex_unlock(&cacheRef->lock); +} +#endif return; } @@ -205,6 +228,8 @@ acquire_spinlock(&sPageCacheTableLock); hash_remove(sPageCacheTable, oldPage); + oldPage->cache = NULL; + // TODO: we also need to remove all of the page's mappings! release_spinlock(&sPageCacheTableLock); restore_interrupts(state); @@ -451,6 +476,7 @@ if (merge) { // But since we need to keep the locking order upper->lower cache, we // need to unlock our cache now + cache->busy = true; mutex_unlock(&cacheRef->lock); mutex_lock(&consumerRef->lock); @@ -465,7 +491,9 @@ || cache->consumers.link.next != cache->consumers.link.prev || consumer != list_get_first_item(&cache->consumers)) { merge = false; + cache->busy = false; mutex_unlock(&consumerRef->lock); + vm_cache_release_ref(consumerRef); } } @@ -480,42 +508,42 @@ for (page = cache->page_list; page != NULL; page = nextPage) { nextPage = page->cache_next; - vm_cache_remove_page(cacheRef, page); if (vm_cache_lookup_page(consumerRef, - (off_t)page->cache_offset << PAGE_SHIFT) != NULL) { - // the page already is in the consumer cache - this copy is no - // longer needed, and can be freed - vm_page_set_state(page, PAGE_STATE_FREE); - continue; + (off_t)page->cache_offset << PAGE_SHIFT) == NULL) { + // the page already is not yet in the consumer cache - move it upwards + vm_cache_remove_page(cacheRef, page); + vm_cache_insert_page(consumerRef, page, + (off_t)page->cache_offset << PAGE_SHIFT); } - // move the page into the consumer cache - vm_cache_insert_page(consumerRef, page, - (off_t)page->cache_offset << PAGE_SHIFT); + // TODO: if we'd remove the pages in the cache, we'd also + // need to remove all of their mappings! } newSource = cache->source; - if (newSource != NULL) { - // The remaining consumer has gotten a new source - mutex_lock(&newSource->ref->lock); - list_remove_item(&newSource->consumers, cache); - list_add_item(&newSource->consumers, consumer); - consumer->source = newSource; - cache->source = NULL; + // The remaining consumer has gotten a new source + mutex_lock(&newSource->ref->lock); - mutex_unlock(&newSource->ref->lock); + list_remove_item(&newSource->consumers, cache); + list_add_item(&newSource->consumers, consumer); + consumer->source = newSource; + cache->source = NULL; - // Release the other reference to the cache - we take over - // its reference of its source cache; we can do this here - // (with the cacheRef locked) since we own another reference - // from the first consumer we removed - vm_cache_release_ref(cacheRef); - } + mutex_unlock(&newSource->ref->lock); + + // Release the other reference to the cache - we take over + // its reference of its source cache; we can do this here + // (with the cacheRef locked) since we own another reference + // from the first consumer we removed +if (cacheRef->ref_count < 2) +panic("cacheRef %p ref count too low!\n", cacheRef); + vm_cache_release_ref(cacheRef); + mutex_unlock(&consumerRef->lock); + vm_cache_release_ref(consumerRef); } - vm_cache_release_ref(consumerRef); } mutex_unlock(&cacheRef->lock); From revol at free.fr Thu Feb 1 14:48:16 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Thu, 01 Feb 2007 14:48:16 +0100 CET Subject: [Haiku-commits] =?windows-1252?q?r20023_-_haiku/trunk/src/system/?= =?windows-1252?q?libroot/posix/sys?= In-Reply-To: <2204776875-BeMail@zon> Message-ID: <342630369-BeMail@laptop> > Ingo Weinhold wrote: > > On 2007-01-30 at 23:30:02 [+0100], phoudoin at BerliOS > > wrote: > > > Author: phoudoin > > > Date: 2007-01-30 23:30:01 +0100 (Tue, 30 Jan 2007) > > > New Revision: 20023 > > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20023&view=rev > > > > > > Modified: > > > haiku/trunk/src/system/libroot/posix/sys/uname.c > > > Log: > > > Added forgotten space between kernel build date and time. > > > Also prepare uname to return the build SVN revision number, > > > which will work only if I could figure out how to define it from > > > Jamfile. > > > Or, better, in build/jam/BuildSetup. > > With a macro this won't work at all, I'm afraid. You could do > > something > > similar to what is done in src/apps/abouthaiku/Jamfile (or reuse > > it), > > but I > > don't think anyone wants libroot.so depend on an "Always" target. > > Neither the kernel, btw :-) > But since we have a special Jam anyway, we could theoretically also > add > a variable that contains the SVN revision by default. Or put it in configure to limit that to official builds ? Could we get configure also check the amount of RAM and enable -pipe ? Fran?ois. From axeld at mail.berlios.de Thu Feb 1 17:08:02 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Thu, 1 Feb 2007 17:08:02 +0100 Subject: [Haiku-commits] r20029 - in haiku/trunk: headers/os/app src/kits/app Message-ID: <200702011608.l11G82DY009618@sheep.berlios.de> Author: axeld Date: 2007-02-01 17:08:01 +0100 (Thu, 01 Feb 2007) New Revision: 20029 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20029&view=rev Modified: haiku/trunk/headers/os/app/Handler.h haiku/trunk/src/kits/app/Handler.cpp Log: * The BHandler observer mechanism was completely broken in Haiku for remote targets; this fixes bug #1005. As a result, the Disks icon will now appear in file panels when you change that setting with a panel open. * _ObserverList is now in the BPrivate namespace (and renamed to ObserverList). * its BHandler map is now only temporarily used for handlers that do not belong to a looper yet; when BHandler::SendNotices() is called, they will be transferred into the BMessenger map. * Invalid messengers are now removed from the map when encountered. * Added TODO comments about a possible reference counting if a handler is added twice to a list (right now, this will be ignored). * All {Start|Stop}Watching() methods are now more or less safe to be used in low memory situations (adding some items to the map can still throw an exception...). * Renamed BHandler::InitData() to _InitData(). * Some refactoring and cleanup. Modified: haiku/trunk/headers/os/app/Handler.h =================================================================== --- haiku/trunk/headers/os/app/Handler.h 2007-02-01 12:12:54 UTC (rev 20028) +++ haiku/trunk/headers/os/app/Handler.h 2007-02-01 16:08:01 UTC (rev 20029) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006, Haiku Inc. All Rights Reserved. + * Copyright 2001-2007, Haiku Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -17,12 +17,14 @@ class BMessageFilter; class BMessage; class BList; -class _ObserverList; #define B_OBSERVE_WHAT_CHANGE "be:observe_change_what" #define B_OBSERVE_ORIGINAL_WHAT "be:observe_orig_what" const uint32 B_OBSERVER_OBSERVE_ALL = 0xffffffff; +namespace BPrivate { + class ObserverList; +} class BHandler : public BArchivable { public: @@ -53,31 +55,29 @@ void UnlockLooper(); // Scripting - virtual BHandler* ResolveSpecifier(BMessage* msg, - int32 index, - BMessage* specifier, - int32 form, - const char* property); + virtual BHandler* ResolveSpecifier(BMessage* msg, int32 index, + BMessage* specifier, int32 form, + const char* property); virtual status_t GetSupportedSuites(BMessage* data); // Observer calls, inter-looper and inter-team - status_t StartWatching(BMessenger, uint32 what); - status_t StartWatchingAll(BMessenger); - status_t StopWatching(BMessenger, uint32 what); - status_t StopWatchingAll(BMessenger); + status_t StartWatching(BMessenger target, uint32 what); + status_t StartWatchingAll(BMessenger target); + status_t StopWatching(BMessenger target, uint32 what); + status_t StopWatchingAll(BMessenger target); - // Observer calls for observing targets in the same BLooper - status_t StartWatching(BHandler* , uint32 what); - status_t StartWatchingAll(BHandler* ); - status_t StopWatching(BHandler* , uint32 what); - status_t StopWatchingAll(BHandler* ); + // Observer calls for observing targets in the local team + status_t StartWatching(BHandler* observer, uint32 what); + status_t StartWatchingAll(BHandler* observer); + status_t StopWatching(BHandler* observer, uint32 what); + status_t StopWatchingAll(BHandler* observer); // Reserved virtual status_t Perform(perform_code d, void* arg); // Notifier calls - virtual void SendNotices(uint32 what, const BMessage* = 0); + virtual void SendNotices(uint32 what, const BMessage* notice = NULL); bool IsWatched() const; private: @@ -90,18 +90,19 @@ virtual void _ReservedHandler3(); virtual void _ReservedHandler4(); - void InitData(const char* name); + void _InitData(const char* name); + BPrivate::ObserverList* _ObserverList(); BHandler(const BHandler&); BHandler& operator=(const BHandler&); - void SetLooper(BLooper* loop); + void SetLooper(BLooper* looper); int32 fToken; char* fName; BLooper* fLooper; BHandler* fNextHandler; BList* fFilters; - _ObserverList* fObserverList; + BPrivate::ObserverList* fObserverList; uint32 _reserved[3]; }; Modified: haiku/trunk/src/kits/app/Handler.cpp =================================================================== --- haiku/trunk/src/kits/app/Handler.cpp 2007-02-01 12:12:54 UTC (rev 20028) +++ haiku/trunk/src/kits/app/Handler.cpp 2007-02-01 16:08:01 UTC (rev 20029) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006, Haiku. + * Copyright 2001-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -29,8 +30,13 @@ using BPrivate::gDefaultTokens; -static const char *kArchiveNameField = "_name"; +static const char* kArchiveNameField = "_name"; +static const uint32 kMsgStartObserving = '_OBS'; +static const uint32 kMsgStopObserving = '_OBP'; +static const char* kObserveTarget = "be:observe_target"; + + static property_info sHandlerPropInfo[] = { { "Suites", // name @@ -82,29 +88,36 @@ bool FilterDeleter(void *filter); -typedef map > THandlerObserverMap; -typedef map > TMessengerObserverMap; +namespace BPrivate { -//------------------------------------------------------------------------------ -// TODO: Change to BPrivate::BObserverList if possible -class _ObserverList { +class ObserverList { public: - _ObserverList(void); - ~_ObserverList(void); + ObserverList(); + ~ObserverList(); - status_t SendNotices(unsigned long, BMessage const *); - status_t StartObserving(BHandler *, unsigned long); - status_t StartObserving(const BMessenger&, unsigned long); - status_t StopObserving(BHandler *, unsigned long); - status_t StopObserving(const BMessenger&, unsigned long); + status_t SendNotices(uint32 what, const BMessage* notice); + status_t Add(const BHandler* handler, uint32 what); + status_t Add(const BMessenger& messenger, uint32 what); + status_t Remove(const BHandler* handler, uint32 what); + status_t Remove(const BMessenger& messenger, uint32 what); bool IsEmpty(); private: - THandlerObserverMap fHandlerMap; - TMessengerObserverMap fMessengerMap; + typedef map > HandlerObserverMap; + typedef map > MessengerObserverMap; + + void _ValidateHandlers(uint32 what); + void _SendNotices(uint32 what, BMessage* notice); + + HandlerObserverMap fHandlerMap; + MessengerObserverMap fMessengerMap; }; +} // namespace BPrivate +using namespace BPrivate; + + // #pragma mark - @@ -112,7 +125,7 @@ : BArchivable(), fName(NULL) { - InitData(name); + _InitData(name); } @@ -144,7 +157,7 @@ if (data) data->FindString(kArchiveNameField, &name); - InitData(name); + _InitData(name); } @@ -175,8 +188,25 @@ BMessage reply(B_REPLY); switch (message->what) { - // ToDo: am I missing something or is the "observed" stuff handshake completely missing? + case kMsgStartObserving: + case kMsgStopObserving: + { + BMessenger target; + uint32 what; + if (message->FindMessenger(kObserveTarget, &target) != B_OK + || message->FindInt32(B_OBSERVE_WHAT_CHANGE, (int32*)&what) != B_OK) + break; + ObserverList* list = _ObserverList(); + if (list != NULL) { + if (message->what == kMsgStartObserving) + list->Add(target, what); + else + list->Remove(target, what); + } + break; + } + case B_GET_PROPERTY: { int32 cur; @@ -479,59 +509,67 @@ status_t -BHandler::StartWatching(BMessenger messenger, uint32 what) +BHandler::StartWatching(BMessenger target, uint32 what) { - if (fObserverList == NULL) - fObserverList = new _ObserverList; - return fObserverList->StartObserving(messenger, what); + BMessage message(kMsgStartObserving); + message.AddMessenger(kObserveTarget, this); + message.AddInt32(B_OBSERVE_WHAT_CHANGE, what); + + return target.SendMessage(&message); } status_t -BHandler::StartWatchingAll(BMessenger messenger) +BHandler::StartWatchingAll(BMessenger target) { - return StartWatching(messenger, B_OBSERVER_OBSERVE_ALL); + return StartWatching(target, B_OBSERVER_OBSERVE_ALL); } status_t -BHandler::StopWatching(BMessenger messenger, uint32 what) +BHandler::StopWatching(BMessenger target, uint32 what) { - if (fObserverList == NULL) - fObserverList = new _ObserverList; - return fObserverList->StopObserving(messenger, what); + BMessage message(kMsgStopObserving); + message.AddMessenger(kObserveTarget, this); + message.AddInt32(B_OBSERVE_WHAT_CHANGE, what); + + return target.SendMessage(&message); } status_t -BHandler::StopWatchingAll(BMessenger messenger) +BHandler::StopWatchingAll(BMessenger target) { - return StopWatching(messenger, B_OBSERVER_OBSERVE_ALL); + return StopWatching(target, B_OBSERVER_OBSERVE_ALL); } status_t -BHandler::StartWatching(BHandler *handler, uint32 what) +BHandler::StartWatching(BHandler* handler, uint32 what) { - if (fObserverList == NULL) - fObserverList = new _ObserverList; - return fObserverList->StartObserving(handler, what); + ObserverList* list = _ObserverList(); + if (list == NULL) + return B_NO_MEMORY; + + return list->Add(handler, what); } status_t -BHandler::StartWatchingAll(BHandler *handler) +BHandler::StartWatchingAll(BHandler* handler) { return StartWatching(handler, B_OBSERVER_OBSERVE_ALL); } status_t -BHandler::StopWatching(BHandler *handler, uint32 what) +BHandler::StopWatching(BHandler* handler, uint32 what) { - if (fObserverList == NULL) - fObserverList = new _ObserverList; - return fObserverList->StopObserving(handler, what); + ObserverList* list = _ObserverList(); + if (list == NULL) + return B_NO_MEMORY; + + return list->Remove(handler, what); } @@ -565,7 +603,7 @@ void -BHandler::InitData(const char *name) +BHandler::_InitData(const char *name) { SetName(name); @@ -578,6 +616,16 @@ } +ObserverList* +BHandler::_ObserverList() +{ + if (fObserverList == NULL) + fObserverList = new (std::nothrow) BPrivate::ObserverList(); + + return fObserverList; +} + + BHandler::BHandler(const BHandler &) { // No copy construction allowed. @@ -618,73 +666,92 @@ // #pragma mark - -_ObserverList::_ObserverList(void) +ObserverList::ObserverList() { } -_ObserverList::~_ObserverList(void) +ObserverList::~ObserverList() { } -status_t -_ObserverList::SendNotices(unsigned long what, BMessage const *message) +void +ObserverList::_ValidateHandlers(uint32 what) { - // Having to new a temporary is really irritating ... - BMessage *copyMsg = NULL; - if (message) { - copyMsg = new BMessage(*message); - copyMsg->what = B_OBSERVER_NOTICE_CHANGE; - copyMsg->AddInt32(B_OBSERVE_ORIGINAL_WHAT, message->what); - } else - copyMsg = new BMessage(B_OBSERVER_NOTICE_CHANGE); + vector& handlers = fHandlerMap[what]; + vector::iterator iterator = handlers.begin(); - copyMsg->AddInt32(B_OBSERVE_WHAT_CHANGE, what); + for (; iterator != handlers.end(); iterator++) { + BMessenger target(*iterator); + if (!target.IsValid()) + continue; - vector &handlers = fHandlerMap[what]; - for (uint32 i = 0; i < handlers.size(); ++i) { - BMessenger msgr(handlers[i]); - msgr.SendMessage(copyMsg); + handlers.erase(iterator); + Add(target, what); } +} - vector &messengers = fMessengerMap[what]; - for (uint32 i = 0; i < messengers.size(); ++i) - messengers[i].SendMessage(copyMsg); - // We have to send the message also to the handlers - // and messengers which were subscribed to ALL events, - // since they aren't caught by the above loops. - // TODO: cleanup - vector &handlersAll = fHandlerMap[B_OBSERVER_OBSERVE_ALL]; - for (uint32 i = 0; i < handlersAll.size(); ++i) { - BMessenger msgr(handlersAll[i]); - msgr.SendMessage(copyMsg); +void +ObserverList::_SendNotices(uint32 what, BMessage* message) +{ + // first iterate over the list of handlers and try to make valid messengers out of them + _ValidateHandlers(what); + + // now send it to all messengers we know + vector& messengers = fMessengerMap[what]; + vector::iterator iterator = messengers.begin(); + + for (; iterator != messengers.end(); iterator++) { + if (!(*iterator).IsValid()) { + messengers.erase(iterator); + continue; + } + + (*iterator).SendMessage(message); } - - vector &messengersAll = fMessengerMap[B_OBSERVER_OBSERVE_ALL]; - for (uint32 i = 0; i < messengersAll.size(); ++i) - messengers[i].SendMessage(copyMsg); - - // Gotta make sure to clean up the annoying temporary ... - delete copyMsg; +} + +status_t +ObserverList::SendNotices(uint32 what, const BMessage* message) +{ + BMessage *copy = NULL; + if (message) { + copy = new BMessage(*message); + copy->what = B_OBSERVER_NOTICE_CHANGE; + copy->AddInt32(B_OBSERVE_ORIGINAL_WHAT, message->what); + } else + copy = new BMessage(B_OBSERVER_NOTICE_CHANGE); + + copy->AddInt32(B_OBSERVE_WHAT_CHANGE, what); + + _SendNotices(what, copy); + _SendNotices(B_OBSERVER_OBSERVE_ALL, copy); + + delete copy; return B_OK; } status_t -_ObserverList::StartObserving(BHandler *handler, unsigned long what) +ObserverList::Add(const BHandler *handler, uint32 what) { if (handler == NULL) return B_BAD_HANDLER; - vector &handlers = fHandlerMap[what]; + // if this handler already represents a valid target, add its messenger + BMessenger target(handler); + if (target.IsValid()) + return Add(target, what); - vector::iterator iter; + vector &handlers = fHandlerMap[what]; + + vector::iterator iter; iter = find(handlers.begin(), handlers.end(), handler); if (iter != handlers.end()) { - // TODO: verify + // TODO: do we want to have a reference count for this? return B_OK; } @@ -694,15 +761,14 @@ status_t -_ObserverList::StartObserving(const BMessenger &messenger, - unsigned long what) +ObserverList::Add(const BMessenger &messenger, uint32 what) { vector &messengers = fMessengerMap[what]; vector::iterator iter; iter = find(messengers.begin(), messengers.end(), messenger); if (iter != messengers.end()) { - // TODO: verify + // TODO: do we want to have a reference count for this? return B_OK; } @@ -712,14 +778,19 @@ status_t -_ObserverList::StopObserving(BHandler *handler, unsigned long what) +ObserverList::Remove(const BHandler *handler, uint32 what) { if (handler == NULL) return B_BAD_HANDLER; - vector &handlers = fHandlerMap[what]; + // look into the list of messengers + BMessenger target(handler); + if (target.IsValid() && Remove(target, what) == B_OK) + return B_OK; - vector::iterator iter; + vector &handlers = fHandlerMap[what]; + + vector::iterator iter; iter = find(handlers.begin(), handlers.end(), handler); if (iter != handlers.end()) { handlers.erase(iter); @@ -734,14 +805,8 @@ status_t -_ObserverList::StopObserving(const BMessenger &messenger, - unsigned long what) +ObserverList::Remove(const BMessenger &messenger, uint32 what) { - // ???: What if you call StartWatching(MyMsngr, aWhat) and then call - // StopWatchingAll(MyMsnger)? Will MyMsnger be removed from the aWhat - // watcher list? For now, we'll assume that they're discreet lists - // which do no cross checking; i.e., MyMsnger would *not* be removed in - // this scenario. vector &messengers = fMessengerMap[what]; vector::iterator iter; @@ -759,7 +824,7 @@ bool -_ObserverList::IsEmpty() +ObserverList::IsEmpty() { return fHandlerMap.empty() && fMessengerMap.empty(); } From axeld at pinc-software.de Thu Feb 1 17:11:42 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Thu, 01 Feb 2007 17:11:42 +0100 CET Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <342630369-BeMail@laptop> Message-ID: <17843948283-BeMail@zon> "Fran?ois Revol" wrote: > > Neither the kernel, btw :-) > > But since we have a special Jam anyway, we could theoretically also > > add a variable that contains the SVN revision by default. > Or put it in configure to limit that to official builds ? This would at least be another option; but also one possible source for unneccesary human errors :-) > Could we get configure also check the amount of RAM and enable -pipe > ? That sounds like a good idea, too. Dunno how to do this best, though, maybe some awk/sed trickery with sysinfo. Bye, Axel. From leavengood at gmail.com Thu Feb 1 20:47:47 2007 From: leavengood at gmail.com (Ryan Leavengood) Date: Thu, 01 Feb 2007 11:47:47 -0800 (PST) Subject: [Haiku-commits] =?windows-1252?q?r20023_-_haiku/trunk/src/system/?= =?windows-1252?q?libroot/posix/sys?= In-Reply-To: <17843948283-BeMail@zon> Message-ID: <45c243e3.5f8e977f.3981.ffffc0bc@mx.google.com> Axel D?rfler wrote: > > That sounds like a good idea, too. Dunno how to do this best, though, > maybe some awk/sed trickery with sysinfo. mem_free=`sysinfo | grep "bytes free" | cut -d " " -f 1` echo Free memory: $mem_free if [ $mem_free -gt 30000000 ]; then echo "Free memory is greater than 30000000" fi Replace 30000000 with whatever number makes sense. Ryan From laplace at mail.berlios.de Thu Feb 1 21:39:22 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Thu, 1 Feb 2007 21:39:22 +0100 Subject: [Haiku-commits] r20030 - in haiku/trunk/src: preferences/print servers/print Message-ID: <200702012039.l11KdMxe006108@sheep.berlios.de> Author: laplace Date: 2007-02-01 21:39:20 +0100 (Thu, 01 Feb 2007) New Revision: 20030 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20030&view=rev Modified: haiku/trunk/src/preferences/print/PrinterListView.cpp haiku/trunk/src/preferences/print/PrinterListView.h haiku/trunk/src/servers/print/PrintServerApp.R5.cpp haiku/trunk/src/servers/print/PrintServerApp.cpp haiku/trunk/src/servers/print/PrintServerApp.h Log: Fix bug #1004. The directory B_USER_PRINTERS_DIRECTORY does not exist in haiku.image. It is now created when print_server or the Printers preflet is started. Applied coding style. "Flattened" some nested if statements. Modified: haiku/trunk/src/preferences/print/PrinterListView.cpp =================================================================== --- haiku/trunk/src/preferences/print/PrinterListView.cpp 2007-02-01 16:08:01 UTC (rev 20029) +++ haiku/trunk/src/preferences/print/PrinterListView.cpp 2007-02-01 20:39:20 UTC (rev 20030) @@ -44,41 +44,43 @@ // Implementation of PrinterListView PrinterListView::PrinterListView(BRect frame) - : Inherited(frame, "printers_list", B_SINGLE_SELECTION_LIST, B_FOLLOW_ALL) - , fFolder(NULL) + : Inherited(frame, "printers_list", B_SINGLE_SELECTION_LIST, B_FOLLOW_ALL), + fFolder(NULL) { } -void PrinterListView::BuildPrinterList() { - // clear list + +void +PrinterListView::BuildPrinterList() +{ + // clear list const BListItem** items = Items(); - for (int32 i = CountItems()-1; i >= 0; i --) { + for (int32 i = CountItems()-1; i >= 0; i --) delete items[i]; - } MakeEmpty(); - - // TODO: Fixup situation in which PrintServer is not running - BEntry entry; - status_t rc; + + // Find directory containing printer definition nodes BPath path; - - // Find directory containing printer definition nodes - if ((rc=::find_directory(B_USER_PRINTERS_DIRECTORY, &path)) == B_OK) { - BDirectory dir(path.Path()); + status_t rc = ::find_directory(B_USER_PRINTERS_DIRECTORY, &path); + if (rc != B_OK) + return; + + BDirectory dir(path.Path()); + rc = dir.InitCheck(); + if (rc != B_OK) + return; - // Can we reach the directory? - if ((rc = dir.InitCheck()) == B_OK) { - fNode = dir; - // Yes, so loop over it's entries - while((rc = dir.GetNextEntry(&entry)) == B_OK) { - BDirectory printer(&entry); - AddPrinter(printer); - } - } + fNode = dir; + BEntry entry; + while(dir.GetNextEntry(&entry) == B_OK) { + BDirectory printer(&entry); + AddPrinter(printer); } } -void PrinterListView::AttachedToWindow() + +void +PrinterListView::AttachedToWindow() { Inherited::AttachedToWindow(); @@ -86,18 +88,25 @@ SetInvocationMessage(new BMessage(MSG_MKDEF_PRINTER)); SetTarget(Window()); + BPath path; + bool hasPrintersDirectory = find_directory(B_USER_PRINTERS_DIRECTORY, &path) == B_OK; + + if (hasPrintersDirectory) { + create_directory(path.Path(), 0777); + // directory has to exist in order to start watching it + } + BuildPrinterList(); - // Select active printer + // Select active printer for (int32 i = 0; i < CountItems(); i ++) { PrinterItem* item = dynamic_cast(ItemAt(i)); - if (item->IsActivePrinter()) { + if (item != NULL && item->IsActivePrinter()) { Select(i); break; } } - BPath path; - if (find_directory(B_USER_PRINTERS_DIRECTORY, &path) == B_OK) { + if (hasPrintersDirectory) { BDirectory dir(path.Path()); if (dir.InitCheck() == B_OK) { fFolder = new FolderWatcher(this->Window(), dir, true); @@ -106,12 +115,18 @@ } } -bool PrinterListView::QuitRequested() { + +bool +PrinterListView::QuitRequested() +{ delete fFolder; fFolder = NULL; return true; } -void PrinterListView::AddPrinter(BDirectory& printer) { + +void +PrinterListView::AddPrinter(BDirectory& printer) +{ BString state; node_ref node; // If the entry is a directory @@ -132,7 +147,9 @@ } } -PrinterItem* PrinterListView::FindItem(node_ref* node) { + +PrinterItem* PrinterListView::FindItem(node_ref* node) +{ for (int32 i = CountItems()-1; i >= 0; i --) { PrinterItem* item = dynamic_cast(ItemAt(i)); node_ref ref; @@ -143,12 +160,17 @@ return NULL; } -void PrinterListView::EntryCreated(node_ref* node, entry_ref* entry) { + +void +PrinterListView::EntryCreated(node_ref* node, entry_ref* entry) +{ BDirectory printer(node); AddPrinter(printer); } -void PrinterListView::EntryRemoved(node_ref* node) { + +void PrinterListView::EntryRemoved(node_ref* node) +{ PrinterItem* item = FindItem(node); if (item) { RemoveItem(item); @@ -156,51 +178,56 @@ } } -void PrinterListView::AttributeChanged(node_ref* node) { +void +PrinterListView::AttributeChanged(node_ref* node) +{ BDirectory printer(node); AddPrinter(printer); } -void PrinterListView::UpdateItem(PrinterItem* item) { +void +PrinterListView::UpdateItem(PrinterItem* item) +{ item->UpdatePendingJobs(); InvalidateItem(IndexOf(item)); } -PrinterItem* PrinterListView::SelectedItem() { +PrinterItem* PrinterListView::SelectedItem() +{ BListItem* item = ItemAt(CurrentSelection()); return dynamic_cast(item); } + BBitmap* PrinterItem::sIcon = NULL; BBitmap* PrinterItem::sSelectedIcon = NULL; + PrinterItem::PrinterItem(PrintersWindow* window, const BDirectory& node) - : BListItem(0, false) - , fFolder(NULL) - , fNode(node) + : BListItem(0, false), + fFolder(NULL), + fNode(node) { - if (sIcon == NULL) - { + if (sIcon == NULL) { sIcon = new BBitmap(BRect(0,0,B_LARGE_ICON-1,B_LARGE_ICON-1), B_CMAP8); BMimeType type(PSRV_PRINTER_FILETYPE); type.GetIcon(sIcon, B_LARGE_ICON); } - if (sSelectedIcon == NULL) - { + if (sSelectedIcon == NULL) { sSelectedIcon = new BBitmap(BRect(0,0,B_LARGE_ICON-1,B_LARGE_ICON-1), B_CMAP8); BMimeType type(PRNT_SIGNATURE_TYPE); type.GetIcon(sSelectedIcon, B_LARGE_ICON); } - // Get Name of printer + // Get Name of printer GetStringProperty(PSRV_PRINTER_ATTR_PRT_NAME, fName); GetStringProperty(PSRV_PRINTER_ATTR_COMMENTS, fComments); GetStringProperty(PSRV_PRINTER_ATTR_TRANSPORT, fTransport); GetStringProperty(PSRV_PRINTER_ATTR_DRV_NAME, fDriverName); BPath path; - // Setup spool folder + // Setup spool folder if (find_directory(B_USER_PRINTERS_DIRECTORY, &path) == B_OK) { path.Append(fName.String()); BDirectory dir(path.Path()); @@ -210,16 +237,22 @@ UpdatePendingJobs(); } -PrinterItem::~PrinterItem() { + +PrinterItem::~PrinterItem() +{ delete fFolder; fFolder = NULL; } -void PrinterItem::GetStringProperty(const char* propName, BString& outString) + +void +PrinterItem::GetStringProperty(const char* propName, BString& outString) { fNode.ReadAttrString(propName, &outString); } -void PrinterItem::Update(BView *owner, const BFont *font) + +void +PrinterItem::Update(BView *owner, const BFont *font) { BListItem::Update(owner,font); @@ -229,6 +262,7 @@ SetHeight( (height.ascent+height.descent+height.leading) * 3.0 +4 ); } + bool PrinterItem::Remove(BListView* view) { BMessenger msgr; @@ -247,104 +281,113 @@ return false; } + void PrinterItem::DrawItem(BView *owner, BRect /*bounds*/, bool complete) { BListView* list = dynamic_cast(owner); - if (list) - { - font_height height; - BFont font; - owner->GetFont(&font); - font.GetHeight(&height); - float fntheight = height.ascent+height.descent+height.leading; + if (list == NULL) + return; - BRect bounds = list->ItemFrame(list->IndexOf(this)); - - rgb_color color = owner->ViewColor(); - if ( IsSelected() ) - color = tint_color(color, B_HIGHLIGHT_BACKGROUND_TINT); - - rgb_color oldviewcolor = owner->ViewColor(); - rgb_color oldlowcolor = owner->LowColor(); - rgb_color oldcolor = owner->HighColor(); - owner->SetViewColor( color ); - owner->SetHighColor( color ); - owner->SetLowColor( color ); - owner->FillRect(bounds); - owner->SetLowColor( oldlowcolor ); - owner->SetHighColor( oldcolor ); + font_height height; + BFont font; + owner->GetFont(&font); + font.GetHeight(&height); + float fntheight = height.ascent+height.descent+height.leading; - BPoint iconPt = bounds.LeftTop() + BPoint(2,2); - BPoint namePt = iconPt + BPoint(B_LARGE_ICON+8, fntheight); - BPoint driverPt = iconPt + BPoint(B_LARGE_ICON+8, fntheight*2); - BPoint commentPt = iconPt + BPoint(B_LARGE_ICON+8, fntheight*3); - - float width = owner->StringWidth("No pending jobs."); - BPoint pendingPt(bounds.right - width -8, namePt.y); - BPoint transportPt(bounds.right - width -8, driverPt.y); - - drawing_mode mode = owner->DrawingMode(); - owner->SetDrawingMode(B_OP_OVER); - owner->DrawBitmap(IsActivePrinter() ? sSelectedIcon : sIcon, iconPt); - - // left of item - owner->DrawString(fName.String(), fName.Length(), namePt); - owner->DrawString(fDriverName.String(), fDriverName.Length(), driverPt); - owner->DrawString(fComments.String(), fComments.Length(), commentPt); - - // right of item - owner->DrawString(fPendingJobs.String(), 16, pendingPt); - owner->DrawString(fTransport.String(), fTransport.Length(), transportPt); - - owner->SetDrawingMode(mode); + BRect bounds = list->ItemFrame(list->IndexOf(this)); + + rgb_color color = owner->ViewColor(); + if ( IsSelected() ) + color = tint_color(color, B_HIGHLIGHT_BACKGROUND_TINT); + + rgb_color oldviewcolor = owner->ViewColor(); + rgb_color oldlowcolor = owner->LowColor(); + rgb_color oldcolor = owner->HighColor(); + owner->SetViewColor( color ); + owner->SetHighColor( color ); + owner->SetLowColor( color ); + owner->FillRect(bounds); + owner->SetLowColor( oldlowcolor ); + owner->SetHighColor( oldcolor ); - owner->SetViewColor(oldviewcolor); - } + BPoint iconPt = bounds.LeftTop() + BPoint(2,2); + BPoint namePt = iconPt + BPoint(B_LARGE_ICON+8, fntheight); + BPoint driverPt = iconPt + BPoint(B_LARGE_ICON+8, fntheight*2); + BPoint commentPt = iconPt + BPoint(B_LARGE_ICON+8, fntheight*3); + + float width = owner->StringWidth("No pending jobs."); + BPoint pendingPt(bounds.right - width -8, namePt.y); + BPoint transportPt(bounds.right - width -8, driverPt.y); + + drawing_mode mode = owner->DrawingMode(); + owner->SetDrawingMode(B_OP_OVER); + owner->DrawBitmap(IsActivePrinter() ? sSelectedIcon : sIcon, iconPt); + + // left of item + owner->DrawString(fName.String(), fName.Length(), namePt); + owner->DrawString(fDriverName.String(), fDriverName.Length(), driverPt); + owner->DrawString(fComments.String(), fComments.Length(), commentPt); + + // right of item + owner->DrawString(fPendingJobs.String(), 16, pendingPt); + owner->DrawString(fTransport.String(), fTransport.Length(), transportPt); + + owner->SetDrawingMode(mode); + + owner->SetViewColor(oldviewcolor); } -bool PrinterItem::IsActivePrinter() + +bool +PrinterItem::IsActivePrinter() { - bool rc = false; BMessenger msgr; + if (::GetPrinterServerMessenger(msgr) != B_OK) + return false; + + BMessage getNameOfActivePrinter(B_GET_PROPERTY); + getNameOfActivePrinter.AddSpecifier("ActivePrinter"); - if (::GetPrinterServerMessenger(msgr) == B_OK) - { - BMessage reply, getNameOfActivePrinter(B_GET_PROPERTY); - getNameOfActivePrinter.AddSpecifier("ActivePrinter"); - - BString activePrinterName; - if (msgr.SendMessage(&getNameOfActivePrinter, &reply) == B_OK && - reply.FindString("result", &activePrinterName) == B_OK) { - // Compare name of active printer with name of 'this' printer item - rc = (fName == activePrinterName); - } - } - - return rc; + BString activePrinterName; + BMessage reply; + return msgr.SendMessage(&getNameOfActivePrinter, &reply) == B_OK + && reply.FindString("result", &activePrinterName) == B_OK + && fName == activePrinterName; } -bool PrinterItem::HasPendingJobs() { + +bool +PrinterItem::HasPendingJobs() +{ return fFolder && fFolder->CountJobs() > 0; } -SpoolFolder* PrinterItem::Folder() { + +SpoolFolder* PrinterItem::Folder() +{ return fFolder; } -BDirectory* PrinterItem::Node() { + +BDirectory* +PrinterItem::Node() +{ return &fNode; } -void PrinterItem::UpdatePendingJobs() { + +void +PrinterItem::UpdatePendingJobs() +{ if (fFolder) { uint32 pendingJobs = fFolder->CountJobs(); - fPendingJobs = ""; if (pendingJobs == 1) { fPendingJobs = "1 pending job."; + return; } else if (pendingJobs > 1) { fPendingJobs << pendingJobs << " pending jobs.h"; + return; } - if (pendingJobs >= 1) return; } fPendingJobs = "No pending jobs."; } Modified: haiku/trunk/src/preferences/print/PrinterListView.h =================================================================== --- haiku/trunk/src/preferences/print/PrinterListView.h 2007-02-01 16:08:01 UTC (rev 20029) +++ haiku/trunk/src/preferences/print/PrinterListView.h 2007-02-01 20:39:20 UTC (rev 20030) @@ -43,65 +43,67 @@ class PrinterItem; class PrinterListView; -class PrinterListView : public BListView, public FolderListener -{ - typedef BListView Inherited; +class PrinterListView : public BListView, public FolderListener { + private: + typedef BListView Inherited; + + void AddPrinter(BDirectory &printer); + PrinterItem *FindItem(node_ref *node); + + void EntryCreated(node_ref *node, entry_ref *entry); + void EntryRemoved(node_ref *node); + void AttributeChanged(node_ref *node); - BDirectory fNode; - FolderWatcher* fFolder; + public: + PrinterListView(BRect frame); + void AttachedToWindow(); + bool QuitRequested(); - void AddPrinter(BDirectory& printer); - PrinterItem* FindItem(node_ref* node); - - void EntryCreated(node_ref* node, entry_ref* entry); - void EntryRemoved(node_ref* node); - void AttributeChanged(node_ref* node); + void BuildPrinterList(); + PrinterItem *SelectedItem(); + + void UpdateItem(PrinterItem *item); -public: - PrinterListView(BRect frame); - void AttachedToWindow(); - bool QuitRequested(); - - void BuildPrinterList(); - PrinterItem* SelectedItem(); - - void UpdateItem(PrinterItem* item); + private: + BDirectory fNode; + FolderWatcher *fFolder; }; class BBitmap; class PrintersWindow; -class PrinterItem : public BListItem -{ -public: - PrinterItem(PrintersWindow* window, const BDirectory& node/*const BMessenger& thePrinter*/); - ~PrinterItem(); +class PrinterItem : public BListItem { + public: + PrinterItem(PrintersWindow *window, const BDirectory &node); + ~PrinterItem(); + + void DrawItem(BView *owner, BRect bounds, bool complete); + void Update(BView *owner, const BFont *font); + + bool Remove(BListView *view); + bool IsActivePrinter(); + bool HasPendingJobs(); + + const char *Name() const { + return fName.String(); + } + + SpoolFolder *Folder(); + BDirectory *Node(); + void UpdatePendingJobs(); + + private: + void GetStringProperty(const char *propName, BString &outString); - void DrawItem(BView *owner, BRect bounds, bool complete); - void Update(BView *owner, const BFont *font); - - bool Remove(BListView* view); - bool IsActivePrinter(); - bool HasPendingJobs(); - - const char* Name() const - { return fName.String(); } + SpoolFolder *fFolder; + BDirectory fNode; + BString fComments; + BString fTransport; + BString fDriverName; + BString fName; + BString fPendingJobs; - SpoolFolder* Folder(); - BDirectory* Node(); - void UpdatePendingJobs(); - -private: - void GetStringProperty(const char* propName, BString& outString); - - SpoolFolder *fFolder; - BDirectory fNode; - BString fComments; - BString fTransport; - BString fDriverName; - BString fName; - BString fPendingJobs; - static BBitmap* sIcon; - static BBitmap* sSelectedIcon; + static BBitmap *sIcon; + static BBitmap *sSelectedIcon; }; #endif Modified: haiku/trunk/src/servers/print/PrintServerApp.R5.cpp =================================================================== --- haiku/trunk/src/servers/print/PrintServerApp.R5.cpp 2007-02-01 16:08:01 UTC (rev 20029) +++ haiku/trunk/src/servers/print/PrintServerApp.R5.cpp 2007-02-01 20:39:20 UTC (rev 20030) @@ -185,40 +185,6 @@ } break; -#if 0 - // Create a new printer - case PSRV_MAKE_PRINTER: { - BString driverName, transportName, transportPath; - BString printerName, connection; - - if (msg->FindString("driver", &driverName) == B_OK && - msg->FindString("transport", &transportName) == B_OK && - msg->FindString("transport path", &transportPath) == B_OK && - msg->FindString("printer name", &printerName) == B_OK - ) { - - if (msg->FindString("connection", &connection) != B_OK) - connection = "Local"; - - // then create the actual printer - if (CreatePrinter(printerName.String(), driverName.String(), - connection.String(), - transportName.String(), transportPath.String()) == B_OK) { - // If printer was created ok, ask if it needs to be the default - char buffer[256]; - ::sprintf(buffer, "Would you like to make %s the default printer?", - printerName.String()); - - BAlert* alert = new BAlert("", buffer, "No", "Yes"); - if (alert->Go() == 1) { - SelectPrinter(printerName.String()); - } - } - } - } - break; -#endif - case PSRV_SHOW_PAGE_SETUP: case PSRV_SHOW_PRINT_SETUP: case PSRV_GET_DEFAULT_SETTINGS: Modified: haiku/trunk/src/servers/print/PrintServerApp.cpp =================================================================== --- haiku/trunk/src/servers/print/PrintServerApp.cpp 2007-02-01 16:08:01 UTC (rev 20029) +++ haiku/trunk/src/servers/print/PrintServerApp.cpp 2007-02-01 20:39:20 UTC (rev 20030) @@ -12,7 +12,7 @@ #include "Printer.h" #include "pr_server.h" - // BeOS API +// BeOS API #include #include #include @@ -27,9 +27,11 @@ #include #include - // ANSI C -#include //for printf -#include //for unlink +// ANSI C +#include + // for printf +#include + // for unlink BLocker *gLock = NULL; @@ -47,18 +49,13 @@ * * @returns B_OK if application was started, or an errorcode if * application failed to start. - * - * @see your favorite C/C++ textbook :P */ - int -main() +main() { status_t rc = B_OK; gLock = new BLocker(); - // Create our application object PrintServerApp print_server(&rc); - // If all went fine, let's start it if (rc == B_OK) { print_server.Run(); } @@ -76,7 +73,6 @@ * * @see BApplication */ - PrintServerApp::PrintServerApp(status_t* err) : Inherited(PSRV_SIGNATURE_TYPE, err), fSelectedIconMini(NULL), @@ -88,120 +84,128 @@ { fSettings = Settings::GetSettings(); LoadSettings(); - // If our superclass initialized ok - if (*err == B_OK) { - fHasReferences = create_sem(1, "has_references"); + + if (*err != B_OK) + return; - // let us try as well - SetupPrinterList(); - RetrieveDefaultPrinter(); - - fSelectedIconMini = new BBitmap(BRect(0,0,B_MINI_ICON-1,B_MINI_ICON-1), B_CMAP8); - fSelectedIconLarge = new BBitmap(BRect(0,0,B_LARGE_ICON-1,B_LARGE_ICON-1), B_CMAP8); - - // Cache icons for selected printer - BMimeType type(PRNT_SIGNATURE_TYPE); - type.GetIcon(fSelectedIconMini, B_MINI_ICON); - type.GetIcon(fSelectedIconLarge, B_LARGE_ICON); - - // Start handling of spooled files - PostMessage(PSRV_PRINT_SPOOLED_JOB); - } + fHasReferences = create_sem(1, "has_references"); + + SetupPrinterList(); + RetrieveDefaultPrinter(); + + // Cache icons for selected printer + fSelectedIconMini = new BBitmap(BRect(0,0,B_MINI_ICON-1,B_MINI_ICON-1), B_CMAP8); + fSelectedIconLarge = new BBitmap(BRect(0,0,B_LARGE_ICON-1,B_LARGE_ICON-1), B_CMAP8); + BMimeType type(PRNT_SIGNATURE_TYPE); + type.GetIcon(fSelectedIconMini, B_MINI_ICON); + type.GetIcon(fSelectedIconLarge, B_LARGE_ICON); + + PostMessage(PSRV_PRINT_SPOOLED_JOB); + // Start handling of spooled files } -PrintServerApp::~PrintServerApp() { + +PrintServerApp::~PrintServerApp() +{ SaveSettings(); delete fSettings; } -bool PrintServerApp::QuitRequested() + +bool +PrintServerApp::QuitRequested() { + // don't quit when user types Command+Q! BMessage* m = CurrentMessage(); - bool shortcut; - // don't quit when user types Command+Q! - if (m && m->FindBool("shortcut", &shortcut) == B_OK && shortcut) return false; + bool shortcut; + if (m != NULL && m->FindBool("shortcut", &shortcut) == B_OK && shortcut) + return false; - bool rc = Inherited::QuitRequested(); - if (rc) { - delete fFolder; fFolder = NULL; -#if 0 - // Find directory containing printer definition nodes - BPath path; - if (::find_directory(B_USER_PRINTERS_DIRECTORY, &path) == B_OK) { - BEntry entry(path.Path()); - node_ref nref; - if (entry.InitCheck() == B_OK && - entry.GetNodeRef(&nref) == B_OK) { - // Stop watching the printer directory - ::watch_node(&nref, B_STOP_WATCHING, be_app_messenger); - } - } -#endif + if (!Inherited::QuitRequested()) + return false; - // Release all printers - Printer* printer; - while ((printer = Printer::At(0)) != NULL) { - printer->AbortPrintThread(); - UnregisterPrinter(printer); - } + // Stop watching the folder + delete fFolder; fFolder = NULL; - // Wait for printers - if (fHasReferences > 0) { - acquire_sem(fHasReferences); - delete_sem(fHasReferences); - fHasReferences = 0; - } + // Release all printers + Printer* printer; + while ((printer = Printer::At(0)) != NULL) { + printer->AbortPrintThread(); + UnregisterPrinter(printer); + } - ASSERT(fSelectedIconMini != NULL); + // Wait for printers + if (fHasReferences > 0) { + acquire_sem(fHasReferences); + delete_sem(fHasReferences); + fHasReferences = 0; + } - delete fSelectedIconMini; fSelectedIconMini = NULL; - delete fSelectedIconLarge; fSelectedIconLarge = NULL; - } - - return rc; + delete fSelectedIconMini; fSelectedIconMini = NULL; + delete fSelectedIconLarge; fSelectedIconLarge = NULL; + + return true; } -void PrintServerApp::Acquire() { - if (atomic_add(&fReferences, 1) == 0) acquire_sem(fHasReferences); + +void +PrintServerApp::Acquire() +{ + if (atomic_add(&fReferences, 1) == 0) + acquire_sem(fHasReferences); } -void PrintServerApp::Release() { - if (atomic_add(&fReferences, -1) == 1) release_sem(fHasReferences); + +void +PrintServerApp::Release() +{ + if (atomic_add(&fReferences, -1) == 1) + release_sem(fHasReferences); } -void PrintServerApp::RegisterPrinter(BDirectory* printer) { + +void +PrintServerApp::RegisterPrinter(BDirectory* printer) +{ BString transport, address, connection, state; - if (printer->ReadAttrString(PSRV_PRINTER_ATTR_TRANSPORT, &transport) == B_OK && - printer->ReadAttrString(PSRV_PRINTER_ATTR_TRANSPORT_ADDR, &address) == B_OK && - printer->ReadAttrString(PSRV_PRINTER_ATTR_CNX, &connection) == B_OK && - printer->ReadAttrString(PSRV_PRINTER_ATTR_STATE, &state) == B_OK && - state == "free") { + if (printer->ReadAttrString(PSRV_PRINTER_ATTR_TRANSPORT, &transport) == B_OK + && printer->ReadAttrString(PSRV_PRINTER_ATTR_TRANSPORT_ADDR, &address) == B_OK + && printer->ReadAttrString(PSRV_PRINTER_ATTR_CNX, &connection) == B_OK + && printer->ReadAttrString(PSRV_PRINTER_ATTR_STATE, &state) == B_OK + && state == "free") { BAutolock lock(gLock); if (lock.IsLocked()) { - // check if printer is already registered + // check if printer is already registered node_ref node; - Printer* p; - if (printer->GetNodeRef(&node) != B_OK) return; - p = Printer::Find(&node); - if (p != NULL) return; - // register new printer + if (printer->GetNodeRef(&node) != B_OK) + return; + + if (Printer::Find(&node) != NULL) + return; + + // register new printer Resource* r = fResourceManager.Allocate(transport.String(), address.String(), connection.String()); - p = new Printer(printer, r); - AddHandler(p); + AddHandler(new Printer(printer, r)); Acquire(); } } } -void PrintServerApp::UnregisterPrinter(Printer* printer) { + +void +PrintServerApp::UnregisterPrinter(Printer* printer) +{ RemoveHandler(printer); Printer::Remove(printer); printer->Release(); } -void PrintServerApp::NotifyPrinterDeletion(Printer* printer) { + +void +PrintServerApp::NotifyPrinterDeletion(Printer* printer) +{ BAutolock lock(gLock); if (lock.IsLocked()) { fResourceManager.Free(printer->GetResource()); @@ -210,7 +214,9 @@ } -void PrintServerApp::EntryCreated(node_ref* node, entry_ref* entry) { +void +PrintServerApp::EntryCreated(node_ref* node, entry_ref* entry) +{ BEntry printer(entry); if (printer.InitCheck() == B_OK && printer.IsDirectory()) { BDirectory dir(&printer); @@ -218,7 +224,10 @@ } } -void PrintServerApp::EntryRemoved(node_ref* node) { + +void +PrintServerApp::EntryRemoved(node_ref* node) +{ Printer* printer = Printer::Find(node); if (printer) { if (printer == fDefaultPrinter) fDefaultPrinter = NULL; @@ -226,13 +235,17 @@ } } -void PrintServerApp::AttributeChanged(node_ref* node) { + +void +PrintServerApp::AttributeChanged(node_ref* node) +{ BDirectory printer(node); if (printer.InitCheck() == B_OK) { RegisterPrinter(&printer); } } + // --------------------------------------------------------------- // SetupPrinterList // @@ -246,51 +259,45 @@ // Returns: // B_OK if successful, or an errorcode if failed. // --------------------------------------------------------------- -status_t PrintServerApp::SetupPrinterList() +status_t +PrintServerApp::SetupPrinterList() { - BEntry entry; status_t rc; + + // Find directory containing printer definition nodes BPath path; + rc = ::find_directory(B_USER_PRINTERS_DIRECTORY, &path); + if (rc != B_OK) + return rc; - // Find directory containing printer definition nodes - if ((rc=::find_directory(B_USER_PRINTERS_DIRECTORY, &path)) == B_OK) { - BDirectory dir(path.Path()); - - // Can we reach the directory? - if ((rc=dir.InitCheck()) == B_OK) { - // Yes, so loop over it's entries - while((rc=dir.GetNextEntry(&entry)) == B_OK) { - // If the entry is a directory - if (entry.IsDirectory()) { - // Check it's Mime type for a spool director - BDirectory node(&entry); - BNodeInfo info(&node); - char buffer[256]; - - if (info.GetType(buffer) == B_OK && - strcmp(buffer, PSRV_PRINTER_FILETYPE) == 0) { - // Yes, it is a printer definition node - RegisterPrinter(&node); - } - } - } - - - fFolder = new FolderWatcher(this, dir, true); - fFolder->SetListener(this); -#if 0 - // If we scanned all entries successfully - node_ref nref; - if (rc == B_ENTRY_NOT_FOUND && - (rc=dir.GetNodeRef(&nref)) == B_OK) { - // Get node to watch - rc = ::watch_node(&nref, B_WATCH_DIRECTORY, be_app_messenger); - } -#endif + // Directory has to exist in order to watch it + mode_t mode = 0777; + create_directory(path.Path(), mode); + + BDirectory dir(path.Path()); + rc = dir.InitCheck(); + if (rc != B_OK) + return rc; + + // Register printer definition nodes + BEntry entry; + while(dir.GetNextEntry(&entry) == B_OK) { + if (!entry.IsDirectory()) + continue; + + BDirectory node(&entry); + BNodeInfo info(&node); + char buffer[256]; + if (info.GetType(buffer) == B_OK && strcmp(buffer, PSRV_PRINTER_FILETYPE) == 0) { + RegisterPrinter(&node); } } + + // Now we are ready to start node watching + fFolder = new FolderWatcher(this, dir, true); + fFolder->SetListener(this); - return rc; + return B_OK; } // --------------------------------------------------------------- @@ -358,52 +365,57 @@ { [... truncated: 365 lines follow ...] From wkornewald at mail.berlios.de Thu Feb 1 22:36:51 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Thu, 1 Feb 2007 22:36:51 +0100 Subject: [Haiku-commits] r20031 - haiku/trunk/src/preferences/screen Message-ID: <200702012136.l11LapY8010199@sheep.berlios.de> Author: wkornewald Date: 2007-02-01 22:36:50 +0100 (Thu, 01 Feb 2007) New Revision: 20031 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20031&view=rev Modified: haiku/trunk/src/preferences/screen/MonitorView.cpp haiku/trunk/src/preferences/screen/ScreenMode.cpp haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: * Fixed a little bug that caused unnecessary mode changes when pressing Revert. * Fixed compilation under R5. * Made Revert more user-friendly by also allowing to revert settings to the previously active state after having pressed Apply. This only works if you didn't make new changes in the meantime. In that case, only the new changes will be reverted. Modified: haiku/trunk/src/preferences/screen/MonitorView.cpp =================================================================== --- haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-01 20:39:20 UTC (rev 20030) +++ haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-01 21:36:50 UTC (rev 20031) @@ -17,6 +17,14 @@ #include +#ifndef __HAIKU__ +inline bool operator!=(const rgb_color& x, const rgb_color& y) +{ + return (x.red!=y.red || x.blue!=y.blue || x.green!=y.green); +} +#endif + + MonitorView::MonitorView(BRect rect, char *name, int32 width, int32 height) : BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW), fWidth(width), Modified: haiku/trunk/src/preferences/screen/ScreenMode.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenMode.cpp 2007-02-01 20:39:20 UTC (rev 20030) +++ haiku/trunk/src/preferences/screen/ScreenMode.cpp 2007-02-01 21:36:50 UTC (rev 20031) @@ -219,7 +219,7 @@ return B_OK; screen_mode current; - if (Get(current) && fOriginal == current) + if (Get(current) == B_OK && fOriginal == current) return B_OK; BScreen screen(fWindow); Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 20:39:20 UTC (rev 20030) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 21:36:50 UTC (rev 20031) @@ -801,8 +801,11 @@ case POP_RESOLUTION_MSG: { + int32 oldWidth = fSelected.width, oldHeight = fSelected.height; message->FindInt32("width", &fSelected.width); message->FindInt32("height", &fSelected.height); + if (fSelected.width == oldWidth && fSelected.height == oldHeight) + break; CheckColorMenu(); CheckRefreshMenu(); @@ -810,29 +813,44 @@ UpdateMonitorView(); UpdateRefreshControl(); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; } case POP_COLORS_MSG: { + color_space old = fSelected.space; message->FindInt32("space", (int32 *)&fSelected.space); + if (fSelected.space == old) + break; BString string; string << fSelected.BitsPerPixel() << " Bits/Pixel"; fColorsMenu->Superitem()->SetLabel(string.String()); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; } case POP_REFRESH_MSG: + { + float old = fSelected.refresh; message->FindFloat("refresh", &fSelected.refresh); fOtherRefresh->SetLabel("Other" B_UTF8_ELLIPSIS); // revert "Other?" label - it might have had a refresh rate prefix + if (fSelected.refresh == old) + break; + + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; + } case POP_OTHER_REFRESH_MSG: { @@ -856,8 +874,13 @@ { // user pressed "done" in "Other?" refresh dialog; // select the refresh rate chosen + float old = fSelected.refresh; message->FindFloat("refresh", &fSelected.refresh); + if (fSelected.refresh != old) + break; + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); UpdateRefreshControl(); CheckApplyEnabled(); break; @@ -909,6 +932,8 @@ fSelected.use_laptop_panel = false; fSelected.tv_standard = 0; + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); UpdateControls(); break; } @@ -959,7 +984,6 @@ fChangingAllWorkspaces = false; } - fScreenMode.UpdateOriginalMode(); UpdateActiveMode(); break; } @@ -1005,20 +1029,16 @@ bool ScreenWindow::CanApply() const { - if (fAllWorkspacesItem->IsMarked()) - return true; - - return fSelected != fActive; + return fAllWorkspacesItem->IsMarked() || fSelected != fOriginal + || fSelected != fActive; } bool ScreenWindow::CanRevert() const { - if (fActive != fOriginal) - return true; - - return CanApply(); + return (fActive != fOriginal && !fAllWorkspacesItem->IsMarked()) + || fSelected != fActive; } From axeld at pinc-software.de Thu Feb 1 22:43:52 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Thu, 01 Feb 2007 22:43:52 +0100 CET Subject: [Haiku-commits] r20031 - haiku/trunk/src/preferences/screen In-Reply-To: <200702012136.l11LapY8010199@sheep.berlios.de> Message-ID: <37773411978-BeMail@zon> wkornewald at BerliOS wrote: > bool > ScreenWindow::CanApply() const > { > - if (fAllWorkspacesItem->IsMarked()) > - return true; > - > - return fSelected != fActive; > + return fAllWorkspacesItem->IsMarked() || fSelected != fOriginal > + || fSelected != fActive; > } I don't understand this one: why can the mode be applied when the selected mode is the active one (in case it's different from the original mode)? Bye, Axel. From wkornewald at haiku-os.org Thu Feb 1 22:58:01 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Thu, 1 Feb 2007 21:58:01 +0000 Subject: [Haiku-commits] r20031 - haiku/trunk/src/preferences/screen In-Reply-To: <37773411978-BeMail@zon> References: <200702012136.l11LapY8010199@sheep.berlios.de> <37773411978-BeMail@zon> Message-ID: On 2/1/07, Axel D?rfler wrote: > wkornewald at BerliOS wrote: > > bool > > ScreenWindow::CanApply() const > > { > > - if (fAllWorkspacesItem->IsMarked()) > > - return true; > > - > > - return fSelected != fActive; > > + return fAllWorkspacesItem->IsMarked() || fSelected != fOriginal > > + || fSelected != fActive; > > } > > I don't understand this one: why can the mode be applied when the > selected mode is the active one (in case it's different from the > original mode)? Oops, a mistake...thanks for the hint. Bye, Waldemar Kornewald From wkornewald at mail.berlios.de Thu Feb 1 23:12:30 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Thu, 1 Feb 2007 23:12:30 +0100 Subject: [Haiku-commits] r20032 - haiku/trunk/src/preferences/screen Message-ID: <200702012212.l11MCUqa013664@sheep.berlios.de> Author: wkornewald Date: 2007-02-01 23:12:30 +0100 (Thu, 01 Feb 2007) New Revision: 20032 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20032&view=rev Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: Fixed stupid logic mistake. Thanks for noticing, Axel! Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 21:36:50 UTC (rev 20031) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 22:12:30 UTC (rev 20032) @@ -1029,8 +1029,8 @@ bool ScreenWindow::CanApply() const { - return fAllWorkspacesItem->IsMarked() || fSelected != fOriginal - || fSelected != fActive; + return fAllWorkspacesItem->IsMarked() || fSelected != fActive + || (fSelected == fOriginal && fActive != fOriginal); } From wkornewald at mail.berlios.de Thu Feb 1 23:21:35 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Thu, 1 Feb 2007 23:21:35 +0100 Subject: [Haiku-commits] r20033 - haiku/trunk/src/preferences/screen Message-ID: <200702012221.l11MLZgl014133@sheep.berlios.de> Author: wkornewald Date: 2007-02-01 23:21:34 +0100 (Thu, 01 Feb 2007) New Revision: 20033 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20033&view=rev Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: Actually, the check isn't necessary because I'm not copying R5 behavior, anymore...I'm getting tired. :) Maybe I can checkin the Tracker fix, quickly. Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 22:12:30 UTC (rev 20032) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-01 22:21:34 UTC (rev 20033) @@ -1029,8 +1029,7 @@ bool ScreenWindow::CanApply() const { - return fAllWorkspacesItem->IsMarked() || fSelected != fActive - || (fSelected == fOriginal && fActive != fOriginal); + return fAllWorkspacesItem->IsMarked() || fSelected != fActive; } From korli at mail.berlios.de Thu Feb 1 23:27:42 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Thu, 1 Feb 2007 23:27:42 +0100 Subject: [Haiku-commits] r20034 - haiku/trunk/src/bin/m4/lib Message-ID: <200702012227.l11MRgMg014640@sheep.berlios.de> Author: korli Date: 2007-02-01 23:27:42 +0100 (Thu, 01 Feb 2007) New Revision: 20034 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20034&view=rev Modified: haiku/trunk/src/bin/m4/lib/config.h Log: this seems to be needed for gcc 2.95.3 Modified: haiku/trunk/src/bin/m4/lib/config.h =================================================================== --- haiku/trunk/src/bin/m4/lib/config.h 2007-02-01 22:21:34 UTC (rev 20033) +++ haiku/trunk/src/bin/m4/lib/config.h 2007-02-01 22:27:42 UTC (rev 20034) @@ -604,4 +604,4 @@ /* #undef stack_t */ /* Define as a macro for copying va_list variables. */ -/* #undef va_copy */ +#define va_copy gl_va_copy From leavengood at mail.berlios.de Thu Feb 1 23:30:33 2007 From: leavengood at mail.berlios.de (leavengood at BerliOS) Date: Thu, 1 Feb 2007 23:30:33 +0100 Subject: [Haiku-commits] r20035 - in haiku/trunk/src/add-ons/screen_savers: . message Message-ID: <200702012230.l11MUXPk014986@sheep.berlios.de> Author: leavengood Date: 2007-02-01 23:30:32 +0100 (Thu, 01 Feb 2007) New Revision: 20035 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20035&view=rev Added: haiku/trunk/src/add-ons/screen_savers/message/ haiku/trunk/src/add-ons/screen_savers/message/Jamfile haiku/trunk/src/add-ons/screen_savers/message/Message.cpp Modified: haiku/trunk/src/add-ons/screen_savers/Jamfile Log: Another recreation of a favorite BeOS screensaver of mine: Message, originally by Jon Watte. This was a tough but interesting problem. My version still isn't quite as nice as his. I think the color generation could be improved, and I KNOW the x and y placement of the text could be improved. I also think it would be nice to display the full message at the bottom of the screen (similar to ShowImage showing the file type and name in full screen mode.) But this is a good base to work from. Modified: haiku/trunk/src/add-ons/screen_savers/Jamfile =================================================================== --- haiku/trunk/src/add-ons/screen_savers/Jamfile 2007-02-01 22:27:42 UTC (rev 20034) +++ haiku/trunk/src/add-ons/screen_savers/Jamfile 2007-02-01 22:30:32 UTC (rev 20035) @@ -3,4 +3,5 @@ SubInclude HAIKU_TOP src add-ons screen_savers buynow ; SubInclude HAIKU_TOP src add-ons screen_savers haiku ; SubInclude HAIKU_TOP src add-ons screen_savers ifs ; +SubInclude HAIKU_TOP src add-ons screen_savers message ; SubInclude HAIKU_TOP src add-ons screen_savers slideshowsaver ; Added: haiku/trunk/src/add-ons/screen_savers/message/Jamfile =================================================================== --- haiku/trunk/src/add-ons/screen_savers/message/Jamfile 2007-02-01 22:27:42 UTC (rev 20034) +++ haiku/trunk/src/add-ons/screen_savers/message/Jamfile 2007-02-01 22:30:32 UTC (rev 20035) @@ -0,0 +1,13 @@ +SubDir HAIKU_TOP src add-ons screen_savers message ; + +SetSubDirSupportedPlatformsBeOSCompatible ; + +ScreenSaver Message : + Message.cpp : + be libscreensaver.so ; + +Package haiku-screensaverkit-cvs : + Message : + boot home config add-ons Screen\ Savers +; + Added: haiku/trunk/src/add-ons/screen_savers/message/Message.cpp =================================================================== --- haiku/trunk/src/add-ons/screen_savers/message/Message.cpp 2007-02-01 22:27:42 UTC (rev 20034) +++ haiku/trunk/src/add-ons/screen_savers/message/Message.cpp 2007-02-01 22:30:32 UTC (rev 20035) @@ -0,0 +1,221 @@ +/* + * Copyright 2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Ryan Leavengood + */ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +// Double brackets to satisfy a compiler warning +const pattern kCheckered = { { 0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0x33, 0x33 } }; + + +// Get a clever message from fortune +BString *get_message() +{ + BString *result = new BString(); + system("fortune > /tmp/fortune_msg"); + FILE *file = fopen("/tmp/fortune_msg", "r"); + if (file) { + char buf[512]; + int bytesRead; + while (!feof(file)) { + bytesRead = fread(buf, 1, 512, file); + result->Append(buf, bytesRead); + } + fclose(file); + } + remove("/tmp/fortune_msg"); + + // Just in case + if (result->Length() <= 0) { + result->Append("Insert clever anecdote or phrase here!"); + } + + return result; +} + + +// Inspired by the classic BeOS screensaver, of course. +// Thanks to Jon Watte for writing the original. +class Message : public BScreenSaver +{ + public: + Message(BMessage *archive, image_id); + ~Message(); + void Draw(BView *view, int32 frame); + void StartConfig(BView *view); + status_t StartSaver(BView *view, bool preview); + + private: + BList *fFontFamilies; + float fScaleFactor; +}; + + +BScreenSaver *instantiate_screen_saver(BMessage *msg, image_id image) +{ + return new Message(msg, image); +} + + +Message::Message(BMessage *archive, image_id id) + : BScreenSaver(archive, id) +{ +} + + +Message::~Message() +{ + if (fFontFamilies) { + for (int32 i = 0; i < fFontFamilies->CountItems(); i++) { + if (fFontFamilies->ItemAt(i)) + delete ((font_family) fFontFamilies->ItemAt(i)); + } + delete fFontFamilies; + } +} + + +void +Message::StartConfig(BView *view) +{ + view->AddChild(new BStringView(BRect(20, 10, 200, 35), "", "Message, by Ryan Leavengood")); + view->AddChild(new BStringView(BRect(20, 40, 200, 65), "", "Inspired by Jon Watte's Original")); +} + + +status_t +Message::StartSaver(BView *view, bool preview) +{ + // Scale factor is based on the system I developed this on, in + // other words other factors below depend on this. + fScaleFactor = view->Bounds().Height() / 1024; + + // Get font families + int numFamilies = count_font_families(); + fFontFamilies = new BList(); + for (int32 i = 0; i < numFamilies; i++) { + font_family *family = new font_family[1]; + uint32 flags; + if (get_font_family(i, family, &flags) == B_OK) { + // Do not add fixed fonts + if (!(flags & B_IS_FIXED)) + fFontFamilies->AddItem(*family); + } + } + + // Seed the random number generator + srand((int)system_time()); + + // Set tick size to 30,000,000 microseconds = 30 seconds + SetTickSize(30000000); + + return B_OK; +} + + +void +Message::Draw(BView *view, int32 frame) +{ + // Double-buffered drawing + BScreen screen; + BBitmap buffer(view->Bounds(), screen.ColorSpace(), true); + BView offscreen(view->Bounds(), NULL, 0, 0); + buffer.AddChild(&offscreen); + buffer.Lock(); + + // Set up the colors + rgb_color base_color = {rand() % 25, rand() % 25, rand() % 25}; + offscreen.SetHighColor(base_color); + offscreen.SetLowColor(tint_color(base_color, 0.815F)); + offscreen.FillRect(offscreen.Bounds(), kCheckered); + rgb_color colors[8] = { + tint_color(base_color, B_LIGHTEN_1_TINT), + tint_color(base_color, 0.795F), + tint_color(base_color, 0.851F), + tint_color(base_color, 0.926F), + tint_color(base_color, 1.05F), + tint_color(base_color, B_DARKEN_1_TINT), + tint_color(base_color, B_DARKEN_2_TINT), + tint_color(base_color, B_DARKEN_3_TINT), + }; + + // Set the basic font parameters, including random font family + BFont font; + offscreen.GetFont(&font); + font.SetFlags(B_DISABLE_ANTIALIASING); + font.SetFace(B_BOLD_FACE); + font.SetFamilyAndStyle((font_family) fFontFamilies->ItemAt(rand() % fFontFamilies->CountItems()), NULL); + offscreen.SetFont(&font); + + // Get the message + // TODO: Display the whole message at the bottom of the screen + // in a translucent rect + BString *message = get_message(); + // Replace newlines and tabs with spaces + message->ReplaceSet("\n\t", ' '); + + int height = (int) offscreen.Bounds().Height(); + int width = (int) offscreen.Bounds().Width(); + + // From 8 to 16 iterations + int32 iterations = (rand() % 9) + 8; + for (int32 i = 0; i < iterations; i++) { + // Randomly set font size and shear + BFont font; + offscreen.GetFont(&font); + float fontSize = ((rand() % 320) + 42) * fScaleFactor; + font.SetSize(fontSize); + // Set the shear off 90 about 1/2 of the time + if (rand() % 2 == 1) + font.SetShear((float) ((rand() % 135) + (rand() % 45))); + else + font.SetShear(90.0); + offscreen.SetFont(&font); + + // Randomly set drawing location + // TODO: Improve this + int x = (rand() % width) - (rand() % width/((rand() % 8)+1)); + int y = (rand() % height) - (rand() % height/((rand() % 8)+1)); + + // Draw new text + offscreen.SetHighColor(colors[rand() % 8]); + int strLength = message->Length(); + // See how wide this string is with the current font + float strWidth = offscreen.StringWidth(message->String()); + int drawingLength = (int) (strLength * (width / strWidth)); + int start = 0; + if (drawingLength >= strLength) + drawingLength = strLength; + else + start = rand() % (strLength - drawingLength); + char *toDraw = new char[drawingLength+1]; + strncpy(toDraw, message->String()+start, drawingLength); + toDraw[drawingLength] = 0; + offscreen.DrawString(toDraw, BPoint(x, y)); + delete toDraw; + } + + offscreen.Sync(); + buffer.Unlock(); + view->DrawBitmap(&buffer); + buffer.RemoveChild(&offscreen); +} + From wkornewald at mail.berlios.de Thu Feb 1 23:32:17 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Thu, 1 Feb 2007 23:32:17 +0100 Subject: [Haiku-commits] r20036 - haiku/trunk/src/kits/tracker Message-ID: <200702012232.l11MWHbd015104@sheep.berlios.de> Author: wkornewald Date: 2007-02-01 23:32:16 +0100 (Thu, 01 Feb 2007) New Revision: 20036 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20036&view=rev Modified: haiku/trunk/src/kits/tracker/PoseView.cpp Log: Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :) I've tested it and it seems to work. Could someone else please confirm that everything still works well? Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;) Modified: haiku/trunk/src/kits/tracker/PoseView.cpp =================================================================== --- haiku/trunk/src/kits/tracker/PoseView.cpp 2007-02-01 22:30:32 UTC (rev 20035) +++ haiku/trunk/src/kits/tracker/PoseView.cpp 2007-02-01 22:32:16 UTC (rev 20036) @@ -9156,14 +9156,20 @@ void BPoseView::StartWatchDateFormatChange() { +// XXX: Workaround for R5 (overful message queue)! +// Unfortunately, this causes a dead-lock under certain circumstances. +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && !defined(HAIKU_TARGET_PLATFORM_DANO) if (IsFilePanel()) { +#endif BMessenger tracker(kTrackerSignature); BHandler::StartWatching(tracker, kDateFormatChanged); +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && !defined(HAIKU_TARGET_PLATFORM_DANO) } else { be_app->LockLooper(); be_app->StartWatching(this, kDateFormatChanged); be_app->UnlockLooper(); } +#endif fIsWatchingDateFormatChange = true; } From axeld at pinc-software.de Thu Feb 1 23:47:22 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Thu, 01 Feb 2007 23:47:22 +0100 CET Subject: [Haiku-commits] r20036 - haiku/trunk/src/kits/tracker In-Reply-To: <200702012232.l11MWHbd015104@sheep.berlios.de> Message-ID: <41583537490-BeMail@zon> wkornewald at BerliOS wrote: > +// XXX: Workaround for R5 (overful message queue)! > +// Unfortunately, this causes a dead-lock under certain > circumstances. We usually write TODO instead of XXX... > +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && > > !defined(HAIKU_TARGET_PLATFORM_DANO) > if (IsFilePanel()) { > +#endif ... but why not just #ifdef HAIKU_TARGET_PLATFORM_BEOS ? Bye, Axel. From mmu_man at mail.berlios.de Fri Feb 2 07:29:43 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 07:29:43 +0100 Subject: [Haiku-commits] r20037 - in haiku/trunk/src/bin: . urlwrapper Message-ID: <200702020629.l126ThmR006617@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 07:29:42 +0100 (Fri, 02 Feb 2007) New Revision: 20037 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20037&view=rev Added: haiku/trunk/src/bin/urlwrapper/ haiku/trunk/src/bin/urlwrapper/makefile haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rsrc haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp Log: An old tool of mine that handles several url mime types, allowing to redirect urls to commands line tools. Currently supported are telnet:, ssh: and ftp:. Now you should be able to click telnet://towel.blinkenlights.nl on a webpage or in Vision :) TODO: Jamfile; handle ":port" in urls. Added: haiku/trunk/src/bin/urlwrapper/makefile =================================================================== --- haiku/trunk/src/bin/urlwrapper/makefile 2007-02-01 22:32:16 UTC (rev 20036) +++ haiku/trunk/src/bin/urlwrapper/makefile 2007-02-02 06:29:42 UTC (rev 20037) @@ -0,0 +1,122 @@ +## BeOS Generic Makefile v2.2 ## + +## Fill in this file to specify the project being created, and the referenced +## makefile-engine will do all of the hard work for you. This handles both +## Intel and PowerPC builds of the BeOS. + +## Application Specific Settings --------------------------------------------- + +# specify the name of the binary +NAME= urlwrapper + +# specify the type of binary +# APP: Application +# SHARED: Shared library or add-on +# STATIC: Static library archive +# DRIVER: Kernel Driver +TYPE= APP + +# add support for new Pe and Eddie features +# to fill in generic makefile + +#%{ +# @src->@ + +# specify the source files to use +# full paths or paths relative to the makefile can be included +# all files, regardless of directory, will have their object +# files created in the common object directory. +# Note that this means this makefile will not work correctly +# if two source files with the same name (source.c or source.cpp) +# are included from different directories. Also note that spaces +# in folder names do not work well with this makefile. +SRCS= urlwrapper.cpp + +# specify the resource files to use +# full path or a relative path to the resource file can be used. +RSRCS= urlwrapper-res.rsrc + +#RDEFS= urlwrapper-res.rdef + +# @<-src@ +#%} + +# end support for Pe and Eddie + +# specify additional libraries to link against +# there are two acceptable forms of library specifications +# - if your library follows the naming pattern of: +# libXXX.so or libXXX.a you can simply specify XXX +# library: libbe.so entry: be +# +# - if your library does not follow the standard library +# naming scheme you need to specify the path to the library +# and it's name +# library: my_lib.a entry: my_lib.a or path/my_lib.a +LIBS= be + +# specify additional paths to directories following the standard +# libXXX.so or libXXX.a naming scheme. You can specify full paths +# or paths relative to the makefile. The paths included may not +# be recursive, so include all of the paths where libraries can +# be found. Directories where source files are found are +# automatically included. +LIBPATHS= + +# additional paths to look for system headers +# thes use the form: #include
+# source file directories are NOT auto-included here +SYSTEM_INCLUDE_PATHS = + +# additional paths to look for local headers +# thes use the form: #include "header" +# source file directories are automatically included +LOCAL_INCLUDE_PATHS = + +# specify the level of optimization that you desire +# NONE, SOME, FULL +OPTIMIZE= + +# specify any preprocessor symbols to be defined. The symbols will not +# have their values set automatically; you must supply the value (if any) +# to use. For example, setting DEFINES to "DEBUG=1" will cause the +# compiler option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" +# would pass "-DDEBUG" on the compiler's command line. +DEFINES= + +# specify special warning levels +# if unspecified default warnings will be used +# NONE = supress all warnings +# ALL = enable all warnings +WARNINGS = + +# specify whether image symbols will be created +# so that stack crawls in the debugger are meaningful +# if TRUE symbols will be created +SYMBOLS = + +# specify debug settings +# if TRUE will allow application to be run from a source-level +# debugger. Note that this will disable all optimzation. +DEBUGGER = + +# specify additional compiler flags for all files +COMPILER_FLAGS = + +# specify additional linker flags +LINKER_FLAGS = + +# specify the version of this particular item +# (for example, -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL") +# This may also be specified in a resource. +APP_VERSION = + +# (for TYPE == DRIVER only) Specify desired location of driver in the /dev +# hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will +# instruct the driverinstall rule to place a symlink to your driver's binary in +# ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at +# /dev/video/usb when loaded. Default is "misc". +DRIVER_PATH = + +## include the makefile-engine +include $(BUILDHOME)/etc/makefile-engine Added: haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef =================================================================== --- haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef 2007-02-01 22:32:16 UTC (rev 20036) +++ haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef 2007-02-02 06:29:42 UTC (rev 20037) @@ -0,0 +1,37 @@ + +resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.mmu_man.telnetwrapper"; + +resource(1, "BEOS:FILE_TYPES") message +{ + "types" = "application/x-vnd.Be.URL.telnet", + "types" = "application/x-vnd.Be.URL.ssh", + "types" = "application/x-vnd.Be-URL.ftp" +}; + +resource(1, "BEOS:APP_VERSION") #'APPV' array +{ + $"0000000000000000010000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000" +}; + +resource(1, "BEOS:APP_FLAGS") #'APPF' $"04000000"; Added: haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rsrc =================================================================== (Binary files differ) Property changes on: haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rsrc ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp 2007-02-01 22:32:16 UTC (rev 20036) +++ haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp 2007-02-02 06:29:42 UTC (rev 20037) @@ -0,0 +1,219 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define PROTO "telnet" + +class TWApp : public BApplication +{ +public: + TWApp(); + ~TWApp(); +status_t SplitUrlHostUserPass(const char *url, BString &host, BString &user, BString &pass); +virtual void ArgvReceived(int32 argc, char **argv); +virtual void ReadyToRun(void); +private: + +}; + +const char *app_mime = "application/x-vnd.mmu_man.telnetwrapper"; +//const char *url_mime = "application/x-vnd.Be.URL.telnet"; +const char *url_mime = B_URL_TELNET; +const char *terminal_sig = "application/x-vnd.Be-SHEL"; + +TWApp::TWApp() : BApplication(app_mime) +{ + BMimeType mt(url_mime); + if (mt.InitCheck()) + return; + if (!mt.IsInstalled()) { + mt.Install(); + } +#if 0 + BAppFileInfo afi; + if (!afi.Supports(&mt)) { + //printf("adding support for telnet url\n"); + BMessage typemsg; + typemsg.AddString("types", url_mime); + afi.SetSupportedTypes(&typemsg, true); + } +#endif +} + +TWApp::~TWApp() +{ +} + + +// XXX: handle ":port" as well +status_t TWApp::SplitUrlHostUserPass(const char *url, BString &host, BString &user, BString &pass) +{ + host = url; + if (host.FindFirst("@") > -1) { + printf("%s -- %s\n", host.String(), user.String()); + host.MoveInto(user, 0, host.FindFirst("@")); + host.Remove(0, 1); + if (user.FindFirst(":") > -1) { + user.MoveInto(pass, user.FindFirst(":"), user.Length()); + pass.Remove(0, 1); + return 3; + } + printf("%s -- %s\n", host.String(), user.String()); + return 2; + } + return 1; +} + +void TWApp::ArgvReceived(int32 argc, char **argv) +{ +#if 0 + for (int i = 1; i < argc; i++) { + //printf("argv[%d]=%s\n", i, argv[i]); + } +#endif + if (argc <= 1) + return; + + char *args[] = { "/bin/sh", "-c", NULL, NULL}; + + BString host; + BString user; + BString pass; + + BString url(argv[1]); + + // XXX: should factorize that + + if (url.FindFirst("telnet:") == 0) { + url.RemoveFirst("telnet:"); + if (url.FindFirst("//") == 0) + url.RemoveFirst("//"); + + + const char *failc = " || read -p 'Press any key'"; + BString cmd("telnet "); + SplitUrlHostUserPass(url.String(), host, user, pass); + printf("HOST='%s'\n", host.String()); + printf("USER='%s'\n", user.String()); + printf("PASS='%s'\n", pass.String()); + if (user.Length()) + cmd << "-l " << user << " "; + cmd << host; + printf("CMD='%s'\n", cmd.String()); + cmd << failc; + args[2] = (char *)cmd.String(); + be_roster->Launch(terminal_sig, 3, args); + return; + } + + if (url.FindFirst("ssh:") == 0) { + url.RemoveFirst("ssh:"); + if (url.FindFirst("//") == 0) + url.RemoveFirst("//"); + + + const char *failc = " || read -p 'Press any key'"; + BString cmd("ssh "); + + SplitUrlHostUserPass(url.String(), host, user, pass); + printf("HOST='%s'\n", host.String()); + printf("USER='%s'\n", user.String()); + printf("PASS='%s'\n", pass.String()); + if (user.Length()) + cmd << "-l " << user << " "; + cmd << host; + printf("CMD='%s'\n", cmd.String()); + cmd << failc; + args[2] = (char *)cmd.String(); + be_roster->Launch(terminal_sig, 3, args); + // XXX: handle errors + return; + } + + if (url.FindFirst("ftp:") == 0) { + url.RemoveFirst("ftp:"); + if (url.FindFirst("//") == 0) + url.RemoveFirst("//"); + + + const char *failc = " || read -p 'Press any key'"; + BString cmd("ftp "); + + /* + SplitUrlHostUserPass(url.String(), host, user, pass); + printf("HOST='%s'\n", host.String()); + printf("USER='%s'\n", user.String()); + printf("PASS='%s'\n", pass.String()); + if (user.Length()) + cmd << "-l " << user << " "; + cmd << host; + */ + cmd << url; + printf("CMD='%s'\n", cmd.String()); + cmd << failc; + args[2] = (char *)cmd.String(); + be_roster->Launch(terminal_sig, 3, args); + // XXX: handle errors + return; + } + + if (url.FindFirst("sftp:") == 0) { + url.RemoveFirst("sftp:"); + if (url.FindFirst("//") == 0) + url.RemoveFirst("//"); + + + const char *failc = " || read -p 'Press any key'"; + BString cmd("sftp "); + + /* + SplitUrlHostUserPass(url.String(), host, user, pass); + printf("HOST='%s'\n", host.String()); + printf("USER='%s'\n", user.String()); + printf("PASS='%s'\n", pass.String()); + if (user.Length()) + cmd << "-l " << user << " "; + cmd << host; + */ + cmd << url; + printf("CMD='%s'\n", cmd.String()); + cmd << failc; + args[2] = (char *)cmd.String(); + be_roster->Launch(terminal_sig, 3, args); + // XXX: handle errors + return; + } + + + // finger:user at host + // vnc: ? + // irc: ? + // + // file: -> Tracker ? + // svn: ? + // cvs: ? + // mms: -> VLC + // rtsp: -> VLC + // rtp: -> VLC + + +} + +void TWApp::ReadyToRun(void) +{ + Quit(); +} + +int main(int argc, char **argv) +{ + TWApp app; + if (be_app) + app.Run(); + return 0; +} From mmu_man at mail.berlios.de Fri Feb 2 07:47:49 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 07:47:49 +0100 Subject: [Haiku-commits] r20038 - haiku/trunk/src/bin Message-ID: <200702020647.l126ln17007343@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 07:47:49 +0100 (Fri, 02 Feb 2007) New Revision: 20038 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20038&view=rev Modified: haiku/trunk/src/bin/Jamfile Log: add usb_dev_info Modified: haiku/trunk/src/bin/Jamfile =================================================================== --- haiku/trunk/src/bin/Jamfile 2007-02-02 06:29:42 UTC (rev 20037) +++ haiku/trunk/src/bin/Jamfile 2007-02-02 06:47:49 UTC (rev 20038) @@ -135,6 +135,11 @@ mail.cpp : be libmail.so : $(haiku-utils_rsrc) ; +# standard commands that need libbe.so, libusb.so +StdBinCommands + usb_dev_info.cpp + : be libusb.a : $(haiku-utils_rsrc) ; + SubInclude HAIKU_TOP src bin addattr ; SubInclude HAIKU_TOP src bin bash ; SubInclude HAIKU_TOP src bin bc ; From wkornewald at haiku-os.org Fri Feb 2 08:36:08 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Fri, 2 Feb 2007 08:36:08 +0100 Subject: [Haiku-commits] r20036 - haiku/trunk/src/kits/tracker In-Reply-To: <41583537490-BeMail@zon> References: <200702012232.l11MWHbd015104@sheep.berlios.de> <41583537490-BeMail@zon> Message-ID: On 2/1/07, Axel D?rfler wrote: > wkornewald at BerliOS wrote: > > +// XXX: Workaround for R5 (overful message queue)! > > +// Unfortunately, this causes a dead-lock under certain > > circumstances. > > We usually write TODO instead of XXX... I thought that XXX was a marker for hacks while TODO is for things that need improvement. I'll fix it. > > +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && > > > !defined(HAIKU_TARGET_PLATFORM_DANO) > > if (IsFilePanel()) { > > +#endif > > ... but why not just > #ifdef HAIKU_TARGET_PLATFORM_BEOS Does BONE define that one, too? Bye, Waldemar Kornewald From bonefish at cs.tu-berlin.de Fri Feb 2 08:44:34 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Fri, 02 Feb 2007 08:44:34 +0100 Subject: [Haiku-commits] r20036 - haiku/trunk/src/kits/tracker In-Reply-To: References: <200702012232.l11MWHbd015104@sheep.berlios.de> <41583537490-BeMail@zon> Message-ID: <20070202084434.560.1@cs.tu-berlin.de> On 2007-02-02 at 08:36:08 [+0100], Waldemar Kornewald wrote: > On 2/1/07, Axel D?rfler wrote: > > wkornewald at BerliOS wrote: > > > +// XXX: Workaround for R5 (overful message queue)! > > > +// Unfortunately, this causes a dead-lock under certain > > > circumstances. > > > > We usually write TODO instead of XXX... > > I thought that XXX was a marker for hacks while TODO is for things > that need improvement. I'll fix it. > > > > +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && > > > > !defined(HAIKU_TARGET_PLATFORM_DANO) > > > if (IsFilePanel()) { > > > +#endif > > > > ... but why not just > > #ifdef HAIKU_TARGET_PLATFORM_BEOS > > Does BONE define that one, too? Nope. CU, Ingo From mmu_man at mail.berlios.de Fri Feb 2 08:47:15 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 08:47:15 +0100 Subject: [Haiku-commits] r20039 - in haiku/trunk/src/bin: . urlwrapper Message-ID: <200702020747.l127lFs5009071@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 08:47:14 +0100 (Fri, 02 Feb 2007) New Revision: 20039 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20039&view=rev Added: haiku/trunk/src/bin/urlwrapper.cpp haiku/trunk/src/bin/urlwrapper.rdef Removed: haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp Log: Doesn't really deserve its own folder... Deleted: haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef Deleted: haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp Copied: haiku/trunk/src/bin/urlwrapper.cpp (from rev 20037, haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp) Copied: haiku/trunk/src/bin/urlwrapper.rdef (from rev 20037, haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef) From wkornewald at haiku-os.org Fri Feb 2 08:47:41 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Fri, 2 Feb 2007 08:47:41 +0100 Subject: [Haiku-commits] r20036 - haiku/trunk/src/kits/tracker In-Reply-To: <20070202084434.560.1@cs.tu-berlin.de> References: <200702012232.l11MWHbd015104@sheep.berlios.de> <41583537490-BeMail@zon> <20070202084434.560.1@cs.tu-berlin.de> Message-ID: On 2/2/07, Ingo Weinhold wrote: > > > > +#if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && > > > > > !defined(HAIKU_TARGET_PLATFORM_DANO) > > > > if (IsFilePanel()) { > > > > +#endif > > > > > > ... but why not just > > > #ifdef HAIKU_TARGET_PLATFORM_BEOS > > > > Does BONE define that one, too? > > Nope. That was my assumption. In that case I'd have to do two checks, again, so there is no difference, is it? Bye, Waldemar Kornewald From mmu_man at mail.berlios.de Fri Feb 2 08:53:54 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 08:53:54 +0100 Subject: [Haiku-commits] r20040 - haiku/trunk/src/bin Message-ID: <200702020753.l127rsnB009425@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 08:53:53 +0100 (Fri, 02 Feb 2007) New Revision: 20040 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20040&view=rev Modified: haiku/trunk/src/bin/Jamfile Log: Add urlwrapper to the build Modified: haiku/trunk/src/bin/Jamfile =================================================================== --- haiku/trunk/src/bin/Jamfile 2007-02-02 07:47:14 UTC (rev 20039) +++ haiku/trunk/src/bin/Jamfile 2007-02-02 07:53:53 UTC (rev 20040) @@ -69,6 +69,7 @@ : libtermcap.a : $(haiku-utils_rsrc) ; AddResources mimeset : mimeset.rdef ; +AddResources urlwrapper : urlwrapper.rdef ; # standard commands that need libbe.so StdBinCommands @@ -95,6 +96,7 @@ roster.cpp settype.cpp setversion.cpp + urlwrapper.cpp version.cpp # yes.cpp : be : $(haiku-utils_rsrc) ; From koki at haiku-os.org Fri Feb 2 09:03:56 2007 From: koki at haiku-os.org (Jorge G. Mare (a.k.a. Koki)) Date: Fri, 02 Feb 2007 00:03:56 -0800 Subject: [Haiku-commits] r20037 - in haiku/trunk/src/bin: . urlwrapper In-Reply-To: <200702020629.l126ThmR006617@sheep.berlios.de> References: <200702020629.l126ThmR006617@sheep.berlios.de> Message-ID: <45C2F06C.3020206@haiku-os.org> mmu_man at BerliOS wrote: > Author: mmu_man > Date: 2007-02-02 07:29:42 +0100 (Fri, 02 Feb 2007) > New Revision: 20037 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20037&view=rev > > Added: > haiku/trunk/src/bin/urlwrapper/ > haiku/trunk/src/bin/urlwrapper/makefile > haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef > haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rsrc > haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp > Log: > An old tool of mine that handles several url mime types, allowing to redirect urls to commands line tools. > Currently supported are telnet:, ssh: and ftp:. Would be nice to have support for irc: Cheers, Koki From bonefish at cs.tu-berlin.de Fri Feb 2 09:08:19 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Fri, 02 Feb 2007 09:08:19 +0100 Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <17843948283-BeMail@zon> References: <17843948283-BeMail@zon> Message-ID: <20070202090819.631.2@cs.tu-berlin.de> On 2007-02-01 at 17:11:42 [+0100], Axel D?rfler wrote: > "Fran?ois Revol" wrote: > > > Neither the kernel, btw :-) > > > But since we have a special Jam anyway, we could theoretically also > > > add a variable that contains the SVN revision by default. This sounds a bit ugly IMHO. > > Or put it in configure to limit that to official builds ? > > This would at least be another option; but also one possible source for > unneccesary human errors :-) The whole svn revision number is human error prone anyway. It would be taken from the working directory root, but if you update just a subdir, the revision is incorrect. We could alternatively add a file containing the revision number to the image that could be read by the kernel (or append it to the kernel settings file). > > Could we get configure also check the amount of RAM and enable -pipe > > ? > > That sounds like a good idea, too. Dunno how to do this best, though, > maybe some awk/sed trickery with sysinfo. Or a command line switch? CU, Ingo From wkornewald at mail.berlios.de Fri Feb 2 09:22:02 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Fri, 2 Feb 2007 09:22:02 +0100 Subject: [Haiku-commits] r20041 - haiku/trunk/src/kits/tracker Message-ID: <200702020822.l128M2no010953@sheep.berlios.de> Author: wkornewald Date: 2007-02-02 09:22:02 +0100 (Fri, 02 Feb 2007) New Revision: 20041 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20041&view=rev Modified: haiku/trunk/src/kits/tracker/PoseView.cpp Log: Fixed comment style. :) Modified: haiku/trunk/src/kits/tracker/PoseView.cpp =================================================================== --- haiku/trunk/src/kits/tracker/PoseView.cpp 2007-02-02 07:53:53 UTC (rev 20040) +++ haiku/trunk/src/kits/tracker/PoseView.cpp 2007-02-02 08:22:02 UTC (rev 20041) @@ -9156,7 +9156,7 @@ void BPoseView::StartWatchDateFormatChange() { -// XXX: Workaround for R5 (overful message queue)! +// TODO: Workaround for R5 (overful message queue)! // Unfortunately, this causes a dead-lock under certain circumstances. #if !defined(HAIKU_TARGET_PLATFORM_HAIKU) && !defined(HAIKU_TARGET_PLATFORM_DANO) if (IsFilePanel()) { From wkornewald at mail.berlios.de Fri Feb 2 09:23:34 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Fri, 2 Feb 2007 09:23:34 +0100 Subject: [Haiku-commits] r20042 - haiku/trunk/src/preferences/screen Message-ID: <200702020823.l128NY0d011065@sheep.berlios.de> Author: wkornewald Date: 2007-02-02 09:23:34 +0100 (Fri, 02 Feb 2007) New Revision: 20042 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20042&view=rev Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: Now we also update the original preferences when multi-screen settings change. Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-02 08:22:02 UTC (rev 20041) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-02 08:23:34 UTC (rev 20042) @@ -893,6 +893,8 @@ if (message->FindInt32("mode", &mode) == B_OK) fSelected.combine = (combine_mode)mode; + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckResolutionMenu(); CheckApplyEnabled(); break; @@ -900,16 +902,22 @@ case POP_SWAP_DISPLAYS_MSG: message->FindBool("swap", &fSelected.swap_displays); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; case POP_USE_LAPTOP_PANEL_MSG: message->FindBool("use", &fSelected.use_laptop_panel); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; case POP_TV_STANDARD_MSG: message->FindInt32("tv_standard", (int32 *)&fSelected.tv_standard); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; @@ -923,6 +931,7 @@ case BUTTON_DEFAULTS_MSG: { + // TODO: get preferred settings of screen fSelected.width = 640; fSelected.height = 480; fSelected.space = B_CMAP8; From axeld at pinc-software.de Fri Feb 2 10:41:05 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Fri, 02 Feb 2007 10:41:05 +0100 CET Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <20070202090819.631.2@cs.tu-berlin.de> Message-ID: <1514535191-BeMail@zon> Ingo Weinhold wrote: > On 2007-02-01 at 17:11:42 [+0100], Axel D?rfler > > wrote: > > "Fran?ois Revol" wrote: > > > > Neither the kernel, btw :-) > > > > But since we have a special Jam anyway, we could theoretically > > > > also > > > > add a variable that contains the SVN revision by default. > This sounds a bit ugly IMHO. Only a bit :-) > > > Or put it in configure to limit that to official builds ? > > This would at least be another option; but also one possible source > > for > > unneccesary human errors :-) > The whole svn revision number is human error prone anyway. It would > be > taken from the working directory root, but if you update just a > subdir, the > revision is incorrect. > > We could alternatively add a file containing the revision number to > the > image that could be read by the kernel (or append it to the kernel > settings > file). It's really a pity that Jam cannot fill variables with the results of shell commands. Maybe we could it extend it to do that? Or would that break its whole philosophy? :-) SVN_REVISION = [ FExecute svn info --get-my-repository-revision-right- now ] ; In any way, I find adding it to a file that has to be read from the kernel even more ugly. > > > Could we get configure also check the amount of RAM and enable - > > > pipe > > > ? > > That sounds like a good idea, too. Dunno how to do this best, > > though, > > maybe some awk/sed trickery with sysinfo. > Or a command line switch? Good idea - there is no real need for any magic here (it also makes you more aware of -pipe when changing your local configuration). Bye, Axel. From bonefish at mail.berlios.de Fri Feb 2 10:42:23 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 2 Feb 2007 10:42:23 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 Message-ID: <200702020942.l129gNJL014756@sheep.berlios.de> Author: bonefish Date: 2007-02-02 10:42:22 +0100 (Fri, 02 Feb 2007) New Revision: 20043 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20043&view=rev Modified: haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile Log: Mostly aesthetical changes. "jam pxehaiku" worked here before and still does. Marcus, what problem did you encounter? The BuildPXEstage1 actions use "as" ATM, which is not correct, since it should actually use the target platform assembler (i.e. cross-compilation won't work). It should be replaced by $(TARGET_CC), but that results in the following errors, when compiling with gcc 2.95.3: /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S: Assembler messages: /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:39: Error: missing ')' /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:96: Error: `0x6(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:102: Error: `0xa(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:127: Error: `2(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:128: Error: `0(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:147: Error: `16(%ebx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:149: Error: `20(%ebx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:173: Error: `2(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:174: Error: `0(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:298: Error: `(%esi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:299: Error: `(%edi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:306: Error: `(%esi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:307: Error: `(%edi)' is not a valid 16 bit base/index expression For the gcc 4 configuration all but the first errors disappear. It looks like these are bugs in older assembler version. Any reasonable work-around? Modified: haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile =================================================================== --- haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile 2007-02-02 08:23:34 UTC (rev 20042) +++ haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile 2007-02-02 09:42:22 UTC (rev 20043) @@ -55,19 +55,20 @@ ; -rule BuildPXEstage1 { - local bin = $(1) ; - local source = $(2) ; - +rule BuildPXEstage1 bin : source { + SEARCH on $(source) = $(SEARCH_SOURCE) ; Depends $(bin) : $(source) ; MakeLocateDebug $(bin) ; + LocalClean clean : $(bin) ; } +# TODO: "as" should be replaced by $(TARGET_CC), but it fails for older GNU As +# versions. actions BuildPXEstage1 { rm -f $(1) - as -o $(1).o $(2) - ld --oformat binary --Ttext 0x7C00 -o $(1) $(1).o + as -o $(1).o $(2) && + $(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o } BuildPXEstage1 pxehaiku : pxe_stage1.S ; @@ -84,5 +85,3 @@ # We also need the bios_ia32 stage1.bin for building bin/makebootable SEARCH on stage1.bin = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; - -SEARCH on pxe_stage1.S = $(SUBDIR) ; From axeld at mail.berlios.de Fri Feb 2 11:53:58 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 11:53:58 +0100 Subject: [Haiku-commits] r20044 - in haiku/trunk/src/system: kernel/lib libroot/posix Message-ID: <200702021053.l12Arwbu020338@sheep.berlios.de> Author: axeld Date: 2007-02-02 11:53:57 +0100 (Fri, 02 Feb 2007) New Revision: 20044 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20044&view=rev Added: haiku/trunk/src/system/kernel/lib/kernel_errno.c Removed: haiku/trunk/src/system/libroot/posix/kerrno.c Modified: haiku/trunk/src/system/kernel/lib/Jamfile Log: Moved libroot/posix/kerrno.c to kernel/lib/ where it belongs, and renamed it to kernel_errno.c. Modified: haiku/trunk/src/system/kernel/lib/Jamfile =================================================================== --- haiku/trunk/src/system/kernel/lib/Jamfile 2007-02-02 09:42:22 UTC (rev 20043) +++ haiku/trunk/src/system/kernel/lib/Jamfile 2007-02-02 10:53:57 UTC (rev 20044) @@ -27,7 +27,7 @@ KernelMergeObject kernel_posix.o : # main - kerrno.c + kernel_errno.c dirent.c poll.c utime.c Copied: haiku/trunk/src/system/kernel/lib/kernel_errno.c (from rev 20029, haiku/trunk/src/system/libroot/posix/kerrno.c) =================================================================== --- haiku/trunk/src/system/libroot/posix/kerrno.c 2007-02-01 16:08:01 UTC (rev 20029) +++ haiku/trunk/src/system/kernel/lib/kernel_errno.c 2007-02-02 10:53:57 UTC (rev 20044) @@ -0,0 +1,23 @@ +/* + * Copyright 2003-2007, Axel D?rfler, axeld at pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + */ + + +#include "thread.h" + +#include + + +/*! + Kernel space storage for "errno", located in the thread structure + (user "errno" can't be changed from kernel internal POSIX calls) +*/ +int * +_errnop(void) +{ + struct thread *thread = thread_get_current_thread(); + + return &thread->kernel_errno; +} + Deleted: haiku/trunk/src/system/libroot/posix/kerrno.c From axeld at pinc-software.de Fri Feb 2 13:11:33 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Fri, 02 Feb 2007 13:11:33 +0100 CET Subject: [Haiku-commits] r20025 - haiku/trunk/src/bin/flex In-Reply-To: Message-ID: <10542167396-BeMail@zon> "J?r?me Duval" wrote: > 2007/1/31, J?r?me Duval : > > > You mean pipes are slow? (at least under Qemu) > Seems I misunderstood (again ? :)). m4 reads and writes only one byte > at a time which is very slow. Pipes are not slow but the use of > getc_unlocked() and putc_unlocked() is. And that's more obvious on Haiku than somewhere else? Bye, Axel. From axeld at mail.berlios.de Fri Feb 2 13:44:51 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 13:44:51 +0100 Subject: [Haiku-commits] r20045 - haiku/trunk/src/kits/interface Message-ID: <200702021244.l12CipGx003580@sheep.berlios.de> Author: axeld Date: 2007-02-02 13:44:51 +0100 (Fri, 02 Feb 2007) New Revision: 20045 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20045&view=rev Modified: haiku/trunk/src/kits/interface/ScrollBar.cpp Log: Minor cleanup. Modified: haiku/trunk/src/kits/interface/ScrollBar.cpp =================================================================== --- haiku/trunk/src/kits/interface/ScrollBar.cpp 2007-02-02 10:53:57 UTC (rev 20044) +++ haiku/trunk/src/kits/interface/ScrollBar.cpp 2007-02-02 12:44:51 UTC (rev 20045) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001-2006, Haiku, Inc. + * Copyright (c) 2001-2007, Haiku, Inc. * Distributed under the terms of the MIT license. * * Authors: @@ -493,7 +493,7 @@ } } -// MouseDown + void BScrollBar::MouseDown(BPoint where) { @@ -502,20 +502,11 @@ SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS); - int32 buttons = B_PRIMARY_MOUSE_BUTTON; - if (Looper() != NULL && Looper()->CurrentMessage() != NULL - && Looper()->CurrentMessage()->FindInt32("buttons", &buttons) != B_OK) + int32 buttons; + if (Looper() == NULL || Looper()->CurrentMessage() == NULL + || Looper()->CurrentMessage()->FindInt32("buttons", &buttons) != B_OK) buttons = B_PRIMARY_MOUSE_BUTTON; - // hit test for the thumb - if (fPrivateData->fThumbFrame.Contains(where) - && (buttons & B_SECONDARY_MOUSE_BUTTON) == 0) { - fPrivateData->fButtonDown = THUMB; - fPrivateData->fClickOffset = fPrivateData->fThumbFrame.LeftTop() - where; - Invalidate(fPrivateData->fThumbFrame); - return; - } - if (buttons & B_SECONDARY_MOUSE_BUTTON) { // special absolute scrolling: move thumb to where we clicked fPrivateData->fButtonDown = THUMB; @@ -529,6 +520,14 @@ return; } + // hit test for the thumb + if (fPrivateData->fThumbFrame.Contains(where)) { + fPrivateData->fButtonDown = THUMB; + fPrivateData->fClickOffset = fPrivateData->fThumbFrame.LeftTop() - where; + Invalidate(fPrivateData->fThumbFrame); + return; + } + // hit test for arrows or empty area float scrollValue = 0.0; fPrivateData->fButtonDown = _ButtonFor(where); From bonefish at mail.berlios.de Fri Feb 2 14:53:12 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 2 Feb 2007 14:53:12 +0100 Subject: [Haiku-commits] r20046 - buildtools/trunk/legacy/gcc/gcc/fixinc Message-ID: <200702021353.l12DrCjP006802@sheep.berlios.de> Author: bonefish Date: 2007-02-02 14:53:11 +0100 (Fri, 02 Feb 2007) New Revision: 20046 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20046&view=rev Modified: buildtools/trunk/legacy/gcc/gcc/fixinc/fixincl.x buildtools/trunk/legacy/gcc/gcc/fixinc/inclhack.def Log: Patch by Samuel Rodriguez Perez to fix building this gcc version for FreeBSD. The removed header fixes don't apply to the Haiku headers anyway, so this shouldn't be much of a problem. Modified: buildtools/trunk/legacy/gcc/gcc/fixinc/fixincl.x =================================================================== --- buildtools/trunk/legacy/gcc/gcc/fixinc/fixincl.x 2007-02-02 12:44:51 UTC (rev 20045) +++ buildtools/trunk/legacy/gcc/gcc/fixinc/fixincl.x 2007-02-02 13:53:11 UTC (rev 20046) @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed Monday May 3, 2004 at 05:12:43 PM MEST + * It has been AutoGen-ed Friday February 2, 2007 at 12:24:45 PM CET * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT CVS-MERGE THIS FILE, EITHER Mon May 3 17:12:43 MEST 2004 +/* DO NOT CVS-MERGE THIS FILE, EITHER Fri Feb 2 12:24:45 CET 2007 * * You must regenerate it. Use the ./genfixes script. * @@ -15,18 +15,19 @@ * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * - * This file contains 174 fixup descriptions. + * This file contains 172 fixup descriptions. * * See README for more information. * * inclhack copyright (c) 1998, 1999, 2000, 2001 * The Free Software Foundation, Inc. * - * inclhack is free software. + * inclhack is free software. * * You may redistribute it and/or modify it under the terms of the * GNU General Public License, as published by the Free Software - * Foundation; either version 2, or (at your option) any later version. + * Foundation; either version 2 of the License, or (at your option) + * any later version. * * inclhack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -34,10 +35,10 @@ * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with inclhack. See the file "COPYING". If not, - * write to: The Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * along with inclhack. If not, write to: + * The Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301, USA. */ /* * * * * * * * * * * * * * * * * * * * * * * * * * @@ -2312,41 +2313,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Hpux11_Snprintf fix - */ -tSCC zHpux11_SnprintfName[] = - "hpux11_snprintf"; - -/* - * File name selection pattern - */ -tSCC zHpux11_SnprintfList[] = - "|stdio.h|"; -/* - * Machine/OS name selection pattern - */ -#define apzHpux11_SnprintfMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux11_SnprintfSelect0[] = - "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)"; - -#define HPUX11_SNPRINTF_TEST_CT 1 -static tTestDesc aHpux11_SnprintfTests[] = { - { TT_EGREP, zHpux11_SnprintfSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux11_Snprintf - */ -static const char* apzHpux11_SnprintfPatch[] = { - "format", - "%1 const %3", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * * Description of Hpux11_Uint32_C fix */ tSCC zHpux11_Uint32_CName[] = @@ -4766,47 +4732,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Strict_Ansi_Not_Ctd fix - */ -tSCC zStrict_Ansi_Not_CtdName[] = - "strict_ansi_not_ctd"; - -/* - * File name selection pattern - */ -tSCC zStrict_Ansi_Not_CtdList[] = - "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|"; -/* - * Machine/OS name selection pattern - */ -#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zStrict_Ansi_Not_CtdSelect0[] = - "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)"; - -/* - * perform the C function call test - */ -tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers"; - -#define STRICT_ANSI_NOT_CTD_TEST_CT 2 -static tTestDesc aStrict_Ansi_Not_CtdTests[] = { - { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ }, - { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Strict_Ansi_Not_Ctd - */ -static const char* apzStrict_Ansi_Not_CtdPatch[] = { - "format", - "%1 !defined(__STRICT_ANSI__)", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * * Description of Strict_Ansi_Only fix */ tSCC zStrict_Ansi_OnlyName[] = @@ -6413,7 +6338,7 @@ #define VA_I960_MACRO_TEST_CT 1 static tTestDesc aVa_I960_MacroTests[] = { - { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, }; + { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Va_I960_Macro @@ -6448,7 +6373,7 @@ #define VOID_NULL_TEST_CT 1 static tTestDesc aVoid_NullTests[] = { - { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, }; + { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Void_Null @@ -6483,7 +6408,7 @@ #define VXWORKS_GCC_PROBLEM_TEST_CT 1 static tTestDesc aVxworks_Gcc_ProblemTests[] = { - { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, }; + { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Vxworks_Gcc_Problem @@ -6532,7 +6457,7 @@ #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1 static tTestDesc aVxworks_Needs_VxtypesTests[] = { - { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, }; + { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Vxworks_Needs_Vxtypes @@ -6577,10 +6502,10 @@ #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4 static tTestDesc aVxworks_Needs_VxworksTests[] = { - { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ }, - { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ }, - { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ }, - { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, }; + { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ }, + { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ }, + { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ }, + { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Vxworks_Needs_Vxworks @@ -6621,8 +6546,8 @@ #define VXWORKS_TIME_TEST_CT 2 static tTestDesc aVxworks_TimeTests[] = { - { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ }, - { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, }; + { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ }, + { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, }; /* * Fix Command Arguments for Vxworks_Time @@ -6901,9 +6826,9 @@ * * List of all fixes */ -#define REGEX_COUNT 196 +#define REGEX_COUNT 194 #define MACH_LIST_SIZE_LIMIT 261 -#define FIX_COUNT 174 +#define FIX_COUNT 172 /* * Enumerate the fixes @@ -6963,7 +6888,6 @@ HPUX11_ABS_FIXIDX, HPUX11_FABSF_FIXIDX, HPUX11_SIZE_T_FIXIDX, - HPUX11_SNPRINTF_FIXIDX, HPUX11_UINT32_C_FIXIDX, HPUX11_VSNPRINTF_FIXIDX, HPUX8_BOGUS_INLINES_FIXIDX, @@ -7027,7 +6951,6 @@ STDIO_STDARG_H_FIXIDX, STDIO_VA_LIST_FIXIDX, STRICT_ANSI_NOT_FIXIDX, - STRICT_ANSI_NOT_CTD_FIXIDX, STRICT_ANSI_ONLY_FIXIDX, STRUCT_FILE_FIXIDX, STRUCT_SOCKADDR_FIXIDX, @@ -7356,11 +7279,6 @@ HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 }, - { zHpux11_SnprintfName, zHpux11_SnprintfList, - apzHpux11_SnprintfMachs, - HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux11_SnprintfTests, apzHpux11_SnprintfPatch, 0 }, - { zHpux11_Uint32_CName, zHpux11_Uint32_CList, apzHpux11_Uint32_CMachs, HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -7676,11 +7594,6 @@ STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 }, - { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList, - apzStrict_Ansi_Not_CtdMachs, - STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 }, - { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList, apzStrict_Ansi_OnlyMachs, STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, Modified: buildtools/trunk/legacy/gcc/gcc/fixinc/inclhack.def =================================================================== --- buildtools/trunk/legacy/gcc/gcc/fixinc/inclhack.def 2007-02-02 12:44:51 UTC (rev 20045) +++ buildtools/trunk/legacy/gcc/gcc/fixinc/inclhack.def 2007-02-02 13:53:11 UTC (rev 20046) @@ -1316,25 +1316,6 @@ /* - * Fix hpux 11.00 broken snprintf declaration - * (third argument is char *, needs to be const char * to prevent - * spurious warnings with -Wwrite-strings or in C++). - */ -fix = { - hackname = hpux11_snprintf; - files = stdio.h; - select = '(extern int snprintf *\(char *\*, *(|__|_hpux_)size_t,)' - ' *(char *\*, *\.\.\.\);)'; - c_fix = format; - c_fix_arg = '%1 const %3'; - - test_text = "extern int snprintf(char *, size_t, char *, ...);\n" - "extern int snprintf(char *, __size_t, char *, ...);\n" - "extern int snprintf(char *, _hpux_size_t, char *, ...);"; -}; - - -/* * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition * of UINT32_C has undefined behavior according to ISO/ANSI: * the arguments to __CONCAT__ are not macro expanded before the @@ -2653,40 +2634,6 @@ }; /* - * "__STDC__-0==0" - * is "!defined( __STRICT_ANSI__ )" on continued #if-s - */ -fix = { - hackname = strict_ansi_not_ctd; - files = math.h, limits.h, stdio.h, signal.h, - stdlib.h, sys/signal.h, time.h; - /* - * Starting at the beginning of a line, skip white space and - * a leading "(" or "&&" or "||". One of those must be found. - * Then, zero, one or more copies of a "defined(_FOO_BAR_) &&" - * expression. If these are nested, then they must accumulate - * because we won't match any closing parentheses. Finally, - * after skipping over all that, we must then match our suspect - * phrase: "__STDC__-0==0" with or without white space. - */ - select = "^([ \t]*" '(\(|&&|\|\|)' - "([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*" - "[ \t(]*)" - "(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)"; - c_test = stdc_0_in_system_headers; - - c_fix = format; - c_fix_arg = "%1 !defined(__STRICT_ANSI__)"; - - test_text = "#if 1 && \\\\\n" - "&& defined(mumbling) |& (__STDC__ - 0 == 0) \\\\\n" - "( __STDC__ == 0 && !defined(_XOPEN_SOURCE) \\\\\n" - "|| __STDC__ - 0 == 0 ) /* not std C */\n" - "int foo;\n#endif"; -}; - - -/* * "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1" * is "defined( __STRICT_ANSI__ )" */ From bonefish at cs.tu-berlin.de Fri Feb 2 15:38:11 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Fri, 02 Feb 2007 15:38:11 +0100 Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <1514535191-BeMail@zon> References: <1514535191-BeMail@zon> Message-ID: <20070202153811.1291.3@cs.tu-berlin.de> On 2007-02-02 at 10:41:05 [+0100], Axel D?rfler wrote: > Ingo Weinhold wrote: > > On 2007-02-01 at 17:11:42 [+0100], Axel D?rfler > > > wrote: [...] > > > > Or put it in configure to limit that to official builds ? > > > This would at least be another option; but also one possible source > > > for > > > unneccesary human errors :-) > > The whole svn revision number is human error prone anyway. It would > > be > > taken from the working directory root, but if you update just a > > subdir, the > > revision is incorrect. > > > > We could alternatively add a file containing the revision number to > > the > > image that could be read by the kernel (or append it to the kernel > > settings > > file). > > It's really a pity that Jam cannot fill variables with the results of > shell commands. Maybe we could it extend it to do that? Or would that > break its whole philosophy? :-) > > SVN_REVISION = [ FExecute svn info --get-my-repository-revision-right- > now ] ; I actually even have a patch ready for this (submitted and rejected years ago), it just won't change anything in this case. If we want to build the revision number into libroot (which can be easily done without changing jam), libroot obviously has to be rebuilt whenever the number changes, causing virtually everything to be relinked. This isn't that much of a problem on platforms with good FS and cache implementations (I guess it takes no longer than a minute on my Linux box), but it badly sucks under BeOS. > In any way, I find adding it to a file that has to be read from the > kernel even more ugly. Indeed. Our options are limited though. Either we build the revision number into the code or it must be read at runtime from somewhere. Well, another option might be to inject the revision number into libroot/kernel right before being copied onto the image, using black objcopy magic. CU, Ingo From marcusoverhagen at arcor.de Fri Feb 2 17:01:58 2007 From: marcusoverhagen at arcor.de (Marcus Overhagen) Date: Fri, 2 Feb 2007 17:01:58 +0100 (CET) Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <200702020942.l129gNJL014756@sheep.berlios.de> References: <200702020942.l129gNJL014756@sheep.berlios.de> Message-ID: <7156770.1170432118358.JavaMail.ngmail@webmail12> Hello Ingo, jam pxehaiku was already working well for me when compiling on Linux, I wasn't aware of these problems. I didn't try invoking the target platform assembler, but I understand that directly invoking "as" is wrong. I've been using "as" 2.17 with target "i486-linux-gnu" on Ubuntu Linux. The assembler included in buildtools is 2.16.1, perhaps it needs to be updated. The 32 bit indexing is done deliberately, so there is no workaround for that. I also don't want to change the code, as this will be much work. regards Marcus ----- Original Nachricht ---- Von: bonefish at BerliOS An: haiku-commits at lists.berlios.de Datum: 02.02.2007 10:42 Betreff: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 > Author: bonefish > Date: 2007-02-02 10:42:22 +0100 (Fri, 02 Feb 2007) > New Revision: 20043 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20043&view=rev > > Modified: > haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile > Log: > Mostly aesthetical changes. "jam pxehaiku" worked here before and still > does. Marcus, what problem did you encounter? > > The BuildPXEstage1 actions use "as" ATM, which is not correct, since it > should actually use the target platform assembler (i.e. > cross-compilation won't work). It should be replaced by $(TARGET_CC), > but that results in the following errors, when compiling with gcc 2.95.3: > > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S: > Assembler messages: > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:39: > Error: missing ')' > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:96: > Error: `0x6(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:102: > Error: `0xa(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:127: > Error: `2(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:128: > Error: `0(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:147: > Error: `16(%ebx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:149: > Error: `20(%ebx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:173: > Error: `2(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:174: > Error: `0(%edx)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:298: > Error: `(%esi)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:299: > Error: `(%edi)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:306: > Error: `(%esi)' is not a valid 16 bit base/index expression > /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_sta > ge1.S:307: > Error: `(%edi)' is not a valid 16 bit base/index expression > > > For the gcc 4 configuration all but the first errors disappear. It looks > like these are bugs in older assembler version. Any reasonable > work-around? > > > > Modified: haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile > =================================================================== > --- haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile 2007-02-02 > 08:23:34 UTC (rev 20042) > +++ haiku/trunk/src/system/boot/platform/pxe_ia32/Jamfile 2007-02-02 > 09:42:22 UTC (rev 20043) > @@ -55,19 +55,20 @@ > ; > > > -rule BuildPXEstage1 { > - local bin = $(1) ; > - local source = $(2) ; > - > +rule BuildPXEstage1 bin : source { > + SEARCH on $(source) = $(SEARCH_SOURCE) ; > Depends $(bin) : $(source) ; > MakeLocateDebug $(bin) ; > + LocalClean clean : $(bin) ; > } > > > +# TODO: "as" should be replaced by $(TARGET_CC), but it fails for older GNU > As > +# versions. > actions BuildPXEstage1 { > rm -f $(1) > - as -o $(1).o $(2) > - ld --oformat binary --Ttext 0x7C00 -o $(1) $(1).o > + as -o $(1).o $(2) && > + $(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o > } > > BuildPXEstage1 pxehaiku : pxe_stage1.S ; > @@ -84,5 +85,3 @@ > # We also need the bios_ia32 stage1.bin for building bin/makebootable > SEARCH on stage1.bin > = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; > - > -SEARCH on pxe_stage1.S = $(SUBDIR) ; > > _______________________________________________ > Haiku-commits mailing list > Haiku-commits at lists.berlios.de > https://lists.berlios.de/mailman/listinfo/haiku-commits > Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: g?nstig und schnell mit DSL - das All-Inclusive-Paket f?r clevere Doppel-Sparer, nur 44,85 ? inkl. DSL- und ISDN-Grundgeb?hr! http://www.arcor.de/rd/emf-dsl-2 From mmu_man at mail.berlios.de Fri Feb 2 17:02:03 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 17:02:03 +0100 Subject: [Haiku-commits] r20047 - haiku/trunk/src/bin Message-ID: <200702021602.l12G23X1015345@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 17:02:03 +0100 (Fri, 02 Feb 2007) New Revision: 20047 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20047&view=rev Removed: haiku/trunk/src/bin/urlwrapper/ Log: get rid of the makefile & rsrc From mmu_man at mail.berlios.de Fri Feb 2 17:05:57 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 17:05:57 +0100 Subject: [Haiku-commits] r20048 - haiku/trunk/src/bin Message-ID: <200702021605.l12G5vU6015488@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 17:05:56 +0100 (Fri, 02 Feb 2007) New Revision: 20048 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20048&view=rev Modified: haiku/trunk/src/bin/urlwrapper.cpp haiku/trunk/src/bin/urlwrapper.rdef Log: Cleanup rdef Rewrote url parsing (unfinished) Added several url types. Now it handles: ftp, sftp, telnet, ssh, finger, sh, file, beshare (to BeShare), mms, rtp, rtsp (to VLC). Some make probably more sense to add to the respective apps (BeShare, VLC...) but it's still handy for now. Now please everyone go fix your apps to use generic url support instead of hardcoding http: :) Modified: haiku/trunk/src/bin/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 16:02:03 UTC (rev 20047) +++ haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 16:05:56 UTC (rev 20048) @@ -1,3 +1,4 @@ +#include #include #include #include @@ -8,33 +9,164 @@ #include #include -#define PROTO "telnet" +#define HANDLE_FILE +#define HANDLE_SH +#define HANDLE_BESHARE +//#define HANDLE_IM +#define HANDLE_VLC -class TWApp : public BApplication +const char *kAppSig = "application/x-vnd.haiku.urlwrapper"; + +#ifdef __HAIKU__ +const char *kTerminalSig = "application/x-vnd.Haiku-Terminal"; +#else +const char *kTerminalSig = "application/x-vnd.Be-SHEL"; +#endif + +#ifdef HANDLE_FILE +const char *kTrackerSig = "application/x-vnd.Be-TRAK"; +#endif + +#ifdef HANDLE_BESHARE +const char *kBeShareSig = "application/x-vnd.Sugoi-BeShare"; +#endif + +#ifdef HANDLE_IM +const char *kIMSig = "application/x-vnd.m_eiman.sample_im_client"; +#endif + +#ifdef HANDLE_VLC +const char *kVLCSig = "application/x-vnd.videolan-vlc"; +#endif + +// TODO: make a Url class +class Url : public BString { +public: + Url(const char *url) : BString(url) { fStatus = ParseAndSplit(); }; + ~Url() {}; +status_t InitCheck() const { return fStatus; }; +status_t ParseAndSplit(); + +bool HasHost() const { return host.Length(); }; +bool HasPort() const { return port.Length(); }; +bool HasUser() const { return user.Length(); }; +bool HasPass() const { return pass.Length(); }; +bool HasPath() const { return path.Length(); }; +BString Proto() const { return BString(proto); }; +BString Host() const { return BString(host); }; +BString Port() const { return BString(port); }; +BString User() const { return BString(user); }; +BString Pass() const { return BString(pass); }; + +BString proto; +BString host; +BString port; +BString user; +BString pass; +BString path; +private: +status_t fStatus; +}; + +class UrlWrapperApp : public BApplication { public: - TWApp(); - ~TWApp(); -status_t SplitUrlHostUserPass(const char *url, BString &host, BString &user, BString &pass); + UrlWrapperApp(); + ~UrlWrapperApp(); +status_t SplitUrl(const char *url, BString &host, BString &port, BString &user, BString &pass, BString &path); +status_t UnurlString(BString &s); +status_t Warn(const char *url); virtual void ArgvReceived(int32 argc, char **argv); virtual void ReadyToRun(void); private: }; -const char *app_mime = "application/x-vnd.mmu_man.telnetwrapper"; -//const char *url_mime = "application/x-vnd.Be.URL.telnet"; -const char *url_mime = B_URL_TELNET; -const char *terminal_sig = "application/x-vnd.Be-SHEL"; +// TODO: handle ":port" as well +// TODO: handle "/path" as well +// proto:[//]user:pass at host:port/path +status_t Url::ParseAndSplit() +{ + int32 v; + //host = *this; + BString left; +printf("s:%s\n", String()); -TWApp::TWApp() : BApplication(app_mime) + v = FindFirst(":"); + if (v < 0) + return EINVAL; + + CopyInto(proto, 0, v); + CopyInto(left, v + 1, Length() - v); + if (left.FindFirst("//") == 0) + left.RemoveFirst("//"); + + // path part + v = left.FindFirst("/"); + if (v == 0 || proto == "file") { + path = left; +printf("path:%s\n", path.String()); + return 0; + } + + if (v > -1) { + left.MoveInto(path, v+1, left.Length()-v); + left.Remove(v, 1); + } +printf("path:%s\n", path.String()); + + // user:pass at host + v = left.FindFirst("@"); + if (v > -1) { + left.MoveInto(user, 0, v); + left.Remove(0, 1); +printf("user:%s\n", user.String()); + v = user.FindFirst(":"); + if (v > -1) { + user.MoveInto(pass, v, user.Length() - v); + pass.Remove(0, 1); +printf("pass:%s\n", pass.String()); + } + } + + // host:port + v = left.FindFirst(":"); + if (v > -1) { + left.MoveInto(port, v + 1, left.Length() - v); + left.Remove(v, 1); +printf("port:%s\n", port.String()); + } + + // not much left... + host = left; +printf("host:%s\n", host.String()); + + return 0; +} + +status_t UrlWrapperApp::SplitUrl(const char *url, BString &host, BString &port, BString &user, BString &pass, BString &path) { - BMimeType mt(url_mime); + Url u(url); + if (u.InitCheck() < 0) + return u.InitCheck(); + host = u.host; + port = u.port; + user = u.user; + pass = u.pass; + path = u.path; + return 0; +} + +UrlWrapperApp::UrlWrapperApp() : BApplication(kAppSig) +{ +#if 0 + BMimeType mt(B_URL_TELNET); if (mt.InitCheck()) return; if (!mt.IsInstalled()) { mt.Install(); } +#endif #if 0 BAppFileInfo afi; if (!afi.Supports(&mt)) { @@ -46,32 +178,35 @@ #endif } -TWApp::~TWApp() +UrlWrapperApp::~UrlWrapperApp() { } -// XXX: handle ":port" as well -status_t TWApp::SplitUrlHostUserPass(const char *url, BString &host, BString &user, BString &pass) + +status_t UrlWrapperApp::UnurlString(BString &s) { - host = url; - if (host.FindFirst("@") > -1) { - printf("%s -- %s\n", host.String(), user.String()); - host.MoveInto(user, 0, host.FindFirst("@")); - host.Remove(0, 1); - if (user.FindFirst(":") > -1) { - user.MoveInto(pass, user.FindFirst(":"), user.Length()); - pass.Remove(0, 1); - return 3; - } - printf("%s -- %s\n", host.String(), user.String()); - return 2; - } - return 1; + // TODO:WRITEME + return B_OK; } -void TWApp::ArgvReceived(int32 argc, char **argv) +status_t UrlWrapperApp::Warn(const char *url) { + BString message("An application has requested the system to open the following url: \n"); + message << "\n" << url << "\n\n"; + message << "This type of urls has a potential security risk.\n"; + message << "Proceed anyway ?"; + BAlert *alert = new BAlert("Warning", message.String(), "Ok", "No", NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + int32 v; + v = alert->Go(); + if (v == 0) + return B_OK; + return B_ERROR; +} + + +void UrlWrapperApp::ArgvReceived(int32 argc, char **argv) +{ #if 0 for (int i = 1; i < argc; i++) { //printf("argv[%d]=%s\n", i, argv[i]); @@ -80,76 +215,71 @@ if (argc <= 1) return; + const char *failc = " || read -p 'Press any key'"; + const char *pausec = "; read -p 'Press any key'"; char *args[] = { "/bin/sh", "-c", NULL, NULL}; + BString proto; BString host; + BString port; BString user; BString pass; + BString path; - BString url(argv[1]); + Url u(argv[1]); + BString rawurl(argv[1]); + BString url = rawurl; + if (url.FindFirst(":") < 0) { + fprintf(stderr, "malformed url: '%s'\n", url.String()); + return; + } + url.MoveInto(proto, 0, url.FindFirst(":")); + url.Remove(0, 1); + if (url.FindFirst("//") == 0) + url.RemoveFirst("//"); - // XXX: should factorize that + // pre-slice the url, but you're not forced to use the result. + // original still in rawurl. + SplitUrl(u.String(), host, port, user, pass, path); - if (url.FindFirst("telnet:") == 0) { - url.RemoveFirst("telnet:"); - if (url.FindFirst("//") == 0) - url.RemoveFirst("//"); - - - const char *failc = " || read -p 'Press any key'"; + // XXX: debug + printf("PROTO='%s'\n", proto.String()); + printf("HOST='%s'\n", host.String()); + printf("PORT='%s'\n", port.String()); + printf("USER='%s'\n", user.String()); + printf("PASS='%s'\n", pass.String()); + printf("PATH='%s'\n", path.String()); + + if (proto == "telnet") { BString cmd("telnet "); - SplitUrlHostUserPass(url.String(), host, user, pass); - printf("HOST='%s'\n", host.String()); - printf("USER='%s'\n", user.String()); - printf("PASS='%s'\n", pass.String()); if (user.Length()) cmd << "-l " << user << " "; cmd << host; printf("CMD='%s'\n", cmd.String()); cmd << failc; args[2] = (char *)cmd.String(); - be_roster->Launch(terminal_sig, 3, args); + be_roster->Launch(kTerminalSig, 3, args); return; } - if (url.FindFirst("ssh:") == 0) { - url.RemoveFirst("ssh:"); - if (url.FindFirst("//") == 0) - url.RemoveFirst("//"); - - - const char *failc = " || read -p 'Press any key'"; + if (proto == "ssh") { BString cmd("ssh "); - SplitUrlHostUserPass(url.String(), host, user, pass); - printf("HOST='%s'\n", host.String()); - printf("USER='%s'\n", user.String()); - printf("PASS='%s'\n", pass.String()); if (user.Length()) cmd << "-l " << user << " "; cmd << host; printf("CMD='%s'\n", cmd.String()); cmd << failc; args[2] = (char *)cmd.String(); - be_roster->Launch(terminal_sig, 3, args); - // XXX: handle errors + be_roster->Launch(kTerminalSig, 3, args); + // TODO: handle errors return; } - if (url.FindFirst("ftp:") == 0) { - url.RemoveFirst("ftp:"); - if (url.FindFirst("//") == 0) - url.RemoveFirst("//"); - - - const char *failc = " || read -p 'Press any key'"; + if (proto == "ftp") { BString cmd("ftp "); /* - SplitUrlHostUserPass(url.String(), host, user, pass); - printf("HOST='%s'\n", host.String()); - printf("USER='%s'\n", user.String()); - printf("PASS='%s'\n", pass.String()); if (user.Length()) cmd << "-l " << user << " "; cmd << host; @@ -158,25 +288,15 @@ printf("CMD='%s'\n", cmd.String()); cmd << failc; args[2] = (char *)cmd.String(); - be_roster->Launch(terminal_sig, 3, args); - // XXX: handle errors + be_roster->Launch(kTerminalSig, 3, args); + // TODO: handle errors return; } - if (url.FindFirst("sftp:") == 0) { - url.RemoveFirst("sftp:"); - if (url.FindFirst("//") == 0) - url.RemoveFirst("//"); - - - const char *failc = " || read -p 'Press any key'"; + if (proto == "sftp") { BString cmd("sftp "); /* - SplitUrlHostUserPass(url.String(), host, user, pass); - printf("HOST='%s'\n", host.String()); - printf("USER='%s'\n", user.String()); - printf("PASS='%s'\n", pass.String()); if (user.Length()) cmd << "-l " << user << " "; cmd << host; @@ -185,34 +305,123 @@ printf("CMD='%s'\n", cmd.String()); cmd << failc; args[2] = (char *)cmd.String(); - be_roster->Launch(terminal_sig, 3, args); - // XXX: handle errors + be_roster->Launch(kTerminalSig, 3, args); + // TODO: handle errors return; } + + if (proto == "finger") { + BString cmd("finger "); + + // TODO: SplitUrl thinks the user is host when it's not present... FIXME. + if (user.Length()) + cmd << user; + if (host.Length() == 0) + host = "127.0.0.1"; + cmd << "@" << host; + printf("CMD='%s'\n", cmd.String()); + cmd << pausec; + args[2] = (char *)cmd.String(); + be_roster->Launch(kTerminalSig, 3, args); + // TODO: handle errors + return; + } + +#ifdef HANDLE_FILE + if (proto == "file") { + BMessage m(B_REFS_RECEIVED); + entry_ref ref; + // UnurlString(path); + if (get_ref_for_path(path.String(), &ref) < B_OK) + return; + m.AddRef("refs", &ref); + be_roster->Launch(kTrackerSig, &m); + return; + } +#endif + +#ifdef HANDLE_SH + if (proto == "sh") { + BString cmd(url); + if (Warn(rawurl.String()) != B_OK) + return; + printf("CMD='%s'\n", cmd.String()); + cmd << pausec; + args[2] = (char *)cmd.String(); + be_roster->Launch(kTerminalSig, 3, args); + // TODO: handle errors + return; + } +#endif + +#ifdef HANDLE_BESHARE + if (proto == "beshare") { + team_id team; + be_roster->Launch(kBeShareSig, (BMessage *)NULL, &team); + BMessenger msgr(NULL, team); + if (host.Length()) { + BMessage mserver('serv'); + mserver.AddString("server", host); + //msgs.AddItem(&mserver); + msgr.SendMessage(mserver); + + } + if (path.Length()) { + BMessage mquery('quer'); + mquery.AddString("query", path); + //msgs.AddItem(&mquery); + msgr.SendMessage(mquery); + } + // TODO: handle errors + return; + } +#endif + +#ifdef HANDLE_IM + if (proto == "icq" || proto == "msn") { + // TODO + team_id team; + be_roster->Launch(kIMSig, (BMessage *)NULL, &team); + BMessenger msgr(NULL, team); + if (host.Length()) { + BMessage mserver(B_REFS_RECEIVED); + mserver.AddString("server", host); + //msgs.AddItem(&mserver); + msgr.SendMessage(mserver); + + } + // TODO: handle errors + return; + } +#endif + +#ifdef HANDLE_VLC + if (proto == "mms" || proto == "rtp" || proto == "rtsp") { + args[0] = "vlc"; + args[1] = (char *)rawurl.String(); + be_roster->Launch(kVLCSig, 2, args); + return; + } +#endif - - // finger:user at host // vnc: ? // irc: ? // - // file: -> Tracker ? // svn: ? // cvs: ? - // mms: -> VLC - // rtsp: -> VLC - // rtp: -> VLC - + // smb: ? + // nfs: ? } -void TWApp::ReadyToRun(void) +void UrlWrapperApp::ReadyToRun(void) { Quit(); } int main(int argc, char **argv) { - TWApp app; + UrlWrapperApp app; if (be_app) app.Run(); return 0; Modified: haiku/trunk/src/bin/urlwrapper.rdef =================================================================== --- haiku/trunk/src/bin/urlwrapper.rdef 2007-02-02 16:02:03 UTC (rev 20047) +++ haiku/trunk/src/bin/urlwrapper.rdef 2007-02-02 16:05:56 UTC (rev 20048) @@ -1,37 +1,18 @@ +resource app_signature "application/x-vnd.haiku.urlwrapper"; +resource app_flags B_MULTIPLE_LAUNCH | B_BACKGROUND_APP | B_ARGV_ONLY; -resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.mmu_man.telnetwrapper"; - resource(1, "BEOS:FILE_TYPES") message { "types" = "application/x-vnd.Be.URL.telnet", "types" = "application/x-vnd.Be.URL.ssh", - "types" = "application/x-vnd.Be-URL.ftp" + "types" = "application/x-vnd.Be.URL.ftp", + "types" = "application/x-vnd.Be.URL.sftp", + "types" = "application/x-vnd.Be.URL.finger", + "types" = "application/x-vnd.Be.URL.sh", + "types" = "application/x-vnd.Be.URL.file", + "types" = "application/x-vnd.Be.URL.beshare", + "types" = "application/x-vnd.Be.URL.mms", + "types" = "application/x-vnd.Be.URL.rtp", + "types" = "application/x-vnd.Be.URL.rtsp" }; -resource(1, "BEOS:APP_VERSION") #'APPV' array -{ - $"0000000000000000010000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000" -}; - -resource(1, "BEOS:APP_FLAGS") #'APPF' $"04000000"; From axeld at mail.berlios.de Fri Feb 2 17:20:16 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 17:20:16 +0100 Subject: [Haiku-commits] r20049 - haiku/trunk/src/servers/app Message-ID: <200702021620.l12GKGik016619@sheep.berlios.de> Author: axeld Date: 2007-02-02 17:20:16 +0100 (Fri, 02 Feb 2007) New Revision: 20049 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20049&view=rev Modified: haiku/trunk/src/servers/app/ServerApp.cpp Log: Now checks the screen mode to be set if it is already the active one (and do nothing if that's the case). Accidently this also fixes bug #1010. Modified: haiku/trunk/src/servers/app/ServerApp.cpp =================================================================== --- haiku/trunk/src/servers/app/ServerApp.cpp 2007-02-02 16:05:56 UTC (rev 20048) +++ haiku/trunk/src/servers/app/ServerApp.cpp 2007-02-02 16:20:16 UTC (rev 20049) @@ -2062,7 +2062,7 @@ // 1) screen_id // 2) workspace index // 3) display_mode to set - // 4) 'makedefault' boolean + // 4) 'makeDefault' boolean // TODO: See above: workspaces support, etc. screen_id id; @@ -2078,11 +2078,16 @@ status_t status = link.Read(&makeDefault); if (status == B_OK && fDesktop->LockAllWindows()) { - status = fDesktop->ScreenAt(0)->SetMode(mode, makeDefault); - if (status == B_OK) { - gInputManager->UpdateScreenBounds(fDesktop->ScreenAt(0)->Frame()); - fDesktop->ScreenChanged(fDesktop->ScreenAt(0), makeDefault); - } + display_mode oldMode; + fDesktop->ScreenAt(0)->GetMode(&oldMode); + if (memcmp(&oldMode, &mode, sizeof(display_mode))) { + status = fDesktop->ScreenAt(0)->SetMode(mode, makeDefault); + if (status == B_OK) { + gInputManager->UpdateScreenBounds(fDesktop->ScreenAt(0)->Frame()); + fDesktop->ScreenChanged(fDesktop->ScreenAt(0), makeDefault); + } + } else + status = B_OK; fDesktop->UnlockAllWindows(); } else status = B_ERROR; From wkornewald at haiku-os.org Fri Feb 2 17:26:01 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Fri, 2 Feb 2007 17:26:01 +0100 Subject: [Haiku-commits] r20049 - haiku/trunk/src/servers/app In-Reply-To: <200702021620.l12GKGik016619@sheep.berlios.de> References: <200702021620.l12GKGik016619@sheep.berlios.de> Message-ID: Hi Axel, On 2/2/07, axeld at BerliOS wrote: > Now checks the screen mode to be set if it is already the active one (and do nothing if > that's the case). > Accidently this also fixes bug #1010. Are you sure that this also fixes the workspace bug? I don't know the app_server internals, but it looks like the workspaces parameter is still unused: > + display_mode oldMode; > + fDesktop->ScreenAt(0)->GetMode(&oldMode); > + if (memcmp(&oldMode, &mode, sizeof(display_mode))) { > + status = fDesktop->ScreenAt(0)->SetMode(mode, makeDefault); > + if (status == B_OK) { > + gInputManager->UpdateScreenBounds(fDesktop->ScreenAt(0)->Frame()); > + fDesktop->ScreenChanged(fDesktop->ScreenAt(0), makeDefault); > + } > + } else > + status = B_OK; I'll fix the BScreen::SetMode bug and then I'll check if the workspace settings are indeed applied to only one individual workspace. Bye, Waldemar Kornewald From mmu_man at mail.berlios.de Fri Feb 2 17:51:20 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 17:51:20 +0100 Subject: [Haiku-commits] r20050 - haiku/trunk/src/bin Message-ID: <200702021651.l12GpKid019460@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 17:51:19 +0100 (Fri, 02 Feb 2007) New Revision: 20050 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20050&view=rev Modified: haiku/trunk/src/bin/urlwrapper.cpp Log: Remove some debug output. Implied localhost for finger: and implied current server for BeShare. Modified: haiku/trunk/src/bin/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 16:20:16 UTC (rev 20049) +++ haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 16:51:19 UTC (rev 20050) @@ -88,9 +88,7 @@ status_t Url::ParseAndSplit() { int32 v; - //host = *this; BString left; -printf("s:%s\n", String()); v = FindFirst(":"); if (v < 0) @@ -102,31 +100,39 @@ left.RemoveFirst("//"); // path part + // actually some apps handle file://[host]/path + // but I have no idea what proto it implies... + // or maybe it's just to emphasize on "localhost". v = left.FindFirst("/"); if (v == 0 || proto == "file") { path = left; -printf("path:%s\n", path.String()); return 0; } + // some protos actually implies path if it's the only component + if ((v < 0) && (proto == "beshare" || proto == "irc")) { + path = left; + return 0; + } if (v > -1) { left.MoveInto(path, v+1, left.Length()-v); left.Remove(v, 1); } -printf("path:%s\n", path.String()); // user:pass at host v = left.FindFirst("@"); if (v > -1) { left.MoveInto(user, 0, v); left.Remove(0, 1); -printf("user:%s\n", user.String()); v = user.FindFirst(":"); if (v > -1) { user.MoveInto(pass, v, user.Length() - v); pass.Remove(0, 1); -printf("pass:%s\n", pass.String()); } + } else if (proto == "finger") { + // single component implies user + user = left; + return 0; } // host:port @@ -134,12 +140,10 @@ if (v > -1) { left.MoveInto(port, v + 1, left.Length() - v); left.Remove(v, 1); -printf("port:%s\n", port.String()); } // not much left... host = left; -printf("host:%s\n", host.String()); return 0; } From mmu_man at mail.berlios.de Fri Feb 2 18:00:07 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 2 Feb 2007 18:00:07 +0100 Subject: [Haiku-commits] r20051 - haiku/trunk/src/bin Message-ID: <200702021700.l12H07tC019839@sheep.berlios.de> Author: mmu_man Date: 2007-02-02 18:00:06 +0100 (Fri, 02 Feb 2007) New Revision: 20051 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20051&view=rev Modified: haiku/trunk/src/bin/urlwrapper.cpp Log: Only launch a new instance of BeShare if it's not yet running or we specify a server in the url. Modified: haiku/trunk/src/bin/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 16:51:19 UTC (rev 20050) +++ haiku/trunk/src/bin/urlwrapper.cpp 2007-02-02 17:00:06 UTC (rev 20051) @@ -361,8 +361,12 @@ #ifdef HANDLE_BESHARE if (proto == "beshare") { team_id team; - be_roster->Launch(kBeShareSig, (BMessage *)NULL, &team); - BMessenger msgr(NULL, team); + BMessenger msgr(kBeShareSig); + // if no instance is running, or we want a specific server, start it. + if (!msgr.IsValid() || host.Length()) { + be_roster->Launch(kBeShareSig, (BMessage *)NULL, &team); + msgr = BMessenger(NULL, team); + } if (host.Length()) { BMessage mserver('serv'); mserver.AddString("server", host); From axeld at mail.berlios.de Fri Feb 2 18:12:00 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 18:12:00 +0100 Subject: [Haiku-commits] r20052 - haiku/trunk/src/add-ons/kernel/drivers/tty Message-ID: <200702021712.l12HC0af020613@sheep.berlios.de> Author: axeld Date: 2007-02-02 18:12:00 +0100 (Fri, 02 Feb 2007) New Revision: 20052 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20052&view=rev Modified: haiku/trunk/src/add-ons/kernel/drivers/tty/SemaphorePool.cpp Log: The SemaphorePool method could hand out unbalanced semaphores - it only called Semaphore::ZeroCount() on new semaphores, not on used ones. Found by Stefano, thanks! Modified: haiku/trunk/src/add-ons/kernel/drivers/tty/SemaphorePool.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/tty/SemaphorePool.cpp 2007-02-02 17:00:06 UTC (rev 20051) +++ haiku/trunk/src/add-ons/kernel/drivers/tty/SemaphorePool.cpp 2007-02-02 17:12:00 UTC (rev 20052) @@ -1,5 +1,5 @@ /* - * Copyright 2005, Ingo Weinhold, bonefish at users.sf.net. + * Copyright 2005-2007, Ingo Weinhold, bonefish at users.sf.net. * Distributed under the terms of the MIT License. */ @@ -75,12 +75,6 @@ if (!sem) return B_NO_MEMORY; - status_t error = sem->ZeroCount(); - if (error != B_OK) { - delete sem; - return error; - } - semaphore = sem; return B_OK; } @@ -94,7 +88,9 @@ MutexLocker _(fLock); - if (fCount >= fMaxCount || semaphore->InitCheck() != B_OK) { + if (fCount >= fMaxCount + || semaphore->InitCheck() != B_OK + || semaphore->ZeroCount() != B_OK) { delete semaphore; return; } From axeld at pinc-software.de Fri Feb 2 18:22:15 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Fri, 02 Feb 2007 18:22:15 +0100 CET Subject: [Haiku-commits] r20049 - haiku/trunk/src/servers/app In-Reply-To: Message-ID: <29184793351-BeMail@zon> Hi Waldemar, "Waldemar Kornewald" wrote: > On 2/2/07, axeld at BerliOS wrote: > > Now checks the screen mode to be set if it is already the active > > one (and > > do nothing if that's the case). > > Accidently this also fixes bug #1010. > Are you sure that this also fixes the workspace bug? I don't know the > app_server internals, but it looks like the workspaces parameter is > still unused: I think you misread something: I'm 100% sure it does not fix bug #693 but it also definitely 100% does fix bug #1010. > I'll fix the BScreen::SetMode bug and then I'll check if the > workspace > settings are indeed applied to only one individual workspace. BScreen::SetMode() should use B_CURRENT_WORKSPACE instead of B_ALL_WORKSPACES - that's all. Right now, it doesn't matter at all, yet, as the app_server ignores the workspace when setting a screen mode - and there is *no* reason to work around that without fixing bug #693. Bye, Axel. From wkornewald at mail.berlios.de Fri Feb 2 18:47:03 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Fri, 2 Feb 2007 18:47:03 +0100 Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface Message-ID: <200702021747.l12Hl3g4020399@sheep.berlios.de> Author: wkornewald Date: 2007-02-02 18:47:01 +0100 (Fri, 02 Feb 2007) New Revision: 20053 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20053&view=rev Modified: haiku/trunk/src/kits/interface/Screen.cpp Log: Fixed BScreen::SetMode() to use the current workspace when none is given. Modified: haiku/trunk/src/kits/interface/Screen.cpp =================================================================== --- haiku/trunk/src/kits/interface/Screen.cpp 2007-02-02 17:12:00 UTC (rev 20052) +++ haiku/trunk/src/kits/interface/Screen.cpp 2007-02-02 17:47:01 UTC (rev 20053) @@ -350,7 +350,7 @@ BScreen::SetMode(display_mode *mode, bool makeDefault) { if (fScreen != NULL) - return fScreen->SetMode(B_ALL_WORKSPACES, mode, makeDefault); + return fScreen->SetMode(current_workspace(), mode, makeDefault); return B_ERROR; } From revol at free.fr Fri Feb 2 18:59:41 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Fri, 02 Feb 2007 18:59:41 +0100 CET Subject: [Haiku-commits] r20037 - in haiku/trunk/src/bin: . urlwrapper In-Reply-To: <45C2F06C.3020206@haiku-os.org> Message-ID: <470019177-BeMail@laptop> > mmu_man at BerliOS wrote: > > Author: mmu_man > > Date: 2007-02-02 07:29:42 +0100 (Fri, 02 Feb 2007) > > New Revision: 20037 > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20037&view=rev > > > > Added: > > haiku/trunk/src/bin/urlwrapper/ > > haiku/trunk/src/bin/urlwrapper/makefile > > haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rdef > > haiku/trunk/src/bin/urlwrapper/urlwrapper-res.rsrc > > haiku/trunk/src/bin/urlwrapper/urlwrapper.cpp > > Log: > > An old tool of mine that handles several url mime types, allowing > > to redirect urls to commands line tools. > > Currently supported are telnet:, ssh: and ftp:. > > Would be nice to have support for irc: > I checked but it would only be possible to send the network name to Vision as of yet. It's simpler to add it directly to it anyway. btw, I think your MUA is broken, it doesn't " quote email names with spaces (SVN Commits to the...). Fran?ois. From axeld at mail.berlios.de Fri Feb 2 19:14:26 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 19:14:26 +0100 Subject: [Haiku-commits] r20054 - haiku/trunk/src/servers/app Message-ID: <200702021814.l12IEQa0020513@sheep.berlios.de> Author: axeld Date: 2007-02-02 19:14:25 +0100 (Fri, 02 Feb 2007) New Revision: 20054 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20054&view=rev Modified: haiku/trunk/src/servers/app/Desktop.cpp haiku/trunk/src/servers/app/VirtualScreen.cpp haiku/trunk/src/servers/app/VirtualScreen.h haiku/trunk/src/servers/app/WorkspacesLayer.cpp Log: Resolved a TODO: WorkspacesLayer must take the whole workspaces frame into account, not just the one of the first screen. This also solves a locking bug, as the HWInterface is already read-locked when WorkspacesLayer::Draw() is called. Modified: haiku/trunk/src/servers/app/Desktop.cpp =================================================================== --- haiku/trunk/src/servers/app/Desktop.cpp 2007-02-02 17:47:01 UTC (rev 20053) +++ haiku/trunk/src/servers/app/Desktop.cpp 2007-02-02 18:14:25 UTC (rev 20054) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006, Haiku. + * Copyright 2001-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -961,6 +961,8 @@ window->ServerWindow()->SendMessageToClient(&update); } + fVirtualScreen.UpdateFrame(); + if (makeDefault) { // store settings BMessage settings; Modified: haiku/trunk/src/servers/app/VirtualScreen.cpp =================================================================== --- haiku/trunk/src/servers/app/VirtualScreen.cpp 2007-02-02 17:47:01 UTC (rev 20053) +++ haiku/trunk/src/servers/app/VirtualScreen.cpp 2007-02-02 18:14:25 UTC (rev 20054) @@ -1,5 +1,5 @@ /* - * Copyright 2005-2006, Haiku. + * Copyright 2005-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -155,6 +155,28 @@ } +void +VirtualScreen::UpdateFrame() +{ + int32 virtualWidth = 0, virtualHeight = 0; + + for (int32 i = 0; i < fScreenList.CountItems(); i++) { + Screen* screen = fScreenList.ItemAt(i)->screen; + + uint16 width, height; + uint32 colorSpace; + float frequency; + screen->GetMode(width, height, colorSpace, frequency); + + // TODO: compute virtual size depending on the actual screen position! + virtualWidth += width; + virtualHeight += height; + } + + fFrame.Set(0, 0, virtualWidth - 1, virtualHeight - 1); +} + + /*! Returns the smallest frame that spans over all screens */ Modified: haiku/trunk/src/servers/app/VirtualScreen.h =================================================================== --- haiku/trunk/src/servers/app/VirtualScreen.h 2007-02-02 17:47:01 UTC (rev 20053) +++ haiku/trunk/src/servers/app/VirtualScreen.h 2007-02-02 18:14:25 UTC (rev 20054) @@ -1,5 +1,5 @@ /* - * Copyright 2005, Haiku. + * Copyright 2005-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -37,6 +37,7 @@ status_t AddScreen(Screen* screen); status_t RemoveScreen(Screen* screen); + void UpdateFrame(); BRect Frame() const; // TODO: we need to play with a real multi-screen configuration to Modified: haiku/trunk/src/servers/app/WorkspacesLayer.cpp =================================================================== --- haiku/trunk/src/servers/app/WorkspacesLayer.cpp 2007-02-02 17:47:01 UTC (rev 20053) +++ haiku/trunk/src/servers/app/WorkspacesLayer.cpp 2007-02-02 18:14:25 UTC (rev 20054) @@ -1,5 +1,5 @@ /* - * Copyright 2005-2006, Haiku Inc. + * Copyright 2005-2007, Haiku Inc. * Distributed under the terms of the MIT License. * * Authors: @@ -60,15 +60,7 @@ BRect WorkspacesLayer::_ScreenFrame(int32 i) { - // TODO: we don't need the current screen frame, but the one - // from the workspace! - uint16 width, height; - uint32 colorSpace; - float frequency; - Window()->Desktop()->ScreenAt(0)->GetMode(width, height, - colorSpace, frequency); - - return BRect(0, 0, width - 1, height - 1); + return Window()->Desktop()->VirtualScreen().Frame(); } From wkornewald at haiku-os.org Fri Feb 2 19:32:18 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Fri, 2 Feb 2007 19:32:18 +0100 Subject: [Haiku-commits] r20049 - haiku/trunk/src/servers/app In-Reply-To: <29184793351-BeMail@zon> References: <29184793351-BeMail@zon> Message-ID: Hi Axel, On 2/2/07, Axel D?rfler wrote: > > I'll fix the BScreen::SetMode bug and then I'll check if the > > workspace > > settings are indeed applied to only one individual workspace. > > BScreen::SetMode() should use B_CURRENT_WORKSPACE instead of > B_ALL_WORKSPACES - that's all. > Right now, it doesn't matter at all, yet, as the app_server ignores the > workspace when setting a screen mode - and there is *no* reason to work > around that without fixing bug #693. Sorry, I committed before having checked my mail another time. At least, now nobody can forget to fix SetMode() and it doesn't hurt... Bye, Waldemar Kornewald From axeld at mail.berlios.de Fri Feb 2 20:16:19 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 2 Feb 2007 20:16:19 +0100 Subject: [Haiku-commits] r20055 - in haiku/trunk/src/servers/app: . drawing Message-ID: <200702021916.l12JGJMI007262@sheep.berlios.de> Author: axeld Date: 2007-02-02 20:16:18 +0100 (Fri, 02 Feb 2007) New Revision: 20055 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20055&view=rev Modified: haiku/trunk/src/servers/app/DesktopSettings.cpp haiku/trunk/src/servers/app/MultiLocker.cpp haiku/trunk/src/servers/app/MultiLocker.h haiku/trunk/src/servers/app/drawing/HWInterface.h Log: * Replaced DEBUG MultiLocker with an implementation that actually helps debugging locking problems (instead of debugging the locker class). * MultiLocker::IsReadLocked() is now only exported with DEBUG mode turned on, as it only works correctly in this case. * Made MultiLocker safe against B_INTERRUPTED, ie. it now just tries to lock again instead of failing for no obvious reason. * Removed bogus arguments to acquire_sem_etc() in MultiLocker (like B_DO_NOT_RESCHEDULE). * Applied coding style to MultiLocker. Modified: haiku/trunk/src/servers/app/DesktopSettings.cpp =================================================================== --- haiku/trunk/src/servers/app/DesktopSettings.cpp 2007-02-02 18:14:25 UTC (rev 20054) +++ haiku/trunk/src/servers/app/DesktopSettings.cpp 2007-02-02 19:16:18 UTC (rev 20055) @@ -456,8 +456,11 @@ : fSettings(desktop->fSettings) { - if (!desktop->fWindowLock.IsReadLocked() && !desktop->fWindowLock.IsWriteLocked()) +#if DEBUG + if (!desktop->fWindowLock.IsWriteLocked() + && !desktop->fWindowLock.IsReadLocked()) debugger("desktop not locked when trying to access settings"); +#endif } Modified: haiku/trunk/src/servers/app/MultiLocker.cpp =================================================================== --- haiku/trunk/src/servers/app/MultiLocker.cpp 2007-02-02 18:14:25 UTC (rev 20054) +++ haiku/trunk/src/servers/app/MultiLocker.cpp 2007-02-02 19:16:18 UTC (rev 20055) @@ -1,41 +1,50 @@ -/* MultiLocker.cpp */ /* - Copyright 1999, Be Incorporated. All Rights Reserved. - This file may be used under the terms of the Be Sample Code License. -*/ + * Copyright 2005-2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT license. + * + * Copyright 1999, Be Incorporated. All Rights Reserved. + * This file may be used under the terms of the Be Sample Code License. + */ + #include "MultiLocker.h" #include #include #include -//#define TIMING 1 -//#define DEBUG 1 +#define TIMING MULTI_LOCKER_TIMING +#define DEBUG MULTI_LOCKER_DEBUG -MultiLocker::MultiLocker(const char* semaphoreBaseName) - : fInit(B_NO_INIT), - fReadCount(0), - fReadSem(-1), - fWriteCount(0), - fWriteSem(-1), - fLockCount(0), - fWriterLock(-1), - fWriterNest(0), - fWriterThread(-1), - fWriterStackBase(0), - fDebugArray(NULL), - fMaxThreads(0) + +const int32 LARGE_NUMBER = 100000; + + +MultiLocker::MultiLocker(const char* baseName) + : +#if DEBUG + fDebugArray(NULL), + fMaxThreads(0), +#else + fReadCount(0), + fWriteCount(0), + fLockCount(0), +#endif + fInit(B_NO_INIT), + fWriterNest(0), + fWriterThread(-1), + fWriterStackBase(0) { - //build the semaphores - if (semaphoreBaseName) { + // build the semaphores +#if !DEBUG + if (baseName) { char name[128]; - sprintf(name, "%s-%s", semaphoreBaseName, "ReadSem"); + sprintf(name, "%s-%s", baseName, "ReadSem"); fReadSem = create_sem(0, name); - sprintf(name, "%s-%s", semaphoreBaseName, "WriteSem"); + sprintf(name, "%s-%s", baseName, "WriteSem"); fWriteSem = create_sem(0, name); - sprintf(name, "%s-%s", semaphoreBaseName, "WriterLock"); + sprintf(name, "%s-%s", baseName, "WriterLock"); fWriterLock = create_sem(0, name); } else { fReadSem = create_sem(0, "MultiLocker_ReadSem"); @@ -45,383 +54,474 @@ if (fReadSem >= 0 && fWriteSem >=0 && fWriterLock >= 0) fInit = B_OK; - +#else + fLock = create_sem(LARGE_NUMBER, baseName != NULL ? baseName : "MultiLocker"); + if (fLock >= 0) + fInit = B_OK; + + // we are in debug mode! + // create the reader tracking list + // the array needs to be large enough to hold all possible threads + system_info sys; + get_system_info(&sys); + fMaxThreads = sys.max_threads; + fDebugArray = (int32 *) malloc(fMaxThreads * sizeof(int32)); + for (int32 i = 0; i < fMaxThreads; i++) { + fDebugArray[i] = 0; + } +#endif +#if TIMING + //initialize the counter variables + rl_count = ru_count = wl_count = wu_count = islock_count = 0; + rl_time = ru_time = wl_time = wu_time = islock_time = 0; #if DEBUG - //we are in debug mode! - //create the reader tracking list - //the array needs to be large enough to hold all possible threads - system_info sys; - get_system_info(&sys); - fMaxThreads = sys.max_threads; - fDebugArray = (int32 *) malloc(fMaxThreads * sizeof(int32)); - for (int32 i = 0; i < fMaxThreads; i++) { - fDebugArray[i] = 0; - } - + reg_count = unreg_count = 0; + reg_time = unreg_time = 0; #endif - #if TIMING - //initialize the counter variables - rl_count = ru_count = wl_count = wu_count = islock_count = 0; - rl_time = ru_time = wl_time = wu_time = islock_time = 0; - #if DEBUG - reg_count = unreg_count = 0; - reg_time = unreg_time = 0; - #endif - #endif +#endif } MultiLocker::~MultiLocker() { - //become the writer - if (!IsWriteLocked()) WriteLock(); - - //set locker to be uninitialized + // become the writer + if (!IsWriteLocked()) + WriteLock(); + + // set locker to be uninitialized fInit = B_NO_INIT; - //delete the semaphores +#if !DEBUG + // delete the semaphores delete_sem(fReadSem); delete_sem(fWriteSem); delete_sem(fWriterLock); - - #if DEBUG - //we are in debug mode! - //clear and delete the reader tracking list - free(fDebugArray); - #endif - #if TIMING - //let's produce some performance numbers - printf("MultiLocker Statistics:\n" - "Avg ReadLock: %lld\n" - "Avg ReadUnlock: %lld\n" - "Avg WriteLock: %lld\n" - "Avg WriteUnlock: %lld\n" - "Avg IsWriteLocked: %lld\n", - rl_count > 0 ? rl_time / rl_count : 0, - ru_count > 0 ? ru_time / ru_count : 0, - wl_count > 0 ? wl_time / wl_count : 0, - wu_count > 0 ? wu_time / wu_count : 0, - islock_count > 0 ? islock_time / islock_count : 0 - ); - #if DEBUG - printf( "Avg register_thread: %lld\n" - "Avg unregister_thread: %lld\n", - reg_count > 0 ? reg_time / reg_count : 0, - unreg_count > 0 ? unreg_time / unreg_count : 0 - ); - #endif - #endif +#else + delete_sem(fLock); + free(fDebugArray); +#endif +#if TIMING + // let's produce some performance numbers + printf("MultiLocker Statistics:\n" + "Avg ReadLock: %lld\n" + "Avg ReadUnlock: %lld\n" + "Avg WriteLock: %lld\n" + "Avg WriteUnlock: %lld\n" + "Avg IsWriteLocked: %lld\n", + rl_count > 0 ? rl_time / rl_count : 0, + ru_count > 0 ? ru_time / ru_count : 0, + wl_count > 0 ? wl_time / wl_count : 0, + wu_count > 0 ? wu_time / wu_count : 0, + islock_count > 0 ? islock_time / islock_count : 0); +#endif } -status_t + +status_t MultiLocker::InitCheck() { return fInit; } -bool + +/*! + This function demonstrates a nice method of determining if the current thread + is the writer or not. The method involves caching the index of the page in memory + where the thread's stack is located. Each time a new writer acquires the lock, + its thread_id and stack_page are recorded. IsWriteLocked gets the stack_page of the + current thread and sees if it is a match. If the stack_page matches you are guaranteed + to have the matching thread. If the stack page doesn't match the more traditional + find_thread(NULL) method of matching the thread_ids is used. + + This technique is very useful when dealing with a lock that is acquired in a nested fashion. + It could be expanded to cache the information of the last thread in the lock, and then if + the same thread returns while there is no one in the lock, it could save some time, if the + same thread is likely to acquire the lock again and again. + I should note another shortcut that could be implemented here + If fWriterThread is set to -1 then there is no writer in the lock, and we could + return from this function much faster. However the function is currently set up + so all of the stack_base and thread_id info is determined here. WriteLock passes + in some variables so that if the lock is not held it does not have to get the thread_id + and stack base again. Instead this function returns that information. So this shortcut + would only move this information gathering outside of this function, and I like it all + contained. +*/ +bool +MultiLocker::IsWriteLocked(uint32* _stackBase, thread_id* _thread) +{ +#if TIMING + bigtime_t start = system_time(); +#endif + + // get a variable on the stack + bool writeLockHolder = false; + + if (fInit == B_OK) { + // determine which page in memory this stack represents + // this is managed by taking the address of the item on the + // stack and dividing it by the size of the memory pages + // if it is the same as the cached stack_page, there is a match + uint32 stackBase = (uint32)&writeLockHolder / B_PAGE_SIZE; + thread_id thread = 0; + + if (fWriterStackBase == stackBase) { + writeLockHolder = true; + } else { + // as there was no stack page match we resort to the + // tried and true methods + thread = find_thread(NULL); + if (fWriterThread == thread) + writeLockHolder = true; + } + + // if someone wants this information, give it to them + if (_stackBase != NULL) + *_stackBase = stackBase; + if (_thread != NULL) + *_thread = thread; + } + +#if TIMING + bigtime_t end = system_time(); + islock_time += (end - start); + islock_count++; +#endif + + return writeLockHolder; +} + + +#if !DEBUG +// #pragma mark - Standard versions + + +bool MultiLocker::ReadLock() { - #if TIMING - bigtime_t start = system_time(); - #endif +#if TIMING + bigtime_t start = system_time(); +#endif bool locked = false; - //the lock must be initialized + // the lock must be initialized if (fInit == B_OK) { if (IsWriteLocked()) { - //the writer simply increments the nesting - #if DEBUG - if (fWriterNest < 0) - debugger("ReadLock() - negative writer nest count\n"); - #endif - + // the writer simply increments the nesting fWriterNest++; locked = true; } else { - //increment and retrieve the current count of readers - int32 current_count = atomic_add(&fReadCount, 1); - if (current_count < 0) { - //a writer holds the lock so wait for fReadSem to be released - locked = (acquire_sem_etc(fReadSem, 1, B_DO_NOT_RESCHEDULE, - B_INFINITE_TIMEOUT) == B_OK); - } else locked = true; - #if DEBUG - //register if we acquired the lock - if (locked) register_thread(); - #endif + // increment and retrieve the current count of readers + int32 currentCount = atomic_add(&fReadCount, 1); + if (currentCount < 0) { + // a writer holds the lock so wait for fReadSem to be released + status_t status; + do { + status = acquire_sem(fReadSem); + } while (status == B_INTERRUPTED); + + locked = status == B_OK; + } else + locked = true; } - } - - #if TIMING - bigtime_t end = system_time(); - rl_time += (end - start); - rl_count++; - #endif +#if TIMING + bigtime_t end = system_time(); + rl_time += (end - start); + rl_count++; +#endif + return locked; } -bool + +bool MultiLocker::WriteLock() { - #if TIMING - bigtime_t start = system_time(); - #endif +#if TIMING + bigtime_t start = system_time(); +#endif bool locked = false; - + if (fInit == B_OK) { - uint32 stack_base = 0; + uint32 stackBase = 0; thread_id thread = -1; - if (IsWriteLocked(&stack_base, &thread)) { - //already the writer - increment the nesting count - #if DEBUG - if (fWriterNest < 0) - debugger("WriteLock() - negative nest count\n"); - #endif - + if (IsWriteLocked(&stackBase, &thread)) { + // already the writer - increment the nesting count fWriterNest++; locked = true; } else { - //new writer acquiring the lock - #if DEBUG - // NOTE: IsReadLocked() tells you - // if this thread really holds the - // "read lock" only in DEBUG mode! - if (IsReadLocked()) - debugger("Reader wants to become writer!"); - #endif + // new writer acquiring the lock if (atomic_add(&fLockCount, 1) >= 1) { - //another writer in the lock - acquire the semaphore - locked = (acquire_sem_etc(fWriterLock, 1, B_DO_NOT_RESCHEDULE, - B_INFINITE_TIMEOUT) == B_OK); - } else locked = true; - + // another writer in the lock - acquire the semaphore + status_t status; + do { + status = acquire_sem(fWriterLock); + } while (status == B_INTERRUPTED); + + locked = status == B_OK; + } else + locked = true; + if (locked) { - //new holder of the lock + // new holder of the lock - //decrement fReadCount by a very large number - //this will cause new readers to block on fReadSem + // decrement fReadCount by a very large number + // this will cause new readers to block on fReadSem int32 readers = atomic_add(&fReadCount, -LARGE_NUMBER); - - if (readers > 0) { - //readers hold the lock - acquire fWriteSem - locked = (acquire_sem_etc(fWriteSem, readers, - B_DO_NOT_RESCHEDULE, - B_INFINITE_TIMEOUT) == B_OK); - } + if (readers > 0) { + // readers hold the lock - acquire fWriteSem + status_t status; + do { + status = acquire_sem_etc(fWriteSem, readers, 0, 0); + } while (status == B_INTERRUPTED); + + locked = status == B_OK; + } if (locked) { ASSERT(fWriterThread == -1); - //record thread information + // record thread information fWriterThread = thread; - fWriterStackBase = stack_base; + fWriterStackBase = stackBase; } } } } - #if TIMING - bigtime_t end = system_time(); - wl_time += (end - start); - wl_count++; - #endif +#if TIMING + bigtime_t end = system_time(); + wl_time += (end - start); + wl_count++; +#endif return locked; } -bool + +bool MultiLocker::ReadUnlock() { - #if TIMING - bigtime_t start = system_time(); - #endif +#if TIMING + bigtime_t start = system_time(); +#endif bool unlocked = false; if (IsWriteLocked()) { - //writers simply decrement the nesting count + // writers simply decrement the nesting count fWriterNest--; - - #if DEBUG - if (fWriterNest < 0) - debugger("ReadUnlock() - negative writer nest count\n"); - #endif - unlocked = true; } else { - //decrement and retrieve the read counter + // decrement and retrieve the read counter int32 current_count = atomic_add(&fReadCount, -1); if (current_count < 0) { - //a writer is waiting for the lock so release fWriteSem - unlocked = (release_sem_etc(fWriteSem, 1, - B_DO_NOT_RESCHEDULE) == B_OK); - } else unlocked = true; - - #if DEBUG - //unregister if we released the lock - if (unlocked) unregister_thread(); - #endif + // a writer is waiting for the lock so release fWriteSem + unlocked = release_sem_etc(fWriteSem, 1, B_DO_NOT_RESCHEDULE) == B_OK; + } else + unlocked = true; } - - #if TIMING - bigtime_t end = system_time(); - ru_time += (end - start); - ru_count++; - #endif +#if TIMING + bigtime_t end = system_time(); + ru_time += (end - start); + ru_count++; +#endif + return unlocked; } -bool + +bool MultiLocker::WriteUnlock() { - #if TIMING - bigtime_t start = system_time(); - #endif +#if TIMING + bigtime_t start = system_time(); +#endif bool unlocked = false; if (IsWriteLocked()) { - //if this is a nested lock simply decrement the nest count + // if this is a nested lock simply decrement the nest count if (fWriterNest > 0) { fWriterNest--; - - #if DEBUG - if (fWriterNest < 0) - debugger("WriteUnlock(): nest count now negative\n"); - #endif - unlocked = true; } else { - //writer finally unlocking + // writer finally unlocking - //increment fReadCount by a large number - //this will let new readers acquire the read lock - //retrieve the number of current waiters + // increment fReadCount by a large number + // this will let new readers acquire the read lock + // retrieve the number of current waiters int32 readersWaiting = atomic_add(&fReadCount, LARGE_NUMBER) + LARGE_NUMBER; - + if (readersWaiting > 0) { - //readers are waiting to acquire the lock - unlocked = (release_sem_etc(fReadSem, readersWaiting, - B_DO_NOT_RESCHEDULE) == B_OK); - } else unlocked = true; - + // readers are waiting to acquire the lock + unlocked = release_sem_etc(fReadSem, readersWaiting, + B_DO_NOT_RESCHEDULE) == B_OK; + } else + unlocked = true; + if (unlocked) { - //clear the information + // clear the information fWriterThread = -1; fWriterStackBase = 0; - - //decrement and retrieve the lock count + + // decrement and retrieve the lock count if (atomic_add(&fLockCount, -1) > 1) { - //other writers are waiting so release fWriterLock - unlocked = (release_sem_etc(fWriterLock, 1, - B_DO_NOT_RESCHEDULE) == B_OK); + // other writers are waiting so release fWriterLock + unlocked = release_sem_etc(fWriterLock, 1, + B_DO_NOT_RESCHEDULE) == B_OK; } } } - - } else debugger("Non-writer attempting to WriteUnlock()\n"); + } else + debugger("Non-writer attempting to WriteUnlock()"); - #if TIMING - bigtime_t end = system_time(); - wu_time += (end - start); - wu_count++; - #endif +#if TIMING + bigtime_t end = system_time(); + wu_time += (end - start); + wu_count++; +#endif return unlocked; } -/* this function demonstrates a nice method of determining if the current thread */ -/* is the writer or not. The method involves caching the index of the page in memory */ -/* where the thread's stack is located. Each time a new writer acquires the lock, */ -/* its thread_id and stack_page are recorded. IsWriteLocked gets the stack_page of the */ -/* current thread and sees if it is a match. If the stack_page matches you are guaranteed */ -/* to have the matching thread. If the stack page doesn't match the more traditional */ -/* find_thread(NULL) method of matching the thread_ids is used. */ -/* This technique is very useful when dealing with a lock that is acquired in a nested fashion. */ -/* It could be expanded to cache the information of the last thread in the lock, and then if */ -/* the same thread returns while there is no one in the lock, it could save some time, if the */ -/* same thread is likely to acquire the lock again and again. */ -/* I should note another shortcut that could be implemented here */ -/* If fWriterThread is set to -1 then there is no writer in the lock, and we could */ -/* return from this function much faster. However the function is currently set up */ -/* so all of the stack_base and thread_id info is determined here. WriteLock passes */ -/* in some variables so that if the lock is not held it does not have to get the thread_id */ -/* and stack base again. Instead this function returns that information. So this shortcut */ -/* would only move this information gathering outside of this function, and I like it all */ -/* contained. */ +#else // DEBUG +// #pragma mark - Debug versions -bool -MultiLocker::IsWriteLocked(uint32 *the_stack_base, thread_id *the_thread) + +bool +MultiLocker::ReadLock() { - #if TIMING - bigtime_t start = system_time(); - #endif + bool locked = false; - //get a variable on the stack - bool write_lock_holder = false; + if (fInit != B_OK) + debugger("lock not initialized"); - if (fInit == B_OK) { - uint32 stack_base; - thread_id thread = 0; - - //determine which page in memory this stack represents - //this is managed by taking the address of the item on the - //stack and dividing it by the size of the memory pages - //if it is the same as the cached stack_page, there is a match - stack_base = (uint32)&write_lock_holder / B_PAGE_SIZE; - if (fWriterStackBase == stack_base) { - write_lock_holder = true; + if (IsWriteLocked()) { + if (fWriterNest < 0) + debugger("ReadLock() - negative writer nest count"); + + fWriterNest++; + locked = true; + } else { + status_t status; + do { + status = acquire_sem(fLock); + } while (status == B_INTERRUPTED); + + locked = status == B_OK; + + if (locked) + _RegisterThread(); + } + + return locked; +} + + +bool +MultiLocker::WriteLock() +{ + bool locked = false; + + if (fInit != B_OK) + debugger("lock not initialized"); + + uint32 stackBase = 0; + thread_id thread = -1; + + if (IsWriteLocked(&stackBase, &thread)) { + if (fWriterNest < 0) + debugger("WriteLock() - negative writer nest count"); + + fWriterNest++; + locked = true; + } else { + // new writer acquiring the lock + if (IsReadLocked()) + debugger("Reader wants to become writer!"); + + status_t status; + do { + status = acquire_sem_etc(fLock, LARGE_NUMBER, 0, 0); + } while (status == B_INTERRUPTED); + + locked = status == B_OK; + if (locked) { + // record thread information + fWriterThread = thread; + fWriterStackBase = stackBase; + } + } + + return locked; +} + + +bool +MultiLocker::ReadUnlock() +{ + bool unlocked = false; + + if (IsWriteLocked()) { + // writers simply decrement the nesting count + fWriterNest--; + if (fWriterNest < 0) + debugger("ReadUnlock() - negative writer nest count"); + + unlocked = true; + } else { + // decrement and retrieve the read counter + unlocked = release_sem_etc(fLock, 1, B_DO_NOT_RESCHEDULE) == B_OK; + if (unlocked) + _UnregisterThread(); + } + + return unlocked; +} + + +bool +MultiLocker::WriteUnlock() +{ + bool unlocked = false; + + if (IsWriteLocked()) { + // if this is a nested lock simply decrement the nest count + if (fWriterNest > 0) { + fWriterNest--; + unlocked = true; } else { - //as there was no stack_page match we resort to the - //tried and true methods - thread = find_thread(NULL); - if (fWriterThread == thread) { - write_lock_holder = true; + unlocked = release_sem_etc(fLock, LARGE_NUMBER, B_DO_NOT_RESCHEDULE) == B_OK; + if (unlocked) { + // clear the information + fWriterThread = -1; + fWriterStackBase = 0; } } - - //if someone wants this information, give it to them - if (the_stack_base != NULL) { - *the_stack_base = stack_base; - } - if (the_thread != NULL) { - *the_thread = thread; - } + } else { + debug_printf("write holder %ld\n", fWriterThread); + debugger("Non-writer attempting to WriteUnlock()"); } - #if TIMING - bigtime_t end = system_time(); - islock_time += (end - start); - islock_count++; - #endif - - return write_lock_holder; + return unlocked; } -bool + +bool MultiLocker::IsReadLocked() { - //a properly initialized MultiLocker in non-debug always returns true - bool locked = true; - if (fInit == B_NO_INIT) locked = false; - - #if DEBUG - //determine if the lock is actually held - thread_id thread = find_thread(NULL); - if (fDebugArray[thread % fMaxThreads] > 0) - locked = true; - else - locked = false; - #endif - - return locked; + if (fInit == B_NO_INIT) + return false; + + // determine if the lock is actually held + thread_id thread = find_thread(NULL); + return fDebugArray[thread % fMaxThreads] > 0; } @@ -446,54 +546,25 @@ /* traversing a list of cached information. As this is only for a debug mode, the extra memory */ /* was not deemed to be a problem */ -void -MultiLocker::register_thread() +void +MultiLocker::_RegisterThread() { - #if DEBUG - #if TIMING - bigtime_t start = system_time(); - #endif + thread_id thread = find_thread(NULL); - thread_id thread = find_thread(NULL); - - if (fDebugArray[thread%fMaxThreads] != 0) - debugger("Nested ReadLock!\n"); + if (fDebugArray[thread % fMaxThreads] != 0) + debugger("Nested ReadLock!"); - fDebugArray[thread%fMaxThreads]++; - - #if TIMING - bigtime_t end = system_time(); - reg_time += (end - start); - reg_count++; - #endif - #else - debugger("register_thread should never be called unless in DEBUG mode!\n"); - #endif + fDebugArray[thread % fMaxThreads]++; } -void -MultiLocker::unregister_thread() + +void +MultiLocker::_UnregisterThread() { - #if DEBUG - #if TIMING - bigtime_t start = system_time(); - #endif + thread_id thread = find_thread(NULL); - thread_id thread = find_thread(NULL); - - ASSERT(fDebugArray[thread%fMaxThreads] == 1); - fDebugArray[thread%fMaxThreads]--; - - #if TIMING - bigtime_t end = system_time(); - unreg_time += (end - start); - unreg_count++; - #endif - #else - debugger("unregister_thread should never be called unless in DEBUG mode!\n"); - #endif - + ASSERT(fDebugArray[thread % fMaxThreads] == 1); + fDebugArray[thread % fMaxThreads]--; } - - +#endif // DEBUG Modified: haiku/trunk/src/servers/app/MultiLocker.h =================================================================== --- haiku/trunk/src/servers/app/MultiLocker.h 2007-02-02 18:14:25 UTC (rev 20054) +++ haiku/trunk/src/servers/app/MultiLocker.h 2007-02-02 19:16:18 UTC (rev 20055) @@ -1,14 +1,13 @@ -/* MultiLocker.h */ /* - Copyright 2005-2006, Haiku. - Distributed under the terms of the MIT license. + * Copyright 2005-2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT license. + * + * Copyright 1999, Be Incorporated. All Rights Reserved. + * This file may be used under the terms of the Be Sample Code License. + */ - Copyright 1999, Be Incorporated. All Rights Reserved. - This file may be used under the terms of the Be Sample Code License. -*/ +/*! multiple-reader single-writer locking class */ -/** multiple-reader single-writer locking class */ - // IMPORTANT: // * nested read locks are not supported // * a reader becomming the write is not supported @@ -19,125 +18,142 @@ #ifndef MULTI_LOCKER_H #define MULTI_LOCKER_H -//#define TIMING 1 #include -const int32 LARGE_NUMBER = 100000; +#define MULTI_LOCKER_TIMING 0 +#if DEBUG +# define MULTI_LOCKER_DEBUG DEBUG +#else +# define MULTI_LOCKER_DEBUG 0 +#endif + class MultiLocker { public: - MultiLocker(const char* semaphoreBaseName); - virtual ~MultiLocker(); + MultiLocker(const char* baseName); + virtual ~MultiLocker(); + + status_t InitCheck(); - status_t InitCheck(); - - //locking for reading or writing - bool ReadLock(); - bool WriteLock(); + // locking for reading or writing + bool ReadLock(); + bool WriteLock(); - //unlocking after reading or writing - bool ReadUnlock(); - bool WriteUnlock(); + // unlocking after reading or writing + bool ReadUnlock(); + bool WriteUnlock(); - //does the current thread hold a write lock ? - bool IsWriteLocked(uint32 *stack_base = NULL, - thread_id *thread = NULL); - //in DEBUG mode returns whether the lock is held - //in non-debug mode returns true - bool IsReadLocked(); + // does the current thread hold a write lock ? + bool IsWriteLocked(uint32 *stackBase = NULL, + thread_id *thread = NULL); +#if MULTI_LOCKER_DEBUG + // in DEBUG mode returns whether the lock is held + // in non-debug mode returns true + bool IsReadLocked(); +#endif + private: - //functions for managing the DEBUG reader array - void register_thread(); - void unregister_thread(); - - status_t fInit; - //readers adjust count and block on fReadSem when a writer - //hold the lock - int32 fReadCount; - sem_id fReadSem; - //writers adjust the count and block on fWriteSem - //when readers hold the lock - int32 fWriteCount; - sem_id fWriteSem; - //writers must acquire fWriterLock when acquiring a write lock [... truncated: 186 lines follow ...] From axeld at pinc-software.de Fri Feb 2 20:23:35 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Fri, 02 Feb 2007 20:23:35 +0100 CET Subject: [Haiku-commits] r20049 - haiku/trunk/src/servers/app In-Reply-To: Message-ID: <36464474028-BeMail@zon> "Waldemar Kornewald" wrote: > On 2/2/07, Axel D?rfler wrote: > > > I'll fix the BScreen::SetMode bug and then I'll check if the > > > workspace > > > settings are indeed applied to only one individual workspace. > > BScreen::SetMode() should use B_CURRENT_WORKSPACE instead of > > B_ALL_WORKSPACES - that's all. > > Right now, it doesn't matter at all, yet, as the app_server ignores > > the > > workspace when setting a screen mode - and there is *no* reason to > > work > > around that without fixing bug #693. > Sorry, I committed before having checked my mail another time. At > least, now nobody can forget to fix SetMode() and it doesn't hurt... I meant on the app_server side - it's definitely no problem that you fixed BScreen ;-) Bye, Axel. From geist at foobox.com Sat Feb 3 08:11:02 2007 From: geist at foobox.com (Travis Geiselbrecht) Date: Fri, 2 Feb 2007 23:11:02 -0800 Subject: [Haiku-commits] r20028 - in haiku/trunk: headers/private/kernel src/system/kernel/vm In-Reply-To: <200702011212.l11CCu2F028477@sheep.berlios.de> References: <200702011212.l11CCu2F028477@sheep.berlios.de> Message-ID: <407EBA8B-BE53-417B-AA1F-BB45361CD87B@foobox.com> On Feb 1, 2007, at 4:12 AM, axeld at BerliOS wrote: > Author: axeld > Date: 2007-02-01 13:12:54 +0100 (Thu, 01 Feb 2007) > New Revision: 20028 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20028&view=rev > > Modified: > haiku/trunk/headers/private/kernel/vm_types.h > haiku/trunk/src/system/kernel/vm/vm.cpp > haiku/trunk/src/system/kernel/vm/vm_cache.c > Log: > Fixed a couple of issues in our VM: > * NOTE: a major problem still persists: when removing a vm_cache, > it's possible > that some of its pages are still mapped, and there is currently > no mechanism > to get rid of these mappings! I've added TODO comments into > vm_cache.c where > appropriate. Hmm, this doesn't feel right. I'll have to remember what i was thinking, but it really feels like I intended for all the pages have been unmapped by the time the cache gets to it's last ref. It *shouldn't* have the last ref removed until the last area unmaps it, and if the code was working right, the area code will have already iterated over the virtual space and unmapped the pages. I fixed a bug in that recently that keeps someone from faulting in that area while it's being removed. However, this may just be a manifestation of the fact that the map counts on the vm_pages have gotten out of sync with reality, which should be easy enough to fix. You had mentioned something about keeping reverse mappings of every vm_page, which is probably worth doing. If anything it lets us rewrite the page scanner to be a physical scanner. The only tricky part is pure data structure stuff: where do you get the bits to store that info. I think FreeBSD, for example, keeps a pool of structures that hang in a linked list off the vm_page (or equivalent thereof). I think it's Yet Another Resource The Kernel Can Run Out Of, though. I hate those. Travis From michael.pfeiffer at utanet.at Sat Feb 3 13:00:53 2007 From: michael.pfeiffer at utanet.at (Michael Pfeiffer) Date: Sat, 3 Feb 2007 13:00:53 +0100 Subject: [Haiku-commits] Recursive processing of BLooper messages Message-ID: Hi I do not know how to solve the following problem: In BeOS R5 you can call BPrintJob.ConfigPage() inside a BLooper hook method and although the method ConfigPage() did not return yet, the calling BLooper still is processing messages sent to it. In the Haiku implementation of ConfigPage(). A synchronous message is sent to the print_server, the print_server then opens the dialog and when the dialog is closed it sends a response. ConfigPage() handles the response message and returns. Of course this blocks the calling thread. In case the calling thread is a BLooper thread. My idea is to do the communication with the print_server in a separate thread. In the meantime ConfigPage() keeps processing the messages sent to the BLooper until the spawned thread terminates. What are your thoughts? How can the nested processing of messages be accomplished? Are there other ways to do that? - Michael PS: Cross-posting to get more attention. Please reply to open-beos- printing at freelists.org if possible. From bonefish at mail.berlios.de Sat Feb 3 12:26:48 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Sat, 3 Feb 2007 12:26:48 +0100 Subject: [Haiku-commits] r20056 - haiku/trunk/src/tests/servers/registrar Message-ID: <200702031126.l13BQmxt001434@sheep.berlios.de> Author: bonefish Date: 2007-02-03 12:26:48 +0100 (Sat, 03 Feb 2007) New Revision: 20056 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20056&view=rev Modified: haiku/trunk/src/tests/servers/registrar/Jamfile Log: Fixed RosterShell build for Haiku. Modified: haiku/trunk/src/tests/servers/registrar/Jamfile =================================================================== --- haiku/trunk/src/tests/servers/registrar/Jamfile 2007-02-02 19:16:18 UTC (rev 20055) +++ haiku/trunk/src/tests/servers/registrar/Jamfile 2007-02-03 11:26:48 UTC (rev 20056) @@ -14,7 +14,7 @@ SimpleTest RosterShell : RosterShell.cpp - : be stdc++.r4 + : be $(TARGET_LIBSTDC++) ; SimpleTest message_deliverer_test : message_deliverer_test.cpp : be ; From darkwyrm at mail.berlios.de Sat Feb 3 13:14:01 2007 From: darkwyrm at mail.berlios.de (darkwyrm at BerliOS) Date: Sat, 3 Feb 2007 13:14:01 +0100 Subject: [Haiku-commits] r20057 - haiku/trunk/src/preferences/screen Message-ID: <200702031214.l13CE1ps031842@sheep.berlios.de> Author: darkwyrm Date: 2007-02-03 13:14:00 +0100 (Sat, 03 Feb 2007) New Revision: 20057 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20057&view=rev Modified: haiku/trunk/src/preferences/screen/MonitorView.cpp Log: Fixed build for R5 target Modified: haiku/trunk/src/preferences/screen/MonitorView.cpp =================================================================== --- haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-03 11:26:48 UTC (rev 20056) +++ haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-03 12:14:00 UTC (rev 20057) @@ -132,16 +132,6 @@ } -#ifdef HAIKU_TARGET_PLATFORM_BEOS -// r5 doesn't have this one -bool -operator!=(const rgb_color &a, const rgb_color &b) -{ - return a.red != b.red || a.green != b.green || a.blue != b.blue; -} -#endif - - void MonitorView::MessageReceived(BMessage* message) { From axeld at pinc-software.de Sat Feb 3 13:18:03 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 13:18:03 +0100 CET Subject: [Haiku-commits] =?iso-8859-15?q?r20028_-_in_haiku/trunk=3A_header?= =?iso-8859-15?q?s/private/kernel_src/system/kernel/vm?= In-Reply-To: <407EBA8B-BE53-417B-AA1F-BB45361CD87B@foobox.com> Message-ID: <3267291020-BeMail@zon> Travis Geiselbrecht wrote: > Hmm, this doesn't feel right. I'll have to remember what i was > thinking, but it really feels like I intended for all the pages have > been unmapped by the time the cache gets to it's last ref. It > *shouldn't* have the last ref removed until the last area unmaps it, > and if the code was working right, the area code will have already > iterated over the virtual space and unmapped the pages. I fixed a bug > in that recently that keeps someone from faulting in that area while > it's being removed. Maybe I haven't thought this through. Now that I do, it seems to be indeed impossible that a duplicate page (when two caches are merged) can still be mapped by an upper area; the base cache of a copy-on-write operation cannot be changed anymore. That just happened before because of the locking problems. > You had mentioned something about keeping reverse mappings of every > vm_page, which is probably worth doing. If anything it lets us > rewrite the page scanner to be a physical scanner. The only tricky > part is pure data structure stuff: where do you get the bits to store > that info. I think FreeBSD, for example, keeps a pool of structures > that hang in a linked list off the vm_page (or equivalent thereof). I > think it's Yet Another Resource The Kernel Can Run Out Of, though. I > hate those. I was thinking to allocate an array of them with each area upfront. They would need at least 8 byte (singly linked with a pointer to the area), or 12 byte (doubly linked) for faster area destruction. We could also use it to store the protection bits to implement mprotect() correctly (which would then make 16 bytes). That would mean 0.3% of all potential memory would be wasted due to those (plus the 40 byte per physical page or 0.9% of all physical memory, ie. 10 MB on a 1GB machine). Since it would then be used only for the page scanner, I will give it another thought. In any case, it's about time for a decent page scanner to appear :-) Bye, Axel. From bonefish at mail.berlios.de Sat Feb 3 13:23:03 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Sat, 3 Feb 2007 13:23:03 +0100 Subject: [Haiku-commits] r20058 - haiku/trunk/src/servers/registrar Message-ID: <200702031223.l13CN3ci013991@sheep.berlios.de> Author: bonefish Date: 2007-02-03 13:23:03 +0100 (Sat, 03 Feb 2007) New Revision: 20058 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20058&view=rev Modified: haiku/trunk/src/servers/registrar/TRoster.cpp Log: Send out B_SOME_APP_LAUNCHED/QUIT messages only for fully registered apps. This fixes bug #948. Modified: haiku/trunk/src/servers/registrar/TRoster.cpp =================================================================== --- haiku/trunk/src/servers/registrar/TRoster.cpp 2007-02-03 12:14:00 UTC (rev 20057) +++ haiku/trunk/src/servers/registrar/TRoster.cpp 2007-02-03 12:23:03 UTC (rev 20058) @@ -238,6 +238,8 @@ { PRINT(("added ref: %ld, %lld, %s\n", info->ref.device, info->ref.directory, info->ref.name)); addingSuccess = (AddApp(info) == B_OK); + if (addingSuccess && fullReg) + _AppAdded(info); } else { token = info->token = _NextToken(); @@ -324,6 +326,7 @@ info->thread = thread; info->port = port; info->state = APP_STATE_REGISTERED; + _AppAdded(info); } else SET_ERROR(error, B_REG_APP_NOT_PRE_REGISTERED); } else @@ -1202,9 +1205,7 @@ status_t error = (info ? B_OK : B_BAD_VALUE); if (info) { - if (fRegisteredApps.AddInfo(info)) - _AppAdded(info); - else + if (!fRegisteredApps.AddInfo(info)) error = B_NO_MEMORY; } return error; @@ -1223,8 +1224,10 @@ if (info) { if (fRegisteredApps.RemoveInfo(info)) { - info->state = APP_STATE_UNREGISTERED; - _AppRemoved(info); + if (info->state == APP_STATE_REGISTERED) { + info->state = APP_STATE_UNREGISTERED; + _AppRemoved(info); + } } } } @@ -1433,7 +1436,7 @@ // _AppAdded -/*! \brief Hook method invoked, when an application has been added. +/*! \brief Hook method invoked, when an application has been fully registered. \param info The RosterAppInfo of the added application. */ void @@ -1447,7 +1450,7 @@ } // _AppRemoved -/*! \brief Hook method invoked, when an application has been removed. +/*! \brief Hook method invoked, when a fully registered application has been removed. \param info The RosterAppInfo of the removed application. */ void @@ -1457,6 +1460,7 @@ // deactivate the app, if it was the active one if (info == fActiveApp) UpdateActiveApp(NULL); + // notify the watchers BMessage message(B_SOME_APP_QUIT); _AddMessageWatchingInfo(&message, info); @@ -1473,8 +1477,7 @@ TRoster::_AppActivated(RosterAppInfo *info) { if (info) { - if (info->state == APP_STATE_REGISTERED - || info->state == APP_STATE_PRE_REGISTERED) { + if (info->state == APP_STATE_REGISTERED) { // send B_APP_ACTIVATED to the app BMessenger messenger; BMessenger::Private messengerPrivate(messenger); @@ -1501,8 +1504,7 @@ TRoster::_AppDeactivated(RosterAppInfo *info) { if (info) { - if (info->state == APP_STATE_REGISTERED - || info->state == APP_STATE_PRE_REGISTERED) { + if (info->state == APP_STATE_REGISTERED) { // send B_APP_ACTIVATED to the app BMessenger messenger; BMessenger::Private messengerPrivate(messenger); From stefano.ceccherini at gmail.com Sat Feb 3 14:22:32 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Sat, 3 Feb 2007 14:22:32 +0100 Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: <200702021747.l12Hl3g4020399@sheep.berlios.de> References: <200702021747.l12Hl3g4020399@sheep.berlios.de> Message-ID: <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> 2007/2/2, wkornewald at BerliOS : > BScreen::SetMode(display_mode *mode, bool makeDefault) > { > if (fScreen != NULL) > - return fScreen->SetMode(B_ALL_WORKSPACES, mode, makeDefault); > + return fScreen->SetMode(current_workspace(), mode, makeDefault); > return B_ERROR; > } > This should be B_CURRENT_WORKSPACE, I think. From bonefish at cs.tu-berlin.de Sat Feb 3 15:06:46 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Sat, 03 Feb 2007 15:06:46 +0100 Subject: [Haiku-commits] Recursive processing of BLooper messages In-Reply-To: References: Message-ID: <20070203150646.5983.2@cs.tu-berlin.de> On 2007-02-03 at 13:00:53 [+0100], Michael Pfeiffer wrote: > > I do not know how to solve the following problem: > > In BeOS R5 you can call BPrintJob.ConfigPage() inside a BLooper hook > method and although the method ConfigPage() did not return yet, the > calling BLooper still is processing messages sent to it. > > In the Haiku implementation of ConfigPage(). A synchronous message is > sent to the print_server, the print_server then opens the dialog and > when the dialog is closed it sends a response. ConfigPage() handles > the response message and returns. Of course this blocks the calling > thread. > > In case the calling thread is a BLooper thread. My idea is to do the > communication with the print_server in a separate thread. In the > meantime ConfigPage() keeps processing the messages sent to the > BLooper until the spawned thread terminates. > > What are your thoughts? How can the nested processing of messages be > accomplished? Are there other ways to do that? I had a look at the always handy R5 libbe objdump: BPrintJob::ConfigPage() itself doesn't seem to do anything suspicious (e.g. some BMessage access methods), but it calls three other functions: * do_async_print_panel(): Creates and runs an asynchronous BAlert. Creates a semaphore and spawns and resumes a thread. Furthermore there're invocations of BLooper::LooperForThread(long), dynamic_cast<>(), BWindow::UpdateIfNeeded(), and acquire_sem_etc(). The spawned thread executes async_print_panel_hook(), which constructs a BMessenger (signature version), creates and runs a synchronous alert, sends a synchronous message, and invokes delete_sem(). * BPrintJob::GetCurrentPrinterName(void): Constructs a BMessenger (signature version) and sends a synchronous message. There's a bit of BMessage access, too, but that's it. Nothing asynchronous. * BPrintJob::HandlePageSetup(): Apparently just analyzes the supplied BMessage. I haven't gone through the pain of analyzing the control flow -- so not all of the stuff listed above might always be executed -- but it looks like things pretty much happen as you had in mind: At least some synchronous messaging is done in a separate thread, while the original thread seems to check whether it belongs to a BWindow and calls BWindow::UpdateIfNeeded() (probably in a loop), the threads being synchronized via a semaphore. You probably know best what the BAlerts are for. > PS: Cross-posting to get more attention. Please reply to open-beos- > printing at freelists.org if possible. I'm not subscribed to the printing team list, since I'm not that much interrested in that area, so I'm replying on the commit list again, cross-posting to the main list, which, I believe, is a more appropiate place. CU, Ingo From bonefish at cs.tu-berlin.de Sat Feb 3 15:19:27 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Sat, 03 Feb 2007 15:19:27 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <7156770.1170432118358.JavaMail.ngmail@webmail12> References: <200702020942.l129gNJL014756@sheep.berlios.de> <7156770.1170432118358.JavaMail.ngmail@webmail12> Message-ID: <20070203151927.1543.3@cs.tu-berlin.de> On 2007-02-02 at 17:01:58 [+0100], Marcus Overhagen wrote: > > jam pxehaiku was already working well for me when compiling on Linux, > I wasn't aware of these problems. > > I didn't try invoking the target platform assembler, but I understand that > directly invoking "as" is wrong. I've been using "as" 2.17 with target > "i486-linux-gnu" on Ubuntu Linux. > > The assembler included in buildtools is 2.16.1, perhaps it needs to be > updated. Updating the binutils for the gcc 4 build shouldn't pose much of a problem, but I don't really dare to touch the binutils Oliver has painstakingly aligned with gcc 2.95.3. > The 32 bit indexing is done deliberately, so there is no workaround for > that. > I also don't want to change the code, as this will be much work. OK, so we don't get around updating the tools. CU, Ingo From wkornewald at haiku-os.org Sat Feb 3 17:26:47 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Sat, 3 Feb 2007 17:26:47 +0100 Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> References: <200702021747.l12Hl3g4020399@sheep.berlios.de> <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> Message-ID: Hi Stefano, On 2/3/07, Stefano Ceccherini wrote: > 2007/2/2, wkornewald at BerliOS : > > > BScreen::SetMode(display_mode *mode, bool makeDefault) > > { > > if (fScreen != NULL) > > - return fScreen->SetMode(B_ALL_WORKSPACES, mode, makeDefault); > > + return fScreen->SetMode(current_workspace(), mode, makeDefault); > > return B_ERROR; > > } > > > > This should be B_CURRENT_WORKSPACE, I think. Yep, I'll commit something, later. There are more places where B_ALL_WORKSPACES is used. Bye, Waldemar Kornewald From wkornewald at haiku-os.org Sat Feb 3 17:29:52 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Sat, 3 Feb 2007 17:29:52 +0100 Subject: [Haiku-commits] r20057 - haiku/trunk/src/preferences/screen In-Reply-To: <200702031214.l13CE1ps031842@sheep.berlios.de> References: <200702031214.l13CE1ps031842@sheep.berlios.de> Message-ID: Hi Jon, On 2/3/07, darkwyrm at BerliOS wrote: > Author: darkwyrm > Date: 2007-02-03 13:14:00 +0100 (Sat, 03 Feb 2007) > New Revision: 20057 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20057&view=rev > > Modified: > haiku/trunk/src/preferences/screen/MonitorView.cpp > Log: > Fixed build for R5 target That's strange. I had to add this to build it under BONE. Are you using R5, BONE, Dano, or Zeta? Bye, Waldemar Kornewald From axeld at pinc-software.de Sat Feb 3 17:57:30 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 17:57:30 +0100 CET Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> Message-ID: <20034580056-BeMail@zon> "Stefano Ceccherini" wrote: > 2007/2/2, wkornewald at BerliOS : > > BScreen::SetMode(display_mode *mode, bool makeDefault) > > { > > if (fScreen != NULL) > > - return fScreen->SetMode(B_ALL_WORKSPACES, mode, > > makeDefault); > > + return fScreen->SetMode(current_workspace(), mode, > > makeDefault); > > return B_ERROR; > > } > This should be B_CURRENT_WORKSPACE, I think. I'm pretty sure that Waldemar is correct, and the BScreen API actually asks for the index instead of a bit mask for SetMode() and GetMode(). However, B_ALL_WORKSPACES wasn't that wrong either, as that is ~0 and could easily be identified by the app_server as the current workspace. Furthermore, Waldemar only changed SetMode() but didn't touch GetMode() :-) But since the workspace is currently ignored anyway, we can still fix this in one go later. Bye, Axel. From mmu_man at mail.berlios.de Sat Feb 3 18:00:13 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Sat, 3 Feb 2007 18:00:13 +0100 Subject: [Haiku-commits] r20059 - haiku/trunk/src/bin/strace Message-ID: <200702031700.l13H0Dbw026232@sheep.berlios.de> Author: mmu_man Date: 2007-02-03 18:00:12 +0100 (Sat, 03 Feb 2007) New Revision: 20059 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20059&view=rev Modified: haiku/trunk/src/bin/strace/strace.cpp Log: Also strerror() for syscalls returning int (open, ...). Modified: haiku/trunk/src/bin/strace/strace.cpp =================================================================== --- haiku/trunk/src/bin/strace/strace.cpp 2007-02-03 12:23:03 UTC (rev 20058) +++ haiku/trunk/src/bin/strace/strace.cpp 2007-02-03 17:00:12 UTC (rev 20059) @@ -367,7 +367,8 @@ // if the return type is status_t or ssize_t, print human-readable // error codes if (returnType->TypeName() == "status_t" - || returnType->TypeName() == "ssize_t" + || (returnType->TypeName() == "ssize_t" + || returnType->TypeName() == "int") && message.return_value < 0) { print_to_string(&string, &length, " %s", strerror(message.return_value)); } From axeld at pinc-software.de Sat Feb 3 18:00:10 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 18:00:10 +0100 CET Subject: [Haiku-commits] r20057 - haiku/trunk/src/preferences/screen In-Reply-To: Message-ID: <20194676794-BeMail@zon> "Waldemar Kornewald" wrote: > > Log: > > Fixed build for R5 target > That's strange. I had to add this to build it under BONE. Are you > using R5, BONE, Dano, or Zeta? You added it to a header, but it was already there, just in another file (but at least following our style guide which your version doesn't ;-)). Bye, Axel. From axeld at pinc-software.de Sat Feb 3 18:01:06 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 18:01:06 +0100 CET Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: Message-ID: <20250795283-BeMail@zon> "Waldemar Kornewald" wrote: > > This should be B_CURRENT_WORKSPACE, I think. > Yep, I'll commit something, later. There are more places where > B_ALL_WORKSPACES is used. As I mentioned before, just let them use B_ALL_WORKSPACES, or replace that by ~0 if you like it better (as it's slightly less confusing). Bye, Axel. From wkornewald at haiku-os.org Sat Feb 3 18:10:21 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Sat, 3 Feb 2007 18:10:21 +0100 Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: <20034580056-BeMail@zon> References: <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> <20034580056-BeMail@zon> Message-ID: Hi Axel, On 2/3/07, Axel D?rfler wrote: > I'm pretty sure that Waldemar is correct, and the BScreen API actually > asks for the index instead of a bit mask for SetMode() and GetMode(). > However, B_ALL_WORKSPACES wasn't that wrong either, as that is ~0 and > could easily be identified by the app_server as the current workspace. B_CURRENT_WORKSPACE is 0, so that one could be identified, too. The first workspace is at index 1, isn't it? Bye, Waldemar Kornewald From axeld at pinc-software.de Sat Feb 3 18:14:08 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 18:14:08 +0100 CET Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: Message-ID: <21032696982-BeMail@zon> Hi Waldemar, "Waldemar Kornewald" wrote: > On 2/3/07, Axel D?rfler wrote: > > I'm pretty sure that Waldemar is correct, and the BScreen API > > actually > > asks for the index instead of a bit mask for SetMode() and > > GetMode(). > > However, B_ALL_WORKSPACES wasn't that wrong either, as that is ~0 > > and > > could easily be identified by the app_server as the current > > workspace. > B_CURRENT_WORKSPACE is 0, so that one could be identified, too. The > first workspace is at index 1, isn't it? Nope. B_CURRENT_WORKSPACE and B_ALL_WORKSPACES are both defined for when dealing with the workspaces bit mask. The workspace index starts at zero, as usual. Bye, Axel. From wkornewald at haiku-os.org Sat Feb 3 18:17:08 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Sat, 3 Feb 2007 18:17:08 +0100 Subject: [Haiku-commits] r20057 - haiku/trunk/src/preferences/screen In-Reply-To: <20194676794-BeMail@zon> References: <20194676794-BeMail@zon> Message-ID: On 2/3/07, Axel D?rfler wrote: > "Waldemar Kornewald" wrote: > > > Log: > > > Fixed build for R5 target > > That's strange. I had to add this to build it under BONE. Are you > > using R5, BONE, Dano, or Zeta? > > You added it to a header, but it was already there, just in another > file (but at least following our style guide which your version doesn't > ;-)). Ah, now I see. :) The old one checked for BeOS, so BONE wasn't taken into account. BTW, regarding style, I merely copy-pasted that code. ;) I'll fix it together with #321. Bye, Waldemar Kornewald From axeld at pinc-software.de Sat Feb 3 19:01:18 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sat, 03 Feb 2007 19:01:18 +0100 CET Subject: [Haiku-commits] r20057 - haiku/trunk/src/preferences/screen In-Reply-To: Message-ID: <23862786100-BeMail@zon> "Waldemar Kornewald" wrote: > On 2/3/07, Axel D?rfler wrote: > > "Waldemar Kornewald" wrote: > > > > Log: > > > > Fixed build for R5 target > > > That's strange. I had to add this to build it under BONE. Are you > > > using R5, BONE, Dano, or Zeta? > > > > You added it to a header, but it was already there, just in another > > file (but at least following our style guide which your version > > doesn't > > ;-)). > > Ah, now I see. :) The old one checked for BeOS, so BONE wasn't taken > into account. > > BTW, regarding style, I merely copy-pasted that code. ;) I'll fix it > together with #321. Please don't! Bye, Axel. From axeld at mail.berlios.de Sat Feb 3 19:30:24 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Sat, 3 Feb 2007 19:30:24 +0100 Subject: [Haiku-commits] r20060 - haiku/trunk/src/system/kernel/arch/x86 Message-ID: <200702031830.l13IUO2T019125@sheep.berlios.de> Author: axeld Date: 2007-02-03 19:30:24 +0100 (Sat, 03 Feb 2007) New Revision: 20060 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20060&view=rev Modified: haiku/trunk/src/system/kernel/arch/x86/arch_x86.S Log: x86_userspace_thread_exit() did not correctly setup the stack for the syscall. I don't know why (or how) it could work before r19775, though. This fixes the wrong return code from wait_for_thread() in most cases, and thus, bug #1011. Modified: haiku/trunk/src/system/kernel/arch/x86/arch_x86.S =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_x86.S 2007-02-03 17:00:12 UTC (rev 20059) +++ haiku/trunk/src/system/kernel/arch/x86/arch_x86.S 2007-02-03 18:30:24 UTC (rev 20060) @@ -130,9 +130,10 @@ .align 4 FUNCTION(x86_userspace_thread_exit): pushl %eax + sub $4, %esp movl $1, %ecx lea (%esp), %edx - movl $SYSCALL_EXIT_THREAD, %eax; + movl $SYSCALL_EXIT_THREAD, %eax int $99 .align 4 FUNCTION(x86_end_userspace_thread_exit): From korli at users.berlios.de Sat Feb 3 20:15:25 2007 From: korli at users.berlios.de (=?ISO-8859-1?Q?J=E9r=F4me_Duval?=) Date: Sat, 3 Feb 2007 20:15:25 +0100 Subject: [Haiku-commits] r20025 - haiku/trunk/src/bin/flex In-Reply-To: <10542167396-BeMail@zon> References: <10542167396-BeMail@zon> Message-ID: 2007/2/2, Axel D?rfler : > > "J?r?me Duval" wrote: > > 2007/1/31, J?r?me Duval : > > > > You mean pipes are slow? (at least under Qemu) > > Seems I misunderstood (again ? :)). m4 reads and writes only one byte > > at a time which is very slow. Pipes are not slow but the use of > > getc_unlocked() and putc_unlocked() is. > > And that's more obvious on Haiku than somewhere else? I think so : the getc_unlocked() call would use a buffer internally in glibc, but even, pipefs gets calls to read() with size 1. I found this : http://svn.berlios.de/viewcvs/haiku?rev=7340&view=rev I tried to revert your change and it really fixes the problem ! Bye, J?r?me -------------- next part -------------- An HTML attachment was scrubbed... URL: From geist at mail.berlios.de Sat Feb 3 22:55:46 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sat, 3 Feb 2007 22:55:46 +0100 Subject: [Haiku-commits] r20061 - haiku/trunk/build/jam Message-ID: <200702032155.l13LtkkX023091@sheep.berlios.de> Author: geist Date: 2007-02-03 22:55:45 +0100 (Sat, 03 Feb 2007) New Revision: 20061 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20061&view=rev Modified: haiku/trunk/build/jam/TestsRules Log: Change the jam rules to build the test binaries as release by default, debug only if you specify TEST_DEBUG. The debug binaries don't seem to work right anyway. Hopefully this didn't mess anyone up. Modified: haiku/trunk/build/jam/TestsRules =================================================================== --- haiku/trunk/build/jam/TestsRules 2007-02-03 18:30:24 UTC (rev 20060) +++ haiku/trunk/build/jam/TestsRules 2007-02-03 21:55:45 UTC (rev 20061) @@ -10,8 +10,8 @@ local sources = $(2) ; local libraries = $(3) ; - # unless NO_TEST_DEBUG is defined, we turn on debugging - if ! $(NO_TEST_DEBUG) { + # if TEST_DEBUG is defined, we turn on debugging + if $(TEST_DEBUG) { DEBUG on $(lib) [ FGristFiles $(sources:S=$(SUFOBJ)) ] ?= 1 ; } @@ -85,8 +85,8 @@ { # SimpleTest : : [ ] : [ ] ; - # unless NO_TEST_DEBUG is defined, we turn on debugging - if ! $(NO_TEST_DEBUG) { + # if TEST_DEBUG is defined, we turn on debugging + if $(TEST_DEBUG) { DEBUG on $(1) [ FGristFiles $(2:S=$(SUFOBJ)) ] ?= 1 ; } From stefano.ceccherini at gmail.com Sun Feb 4 11:48:45 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Sun, 4 Feb 2007 11:48:45 +0100 Subject: [Haiku-commits] r20053 - haiku/trunk/src/kits/interface In-Reply-To: <20034580056-BeMail@zon> References: <894b9700702030522v587ac23dicca41ff97f387680@mail.gmail.com> <20034580056-BeMail@zon> Message-ID: <894b9700702040248x52857ac0o712e256010b35af0@mail.gmail.com> 2007/2/3, Axel D?rfler : > I'm pretty sure that Waldemar is correct, and the BScreen API actually > asks for the index instead of a bit mask for SetMode() and GetMode(). > However, B_ALL_WORKSPACES wasn't that wrong either, as that is ~0 and > could easily be identified by the app_server as the current workspace. > Furthermore, Waldemar only changed SetMode() but didn't touch GetMode() > :-) Yes, you are right, and now that I remember, I followed what R5 does there. R5 uses B_ALL_WORKSPACES, or ~0, as you said. From bonefish at mail.berlios.de Sun Feb 4 11:50:11 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Sun, 4 Feb 2007 11:50:11 +0100 Subject: [Haiku-commits] r20062 - haiku/trunk/build/scripts Message-ID: <200702041050.l14AoBkI013909@sheep.berlios.de> Author: bonefish Date: 2007-02-04 11:50:11 +0100 (Sun, 04 Feb 2007) New Revision: 20062 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20062&view=rev Modified: haiku/trunk/build/scripts/build_cross_tools_gcc4 Log: Added shebang. Should fix bug #956. Modified: haiku/trunk/build/scripts/build_cross_tools_gcc4 =================================================================== --- haiku/trunk/build/scripts/build_cross_tools_gcc4 2007-02-03 21:55:45 UTC (rev 20061) +++ haiku/trunk/build/scripts/build_cross_tools_gcc4 2007-02-04 10:50:11 UTC (rev 20062) @@ -1,3 +1,5 @@ +#!/bin/sh +# # parameters [ ] # get and check the parameters From korli at mail.berlios.de Sun Feb 4 12:48:12 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Sun, 4 Feb 2007 12:48:12 +0100 Subject: [Haiku-commits] r20063 - haiku/trunk/src/system/libroot/posix/glibc/libio Message-ID: <200702041148.l14BmCoB016922@sheep.berlios.de> Author: korli Date: 2007-02-04 12:48:08 +0100 (Sun, 04 Feb 2007) New Revision: 20063 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20063&view=rev Modified: haiku/trunk/src/system/libroot/posix/glibc/libio/stdfiles.c Log: reverted changes from revision 7340, it seems to not be useful anymore. Modified: haiku/trunk/src/system/libroot/posix/glibc/libio/stdfiles.c =================================================================== --- haiku/trunk/src/system/libroot/posix/glibc/libio/stdfiles.c 2007-02-04 10:50:11 UTC (rev 20062) +++ haiku/trunk/src/system/libroot/posix/glibc/libio/stdfiles.c 2007-02-04 11:48:08 UTC (rev 20063) @@ -69,11 +69,9 @@ //# endif #endif -// ToDo: stdin/stdout were originally buffered -// (and probably automatically switched to unbuffered for TTYs) -DEF_STDFILE(_IO_2_1_stdin_, 0, 0, _IO_NO_WRITES + _IO_UNBUFFERED); -DEF_STDFILE(_IO_2_1_stdout_, 1, &_IO_2_1_stdin_, _IO_NO_READS + _IO_UNBUFFERED); -DEF_STDFILE(_IO_2_1_stderr_, 2, &_IO_2_1_stdout_, _IO_NO_READS + _IO_UNBUFFERED); +DEF_STDFILE(_IO_2_1_stdin_, 0, 0, _IO_NO_WRITES); +DEF_STDFILE(_IO_2_1_stdout_, 1, &_IO_2_1_stdin_, _IO_NO_READS); +DEF_STDFILE(_IO_2_1_stderr_, 2, &_IO_2_1_stdout_, _IO_NO_READS+_IO_UNBUFFERED); struct _IO_FILE_plus *_IO_list_all = &_IO_2_1_stderr_; INTVARDEF(_IO_list_all) From axeld at pinc-software.de Sun Feb 4 13:06:35 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sun, 04 Feb 2007 13:06:35 +0100 CET Subject: [Haiku-commits] r20025 - haiku/trunk/src/bin/flex In-Reply-To: Message-ID: <2820580944-BeMail@zon> "J?r?me Duval" wrote: > 2007/2/2, Axel D?rfler : > > "J?r?me Duval" wrote: > > > 2007/1/31, J?r?me Duval : > > > > > You mean pipes are slow? (at least under Qemu) > > > Seems I misunderstood (again ? :)). m4 reads and writes only one > > > byte > > > at a time which is very slow. Pipes are not slow but the use of > > > getc_unlocked() and putc_unlocked() is. > > And that's more obvious on Haiku than somewhere else? > I think so : the getc_unlocked() call would use a buffer internally > in > glibc, but even, pipefs gets calls to read() with size 1. > I found this : http://svn.berlios.de/viewcvs/haiku?rev=7340&view=rev > > I tried to revert your change and it really fixes the problem ! Ah great, I think this was a relict from a missing implementation of isatty() (we have one for some time now). Good catch, thanks! Bye, Axel. From bonefish at mail.berlios.de Sun Feb 4 13:56:21 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Sun, 4 Feb 2007 13:56:21 +0100 Subject: [Haiku-commits] r20064 - haiku/trunk Message-ID: <200702041256.l14CuLjW000913@sheep.berlios.de> Author: bonefish Date: 2007-02-04 13:56:20 +0100 (Sun, 04 Feb 2007) New Revision: 20064 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20064&view=rev Modified: haiku/trunk/configure Log: Removed obsolete --floppy option. Modified: haiku/trunk/configure =================================================================== --- haiku/trunk/configure 2007-02-04 11:48:08 UTC (rev 20063) +++ haiku/trunk/configure 2007-02-04 12:56:20 UTC (rev 20064) @@ -12,8 +12,6 @@ Usage: $0 options: - --floppy Specifies the location of the floppy - (device or image). --bochs-debug Enables bochs serial debug emulation (activated via kernel settings file). --cross-tools-prefix @@ -203,7 +201,6 @@ haikuSharedLibSupCxx= haikuCxxHeadersDir= hostGCCVersion=`gcc -dumpversion` -floppy= bochs_debug=0 include_gpl_addons=0 target=haiku @@ -232,7 +229,6 @@ while [ $# -gt 0 ] ; do case "$1" in --include-gpl-addons) include_gpl_addons=1; shift 1;; - --floppy) assertparam "$1" $#; floppy=$2; shift 2;; --bochs-debug) bochs_debug=1; shift 1;; --target=*) target=`echo $1 | cut -d'=' -f2-`; shift 1;; --cross-tools-prefix) assertparam "$1" $#; crossToolsPrefix=$2; shift 2;; @@ -252,16 +248,6 @@ esac done -# check parameters -# -if [ -n "$floppy" ]; then - case "$floppy" in - /*) ;; - *) echo "Warning: non-absolute floppy path. Parameter ignored."; - floppy=;; - esac -fi - # detect the build platform case "${platform}" in BeOS) revision=`uname -r` @@ -315,7 +301,6 @@ # BuildConfig # Note: This file has been automatically generated by configure. -FLOPPY_PATH ?= "${floppy}" ; BOCHS_DEBUG_HACK ?= "${bochs_debug}" ; INCLUDE_GPL_ADDONS ?= "${include_gpl_addons}" ; TARGET_PLATFORM ?= "${target}" ; From axeld at pinc-software.de Sun Feb 4 14:02:46 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Sun, 04 Feb 2007 14:02:46 +0100 CET Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <20070202153811.1291.3@cs.tu-berlin.de> Message-ID: <6191979630-BeMail@zon> Ingo Weinhold wrote: > > It's really a pity that Jam cannot fill variables with the results > > of > > shell commands. Maybe we could it extend it to do that? Or would > > that > > break its whole philosophy? :-) > > > > SVN_REVISION = [ FExecute svn info --get-my-repository-revision- > > right- > > now ] ; > I actually even have a patch ready for this (submitted and rejected > years > ago), it just won't change anything in this case. If we want to build > the It could still be handy to have that feature built-in, I suppose :-) > revision number into libroot (which can be easily done without > changing > jam), libroot obviously has to be rebuilt whenever the number > changes, > causing virtually everything to be relinked. This isn't that much of > a > problem on platforms with good FS and cache implementations (I guess > it > takes no longer than a minute on my Linux box), but it badly sucks > under > BeOS. Indeed. > > In any way, I find adding it to a file that has to be read from the > > kernel even more ugly. > Indeed. Our options are limited though. Either we build the revision > number > into the code or it must be read at runtime from somewhere. Well, > another > option might be to inject the revision number into libroot/kernel > right > before being copied onto the image, using black objcopy magic. We could also make it a build option wether to include the revision or not. This way, the build factories could have it alway on, while you can decide yourself wether or not your system is fast enough for this. Anyway, black magic sounds like a somewhat good option as well :-) Bye, Axel. From axeld at mail.berlios.de Sun Feb 4 14:32:37 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Sun, 4 Feb 2007 14:32:37 +0100 Subject: [Haiku-commits] r20065 - in haiku/trunk: headers/os/interface src/kits/interface Message-ID: <200702041332.l14DWbh5002979@sheep.berlios.de> Author: axeld Date: 2007-02-04 14:32:36 +0100 (Sun, 04 Feb 2007) New Revision: 20065 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20065&view=rev Modified: haiku/trunk/headers/os/interface/Polygon.h haiku/trunk/src/kits/interface/Polygon.cpp haiku/trunk/src/kits/interface/View.cpp Log: Applied patch by Vasilis Kaoutsis: * replaced new[] with malloc()/realloc() where appropriate - since we're messing with the bits anyway, this makes the code slightly faster. * however, we might want to throw some std::bad_alloc exceptions to deal correctly with low memory situations. * cleanup. Modified: haiku/trunk/headers/os/interface/Polygon.h =================================================================== --- haiku/trunk/headers/os/interface/Polygon.h 2007-02-04 12:56:20 UTC (rev 20064) +++ haiku/trunk/headers/os/interface/Polygon.h 2007-02-04 13:32:36 UTC (rev 20065) @@ -1,84 +1,45 @@ -//------------------------------------------------------------------------------ -// Copyright (c) 2001-2002, OpenBeOS -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// -// File Name: Polygon.h -// Author: Marc Flerackers (mflerackers at androme.be) -// Description: BPolygon represents a n-sided area. -//------------------------------------------------------------------------------ - +/* + * Copyright 2001-2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Marc Flerackers, mflerackers at androme.be + */ #ifndef _POLYGON_H -#define _POLYGON_H - -// Standard Includes ----------------------------------------------------------- - -// System Includes ------------------------------------------------------------- -#include -#include -#include - -// Project Includes ------------------------------------------------------------ - -// Local Includes -------------------------------------------------------------- - -// Local Defines --------------------------------------------------------------- - -// Globals --------------------------------------------------------------------- - -// BPolygon class -------------------------------------------------------------- -class BPolygon { +#define _POLYGON_H -public: - BPolygon(const BPoint *ptArray, int32 numPoints); - BPolygon(); - BPolygon(const BPolygon *poly); -virtual ~BPolygon(); - - BPolygon &operator=(const BPolygon &from); - - BRect Frame() const; - void AddPoints(const BPoint *ptArray, int32 numPoints); - int32 CountPoints() const; - void MapTo(BRect srcRect, BRect dstRect); - void PrintToStream() const; - -private: - -friend class BView; - - void compute_bounds(); - void map_pt(BPoint *point, BRect srcRect, BRect dstRect); - void map_rect(BRect *rect, BRect srcRect, BRect dstRect); - - BRect fBounds; - int32 fCount; - BPoint *fPts; + +#include +#include +#include + + +class BPolygon { + public: + BPolygon(const BPoint *ptArray, int32 numPoints); + BPolygon(const BPolygon *polygon); + BPolygon(); + virtual ~BPolygon(); + + BPolygon &operator=(const BPolygon &from); + + BRect Frame() const; + void AddPoints(const BPoint *ptArray, int32 numPoints); + int32 CountPoints() const; + void MapTo(BRect srcRect, BRect dstRect); + void PrintToStream() const; + + private: + friend class BView; + + void _ComputeBounds(); + void _MapPoint(BPoint *point, BRect srcRect, BRect dstRect); + void _MapRectangle(BRect *rect, BRect srcRect, BRect dstRect); + + private: + BRect fBounds; + int32 fCount; + BPoint *fPoints; }; -//------------------------------------------------------------------------------ -#endif // _POLYGON_H_ - -/* - * $Log $ - * - * $Id $ - * - */ - +#endif // _POLYGON_H_ Modified: haiku/trunk/src/kits/interface/Polygon.cpp =================================================================== --- haiku/trunk/src/kits/interface/Polygon.cpp 2007-02-04 12:56:20 UTC (rev 20064) +++ haiku/trunk/src/kits/interface/Polygon.cpp 2007-02-04 13:32:36 UTC (rev 20065) @@ -1,186 +1,164 @@ -//------------------------------------------------------------------------------ -// Copyright (c) 2001-2002, OpenBeOS -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// -// File Name: Polygon.h -// Author: Marc Flerackers (mflerackers at androme.be) -// Description: BPolygon represents a n-sided area. -//------------------------------------------------------------------------------ - -// Standard Includes ----------------------------------------------------------- -#include - -// System Includes ------------------------------------------------------------- -#include - -// Project Includes ------------------------------------------------------------ - -// Local Includes -------------------------------------------------------------- - -// Local Defines --------------------------------------------------------------- - -// Globals --------------------------------------------------------------------- - -//------------------------------------------------------------------------------ -BPolygon::BPolygon(const BPoint *ptArray, int32 numPoints) : - fBounds(0.0, 0.0, 0.0, 0.0), fCount(numPoints), fPts(NULL) -{ - if (fCount > 0) { - fPts = new BPoint[numPoints]; - - // Note the use of memcpy here. The assumption is that an array of BPoints can - // be copied bit by bit and not use a copy constructor or an assignment - // operator. This breaks the containment of BPoint but will result in better - // performance. An example where the memcpy will fail would be if BPoint begins - // to do lazy copying through reference counting. By copying the bits, we will - // copy reference counting state which will not be relevant at the destination. - // Luckily, BPoint is a very simple class which isn't likely to change much. - // However, it is a risk of this implementation. - // - // If necessary, this code can be changed to iterate over the input array of - // BPoints and use the assignment operator to copy from the source to the - // destination array, one element at a time. - // - // Similar use of memcpy appears later in this implementation also. - // - memcpy(fPts, ptArray, numPoints * sizeof(BPoint)); - compute_bounds(); - } -} -//------------------------------------------------------------------------------ -BPolygon::BPolygon(const BPolygon *poly) -{ - *this = *poly; -} -//------------------------------------------------------------------------------ -BPolygon::BPolygon () - : fBounds(0.0, 0.0, 0.0, 0.0), - fCount(0), - fPts(NULL) -{ -} -//------------------------------------------------------------------------------ -BPolygon::~BPolygon () -{ - if (fPts) - delete[] fPts; -} -//------------------------------------------------------------------------------ -BPolygon &BPolygon::operator=(const BPolygon &from) -{ - // Make sure we aren't trying to perform a "self assignment". - if (this != &from) { - fBounds = from.fBounds; - fCount = from.fCount; - if (fCount > 0) { - fPts = new BPoint[fCount]; - memcpy(fPts, from.fPts, fCount * sizeof(BPoint)); - } - } - return *this; -} -//------------------------------------------------------------------------------ -BRect BPolygon::Frame() const -{ - return fBounds; -} -//------------------------------------------------------------------------------ -void BPolygon::AddPoints(const BPoint *ptArray, int32 numPoints) -{ - if (numPoints > 0) { - BPoint *newPts = new BPoint[fCount + numPoints]; - if (fPts) { - memcpy(newPts, fPts, fCount * sizeof(BPoint)); - delete fPts; - } - memcpy(newPts + fCount, ptArray, numPoints * sizeof(BPoint)); - fPts = newPts; - fCount += numPoints; - compute_bounds(); - } -} -//------------------------------------------------------------------------------ -int32 BPolygon::CountPoints() const -{ - return fCount; -} -//------------------------------------------------------------------------------ -void BPolygon::MapTo(BRect srcRect, BRect dstRect) -{ - for (int32 i = 0; i < fCount; i++) - map_pt(fPts + i, srcRect, dstRect); - map_rect(&fBounds, srcRect, dstRect); -} -//------------------------------------------------------------------------------ -void BPolygon::PrintToStream () const -{ - for (int32 i = 0; i < fCount; i++) - fPts[i].PrintToStream(); -} -//------------------------------------------------------------------------------ -void BPolygon::compute_bounds() -{ - if (fCount == 0) { - fBounds = BRect(0.0, 0.0, 0.0, 0.0); - return; - } - - fBounds = BRect(fPts[0], fPts[0]); - - for (int32 i = 1; i < fCount; i++) - { - if (fPts[i].x < fBounds.left) - fBounds.left = fPts[i].x; - if (fPts[i].y < fBounds.top) - fBounds.top = fPts[i].y; - if (fPts[i].x > fBounds.right) - fBounds.right = fPts[i].x; - if (fPts[i].y > fBounds.bottom) - fBounds.bottom = fPts[i].y; - } -} -//------------------------------------------------------------------------------ -void BPolygon::map_pt(BPoint *point, BRect srcRect, BRect dstRect) -{ - point->x = (point->x - srcRect.left) * dstRect.Width() / srcRect.Width() - + dstRect.left; - point->y = (point->y - srcRect.top) * dstRect.Height() / srcRect.Height() - + dstRect.top; -} -//------------------------------------------------------------------------------ -void BPolygon::map_rect(BRect *rect, BRect srcRect, BRect dstRect) -{ - BPoint leftTop = rect->LeftTop(); - BPoint bottomRight = rect->RightBottom(); - - map_pt(&leftTop, srcRect, dstRect); - map_pt(&bottomRight, srcRect, dstRect); - - *rect = BRect(leftTop, bottomRight); -} -//------------------------------------------------------------------------------ - -/* - * $Log $ - * - * $Id $ - * - */ - +/* + * Copyright 2001-2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Marc Flerackers, mflerackers at androme.be + */ + + +#include + +#include +#include + + +BPolygon::BPolygon(const BPoint *ptArray, int32 numPoints) + : + fBounds(0.0, 0.0, 0.0, 0.0), + fCount(numPoints), + fPoints(NULL) +{ + if (fCount > 0) { + fPoints = (BPoint*)malloc(numPoints * sizeof(BPoint)); + + // Note the use of memcpy here. The assumption is that an array of BPoints can + // be copied bit by bit and not use a copy constructor or an assignment + // operator. This breaks the containment of BPoint but will result in better + // performance. An example where the memcpy will fail would be if BPoint begins + // to do lazy copying through reference counting. By copying the bits, we will + // copy reference counting state which will not be relevant at the destination. + // Luckily, BPoint is a very simple class which isn't likely to change much. + // + // Similar use of memcpy appears later in this implementation also. + + memcpy(fPoints, ptArray, numPoints * sizeof(BPoint)); + _ComputeBounds(); + } +} + + +BPolygon::BPolygon(const BPolygon *poly) +{ + *this = *poly; +} + + +BPolygon::BPolygon() + : + fBounds(0.0, 0.0, 0.0, 0.0), + fCount(0), + fPoints(NULL) +{ +} + + +BPolygon::~BPolygon() +{ + free(fPoints); +} + + +BPolygon & +BPolygon::operator=(const BPolygon &from) +{ + // Make sure we aren't trying to perform a "self assignment". + if (this != &from) { + fBounds = from.fBounds; + fCount = from.fCount; + if (fCount > 0) { + fPoints = (BPoint*)malloc(fCount * sizeof(BPoint)); + memcpy(fPoints, from.fPoints, fCount * sizeof(BPoint)); + } + } + return *this; +} + + +BRect +BPolygon::Frame() const +{ + return fBounds; +} + + +void +BPolygon::AddPoints(const BPoint *ptArray, int32 numPoints) +{ + if (numPoints > 0) { + fPoints = (BPoint*)realloc(fPoints, (fCount + numPoints) * sizeof(BPoint)); + memcpy(fPoints + fCount + numPoints, ptArray, numPoints * sizeof(BPoint)); + fCount += numPoints; + _ComputeBounds(); + } +} + + +int32 +BPolygon::CountPoints() const +{ + return fCount; +} + + +void +BPolygon::MapTo(BRect srcRect, BRect dstRect) +{ + for (int32 i = 0; i < fCount; i++) + _MapPoint(fPoints + i, srcRect, dstRect); + _MapRectangle(&fBounds, srcRect, dstRect); +} + + +void +BPolygon::PrintToStream () const +{ + for (int32 i = 0; i < fCount; i++) + fPoints[i].PrintToStream(); +} + + +void +BPolygon::_ComputeBounds() +{ + if (fCount == 0) { + fBounds = BRect(0.0, 0.0, 0.0, 0.0); + return; + } + + fBounds = BRect(fPoints[0], fPoints[0]); + + for (int32 i = 1; i < fCount; i++) { + if (fPoints[i].x < fBounds.left) + fBounds.left = fPoints[i].x; + if (fPoints[i].y < fBounds.top) + fBounds.top = fPoints[i].y; + if (fPoints[i].x > fBounds.right) + fBounds.right = fPoints[i].x; + if (fPoints[i].y > fBounds.bottom) + fBounds.bottom = fPoints[i].y; + } +} + + +void +BPolygon::_MapPoint(BPoint *point, BRect srcRect, BRect dstRect) +{ + point->x = (point->x - srcRect.left) * dstRect.Width() / srcRect.Width() + + dstRect.left; + point->y = (point->y - srcRect.top) * dstRect.Height() / srcRect.Height() + + dstRect.top; +} + + +void +BPolygon::_MapRectangle(BRect *rect, BRect srcRect, BRect dstRect) +{ + BPoint leftTop = rect->LeftTop(); + BPoint bottomRight = rect->RightBottom(); + + _MapPoint(&leftTop, srcRect, dstRect); + _MapPoint(&bottomRight, srcRect, dstRect); + + *rect = BRect(leftTop, bottomRight); +} Modified: haiku/trunk/src/kits/interface/View.cpp =================================================================== --- haiku/trunk/src/kits/interface/View.cpp 2007-02-04 12:56:20 UTC (rev 20064) +++ haiku/trunk/src/kits/interface/View.cpp 2007-02-04 13:32:36 UTC (rev 20065) @@ -2583,7 +2583,7 @@ if (!polygon) return; - StrokePolygon(polygon->fPts, polygon->fCount, polygon->Frame(), closed, p); + StrokePolygon(polygon->fPoints, polygon->fCount, polygon->Frame(), closed, p); } @@ -2592,7 +2592,7 @@ { BPolygon polygon(ptArray, numPoints); - StrokePolygon(polygon.fPts, polygon.fCount, polygon.Frame(), closed, p); + StrokePolygon(polygon.fPoints, polygon.fCount, polygon.Frame(), closed, p); } @@ -2617,7 +2617,7 @@ fOwner->fLink->Attach(polygon.Frame()); fOwner->fLink->Attach(closed); fOwner->fLink->Attach(polygon.fCount); - fOwner->fLink->Attach(polygon.fPts, polygon.fCount * sizeof(BPoint)); + fOwner->fLink->Attach(polygon.fPoints, polygon.fCount * sizeof(BPoint)); _FlushIfNotInTransaction(); } else { @@ -2642,7 +2642,7 @@ polygon->fCount * sizeof(BPoint) + sizeof(BRect) + sizeof(int32)) == B_OK) { fOwner->fLink->Attach(polygon->Frame()); fOwner->fLink->Attach(polygon->fCount); - fOwner->fLink->Attach(polygon->fPts, polygon->fCount * sizeof(BPoint)); + fOwner->fLink->Attach(polygon->fPoints, polygon->fCount * sizeof(BPoint)); _FlushIfNotInTransaction(); } else { From bonefish at mail.berlios.de Sun Feb 4 15:03:22 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Sun, 4 Feb 2007 15:03:22 +0100 Subject: [Haiku-commits] r20066 - in haiku/trunk: . build/jam Message-ID: <200702041403.l14E3M4a004584@sheep.berlios.de> Author: bonefish Date: 2007-02-04 15:03:21 +0100 (Sun, 04 Feb 2007) New Revision: 20066 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20066&view=rev Modified: haiku/trunk/build/jam/BuildSetup haiku/trunk/configure Log: Added configure option --use-gcc-pipe to enable building with the gcc -pipe option. Modified: haiku/trunk/build/jam/BuildSetup =================================================================== --- haiku/trunk/build/jam/BuildSetup 2007-02-04 13:32:36 UTC (rev 20065) +++ haiku/trunk/build/jam/BuildSetup 2007-02-04 14:03:21 UTC (rev 20066) @@ -49,18 +49,21 @@ # haiku target platform settings -#HAIKU_BASE_CCFLAGS ?= -pipe ; +# enable GCC -pipe option, if requested +if $(HAIKU_USE_GCC_PIPE) = 1 { + HAIKU_GCC_BASE_FLAGS = -pipe ; +} # initial state for flags etc. HAIKU_C++ ?= $(HAIKU_CC) ; HAIKU_LINK = $(HAIKU_CC) ; -HAIKU_LINKFLAGS = $(HAIKU_BASE_CCFLAGS) ; +HAIKU_LINKFLAGS = $(HAIKU_GCC_BASE_FLAGS) ; HAIKU_HDRS = [ FStandardHeaders ] ; -HAIKU_CCFLAGS = $(HAIKU_BASE_CCFLAGS) -nostdinc ; -HAIKU_C++FLAGS = $(HAIKU_BASE_CCFLAGS) -nostdinc ; -HAIKU_KERNEL_CCFLAGS = $(HAIKU_BASE_CCFLAGS) ; -HAIKU_KERNEL_C++FLAGS = $(HAIKU_BASE_CCFLAGS) ; +HAIKU_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; +HAIKU_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; +HAIKU_KERNEL_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) ; +HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) ; HAIKU_DEFINES = __HAIKU__ ; # analyze the gcc machine spec to determine HAIKU_CPU Modified: haiku/trunk/configure =================================================================== --- haiku/trunk/configure 2007-02-04 13:32:36 UTC (rev 20065) +++ haiku/trunk/configure 2007-02-04 14:03:21 UTC (rev 20066) @@ -14,12 +14,6 @@ options: --bochs-debug Enables bochs serial debug emulation (activated via kernel settings file). - --cross-tools-prefix - Assume cross compilation. should be a - path to the directory where the cross - compilation tools are located, plus the platform - prefix, e.g. "/path/to/tools/i586-pc-beos-". - This overrides the HAIKU_* tool variables. --build-cross-tools Assume cross compilation. defines the location of the build tools sources. @@ -33,10 +27,18 @@ will not be binary compatible with BeOS R5. specifies the target architecture, either "x86" or "ppc". + --cross-tools-prefix + Assume cross compilation. should be a + path to the directory where the cross + compilation tools are located, plus the platform + prefix, e.g. "/path/to/tools/i586-pc-beos-". + This overrides the HAIKU_* tool variables. + --help Prints out this help. + --include-gpl-addons Include GPL licensed add-ons. --target=TARGET Select build target platform. [default=${target}] valid targets=r5,bone,dano,haiku - --include-gpl-addons Include GPL licensed add-ons. - --help Prints out this help. + --use-gcc-pipe Build with GCC option -pipe. Speeds up the build + build process, but uses more memory. environment variables: HAIKU_AR The static library archiver. Defaults to "ar". @@ -204,6 +206,7 @@ bochs_debug=0 include_gpl_addons=0 target=haiku +use_gcc_pipe=0 crossToolsPrefix= buildCrossTools= buildCrossToolsScript="$sourceDir/build/scripts/build_cross_tools" @@ -228,10 +231,7 @@ # while [ $# -gt 0 ] ; do case "$1" in - --include-gpl-addons) include_gpl_addons=1; shift 1;; --bochs-debug) bochs_debug=1; shift 1;; - --target=*) target=`echo $1 | cut -d'=' -f2-`; shift 1;; - --cross-tools-prefix) assertparam "$1" $#; crossToolsPrefix=$2; shift 2;; --build-cross-tools) assertparam "$1" $#; buildCrossTools=$2; shift 2;; --build-cross-tools-gcc4) assertparams "$1" 2 $#; buildCrossTools=$3; buildCrossToolsScript="${buildCrossToolsScript}_gcc4"; @@ -243,7 +243,11 @@ esac buildCrossToolsMachine=$haikuGCCMachine shift 3;; + --cross-tools-prefix) assertparam "$1" $#; crossToolsPrefix=$2; shift 2;; --help | -h) usage; exit 0;; + --include-gpl-addons) include_gpl_addons=1; shift 1;; + --target=*) target=`echo $1 | cut -d'=' -f2-`; shift 1;; + --use-gcc-pipe) use_gcc_pipe=1; shift 1;; *) echo Invalid argument: \`$1\'; exit 1;; esac done @@ -301,11 +305,13 @@ # BuildConfig # Note: This file has been automatically generated by configure. -BOCHS_DEBUG_HACK ?= "${bochs_debug}" ; -INCLUDE_GPL_ADDONS ?= "${include_gpl_addons}" ; TARGET_PLATFORM ?= "${target}" ; HOST_PLATFORM ?= "${buildPlatform}" ; +BOCHS_DEBUG_HACK ?= "${bochs_debug}" ; +INCLUDE_GPL_ADDONS ?= "${include_gpl_addons}" ; +HAIKU_USE_GCC_PIPE ?= "${use_gcc_pipe}" ; + HAIKU_GCC_RAW_VERSION ?= ${haikuGCCVersion} ; HAIKU_GCC_MACHINE ?= ${haikuGCCMachine} ; HAIKU_GCC_LIB_DIR ?= ${HAIKU_GCC_LIB_DIR} ; From axeld at mail.berlios.de Sun Feb 4 20:02:49 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Sun, 4 Feb 2007 20:02:49 +0100 Subject: [Haiku-commits] r20067 - haiku/trunk/src/apps/bemail Message-ID: <200702041902.l14J2njx004634@sheep.berlios.de> Author: axeld Date: 2007-02-04 20:02:48 +0100 (Sun, 04 Feb 2007) New Revision: 20067 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20067&view=rev Modified: haiku/trunk/src/apps/bemail/Enclosures.cpp haiku/trunk/src/apps/bemail/Mail.h haiku/trunk/src/apps/bemail/Status.cpp haiku/trunk/src/apps/bemail/Status.h Log: * Removed VIEW_COLOR definition, and also fixed its former usages to use ui_color(B_PANEL_BACKGROUND_COLOR) instead. * Cleanup, simplified TStatusWindow. * Did not fix font sensitivity issues in TStatusWindow (but that's also not for Ryan, as MDR should stay compilable on R5 as well for now). Modified: haiku/trunk/src/apps/bemail/Enclosures.cpp =================================================================== --- haiku/trunk/src/apps/bemail/Enclosures.cpp 2007-02-04 14:03:21 UTC (rev 20066) +++ haiku/trunk/src/apps/bemail/Enclosures.cpp 2007-02-04 19:02:48 UTC (rev 20067) @@ -120,19 +120,17 @@ TEnclosuresView::TEnclosuresView(BRect rect, BRect wind_rect) - : BView(rect, "m_enclosures", B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW), + : BView(rect, "m_enclosures", B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW), fFocus(false) { - rgb_color c; - c.red = c.green = c.blue = VIEW_COLOR; - SetViewColor(c); + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); BFont font = *be_plain_font; font.SetSize(FONT_SIZE); font_height fHeight; font.GetHeight(&fHeight); fOffset = 12; - + BRect r; r.left = ENCLOSE_TEXT_H + font.StringWidth( MDR_DIALECT_CHOICE ("Enclosures: ","??????")) + 5; @@ -166,17 +164,14 @@ void TEnclosuresView::Draw(BRect where) { - float offset; - BFont font = *be_plain_font; - BView::Draw(where); + + BFont font = *be_plain_font; font.SetSize(FONT_SIZE); SetFont(&font); SetHighColor(0, 0, 0); - SetLowColor(VIEW_COLOR, VIEW_COLOR, VIEW_COLOR); + SetLowColor(ViewColor()); - offset = 12; - font_height fHeight; font.GetHeight(&fHeight); Modified: haiku/trunk/src/apps/bemail/Mail.h =================================================================== --- haiku/trunk/src/apps/bemail/Mail.h 2007-02-04 14:03:21 UTC (rev 20066) +++ haiku/trunk/src/apps/bemail/Mail.h 2007-02-04 19:02:48 UTC (rev 20067) @@ -60,7 +60,6 @@ #define WIND_HEIGHT 400 #define RIGHT_BOUNDARY 8191 #define SEPARATOR_MARGIN 7 -#define VIEW_COLOR 216 #define FONT_SIZE 11.0 #define QUOTE "> " Modified: haiku/trunk/src/apps/bemail/Status.cpp =================================================================== --- haiku/trunk/src/apps/bemail/Status.cpp 2007-02-04 14:03:21 UTC (rev 20066) +++ haiku/trunk/src/apps/bemail/Status.cpp 2007-02-04 19:02:48 UTC (rev 20067) @@ -32,105 +32,109 @@ All rights reserved. */ -//-------------------------------------------------------------------- -// -// Status.cpp -// -//-------------------------------------------------------------------- +#include "Mail.h" +#include "Status.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include #include -#include -#include "Mail.h" -#include "Status.h" +#define STATUS_TEXT "Status:" +#define STATUS_FIELD_H 10 +#define STATUS_FIELD_V 8 +#define STATUS_FIELD_WIDTH (STATUS_WIDTH - STATUS_FIELD_H) +#define STATUS_FIELD_HEIGHT 16 +#define BUTTON_WIDTH 70 +#define BUTTON_HEIGHT 20 -//==================================================================== +#define S_OK_BUTTON_X1 (STATUS_WIDTH - BUTTON_WIDTH - 6) +#define S_OK_BUTTON_Y1 (STATUS_HEIGHT - (BUTTON_HEIGHT + 10)) +#define S_OK_BUTTON_X2 (S_OK_BUTTON_X1 + BUTTON_WIDTH) +#define S_OK_BUTTON_Y2 (S_OK_BUTTON_Y1 + BUTTON_HEIGHT) +#define S_OK_BUTTON_TEXT "OK" -TStatusWindow::TStatusWindow(BRect rect, BWindow *window, const char *status) - : BWindow(rect, "", B_MODAL_WINDOW, B_NOT_RESIZABLE) -{ - BRect r(0, 0, STATUS_WIDTH, STATUS_HEIGHT); +#define S_CANCEL_BUTTON_X1 (S_OK_BUTTON_X1 - (BUTTON_WIDTH + 10)) +#define S_CANCEL_BUTTON_Y1 S_OK_BUTTON_Y1 +#define S_CANCEL_BUTTON_X2 (S_CANCEL_BUTTON_X1 + BUTTON_WIDTH) +#define S_CANCEL_BUTTON_Y2 S_OK_BUTTON_Y2 +#define S_CANCEL_BUTTON_TEXT "Cancel" - r.InsetBy(-1, -1); - fView = new TStatusView(r, window, status); - Lock(); - AddChild(fView); - Unlock(); - Show(); -} +enum status_messages { + STATUS = 128, + OK, + CANCEL +}; -//==================================================================== -// #pragma mark - - - -TStatusView::TStatusView(BRect rect, BWindow *window, const char *status) - : BBox(rect, "", B_FOLLOW_ALL, B_WILL_DRAW) +TStatusWindow::TStatusWindow(BRect rect, BMessenger target, const char* status) + : BWindow(rect, "", B_MODAL_WINDOW, B_NOT_RESIZABLE), + fTarget(target) { - fWindow = window; - fString = status; + BView* view = new BView(Bounds(), "", B_FOLLOW_ALL, B_WILL_DRAW); + view->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + AddChild(view); - SetViewColor(VIEW_COLOR, VIEW_COLOR, VIEW_COLOR); - - BFont font = *be_plain_font; - font.SetSize(FONT_SIZE); - SetFont(&font); -} - - -void -TStatusView::AttachedToWindow() -{ BRect r(STATUS_FIELD_H, STATUS_FIELD_V, STATUS_FIELD_WIDTH, STATUS_FIELD_V + STATUS_FIELD_HEIGHT); - fStatus = new BTextControl(r, "", STATUS_TEXT, fString, new BMessage(STATUS)); - AddChild(fStatus); + fStatus = new BTextControl(r, "", STATUS_TEXT, status, new BMessage(STATUS)); + view->AddChild(fStatus); - BFont font = *be_plain_font; - font.SetSize(FONT_SIZE); - fStatus->SetFont(&font); - fStatus->SetDivider(StringWidth(STATUS_TEXT) + 6); + fStatus->SetDivider(fStatus->StringWidth(STATUS_TEXT) + 6); fStatus->BTextControl::MakeFocus(true); r.Set(S_OK_BUTTON_X1, S_OK_BUTTON_Y1, S_OK_BUTTON_X2, S_OK_BUTTON_Y2); BButton *button = new BButton(r, "", S_OK_BUTTON_TEXT, new BMessage(OK)); - AddChild(button); - button->SetTarget(this); + view->AddChild(button); button->MakeDefault(true); r.Set(S_CANCEL_BUTTON_X1, S_CANCEL_BUTTON_Y1, S_CANCEL_BUTTON_X2, S_CANCEL_BUTTON_Y2); button = new BButton(r, "", S_CANCEL_BUTTON_TEXT, new BMessage(CANCEL)); - AddChild(button); - button->SetTarget(this); + view->AddChild(button); + + Show(); } +TStatusWindow::~TStatusWindow() +{ +} + + void -TStatusView::MessageReceived(BMessage *msg) +TStatusWindow::MessageReceived(BMessage* msg) { - char name[B_FILE_NAME_LENGTH]; - char new_name[B_FILE_NAME_LENGTH]; - int32 index = 0; - uint32 loop; - status_t result; - BDirectory dir; - BEntry entry; - BFile file; - BNodeInfo *node; - BPath path; - - switch (msg->what) - { + switch (msg->what) { case STATUS: break; case OK: - if (!Exists(fStatus->Text())) { + { + if (!_Exists(fStatus->Text())) { + int32 index = 0; + uint32 loop; + status_t result; + BDirectory dir; + BEntry entry; + BFile file; + BNodeInfo* node; + BPath path; + find_directory(B_USER_SETTINGS_DIRECTORY, &path, true); dir.SetTo(path.Path()); if (dir.FindEntry("bemail", &entry) == B_NO_ERROR) @@ -144,6 +148,9 @@ else dir.CreateDirectory("status", &dir); if (dir.InitCheck() == B_NO_ERROR) { + char name[B_FILE_NAME_LENGTH]; + char newName[B_FILE_NAME_LENGTH]; + sprintf(name, "%s", fStatus->Text()); if (strlen(name) > B_FILE_NAME_LENGTH - 10) name[B_FILE_NAME_LENGTH - 10] = 0; @@ -151,40 +158,41 @@ if (name[loop] == '/') name[loop] = '\\'; } - strcpy(new_name, name); + strcpy(newName, name); while (1) { - if ((result = dir.CreateFile(new_name, &file, true)) == B_NO_ERROR) + if ((result = dir.CreateFile(newName, &file, true)) == B_NO_ERROR) break; if (result != EEXIST) goto err_exit; - sprintf(new_name, "%s_%ld", name, index++); + sprintf(newName, "%s_%ld", name, index++); } - dir.FindEntry(new_name, &entry); + dir.FindEntry(newName, &entry); node = new BNodeInfo(&file); node->SetType("text/plain"); delete node; file.Write(fStatus->Text(), strlen(fStatus->Text()) + 1); file.SetSize(file.Position()); file.WriteAttr(INDEX_STATUS, B_STRING_TYPE, 0, fStatus->Text(), - strlen(fStatus->Text()) + 1); + strlen(fStatus->Text()) + 1); } } -err_exit: + err_exit: { - BMessage closeCstmMsg(M_CLOSE_CUSTOM); - closeCstmMsg.AddString("status", fStatus->Text()); - fWindow->PostMessage(&closeCstmMsg); + BMessage close(M_CLOSE_CUSTOM); + close.AddString("status", fStatus->Text()); + fTarget.SendMessage(&close); // will fall through } + } case CANCEL: - Window()->Quit(); + Quit(); break; } } bool -TStatusView::Exists(const char *status) +TStatusWindow::_Exists(const char* status) { BVolume volume; BVolumeRoster().GetBootVolume(&volume); Modified: haiku/trunk/src/apps/bemail/Status.h =================================================================== --- haiku/trunk/src/apps/bemail/Status.h 2007-02-04 14:03:21 UTC (rev 20066) +++ haiku/trunk/src/apps/bemail/Status.h 2007-02-04 19:02:48 UTC (rev 20067) @@ -31,89 +31,33 @@ names are registered trademarks or trademarks of their respective holders. All rights reserved. */ - -//-------------------------------------------------------------------- -// -// Status.h -// -//-------------------------------------------------------------------- - #ifndef _STATUS_H #define _STATUS_H -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include + +#include #include -#define STATUS_WIDTH 220 -#define STATUS_HEIGHT 80 -#define STATUS_TEXT "Status:" -#define STATUS_FIELD_H 10 -#define STATUS_FIELD_V 8 -#define STATUS_FIELD_WIDTH (STATUS_WIDTH - STATUS_FIELD_H) -#define STATUS_FIELD_HEIGHT 16 - -#define BUTTON_WIDTH 70 -#define BUTTON_HEIGHT 20 - -#define S_OK_BUTTON_X1 (STATUS_WIDTH - BUTTON_WIDTH - 6) -#define S_OK_BUTTON_Y1 (STATUS_HEIGHT - (BUTTON_HEIGHT + 10)) -#define S_OK_BUTTON_X2 (S_OK_BUTTON_X1 + BUTTON_WIDTH) -#define S_OK_BUTTON_Y2 (S_OK_BUTTON_Y1 + BUTTON_HEIGHT) -#define S_OK_BUTTON_TEXT "OK" - -#define S_CANCEL_BUTTON_X1 (S_OK_BUTTON_X1 - (BUTTON_WIDTH + 10)) -#define S_CANCEL_BUTTON_Y1 S_OK_BUTTON_Y1 -#define S_CANCEL_BUTTON_X2 (S_CANCEL_BUTTON_X1 + BUTTON_WIDTH) -#define S_CANCEL_BUTTON_Y2 S_OK_BUTTON_Y2 -#define S_CANCEL_BUTTON_TEXT "Cancel" - #define INDEX_STATUS "_status" -enum status_messages { - STATUS = 128, - OK, - CANCEL -}; +#define STATUS_WIDTH 220 +#define STATUS_HEIGHT 80 -class TStatusView; -//==================================================================== - -class TStatusWindow : public BWindow -{ +class TStatusWindow : public BWindow { public: - TStatusWindow(BRect, BWindow *, const char *status); + TStatusWindow(BRect frame, BMessenger target, const char* status); + virtual ~TStatusWindow(); - private: - TStatusView *fView; -}; + protected: + virtual void MessageReceived(BMessage* message); -//-------------------------------------------------------------------- - -class TStatusView : public BBox -{ - public: - TStatusView(BRect, BWindow *, const char *); - - virtual void AttachedToWindow(); - virtual void MessageReceived(BMessage *); - bool Exists(const char *); - private: - const char *fString; - BTextControl *fStatus; - BWindow *fWindow; + bool _Exists(const char* status); + + BMessenger fTarget; + BTextControl* fStatus; }; #endif // #ifndef _STATUS_H From axeld at mail.berlios.de Sun Feb 4 20:07:21 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Sun, 4 Feb 2007 20:07:21 +0100 Subject: [Haiku-commits] r20068 - haiku/trunk/src/apps/bemail Message-ID: <200702041907.l14J7LFm004951@sheep.berlios.de> Author: axeld Date: 2007-02-04 20:07:21 +0100 (Sun, 04 Feb 2007) New Revision: 20068 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20068&view=rev Modified: haiku/trunk/src/apps/bemail/Mail.cpp haiku/trunk/src/apps/bemail/Mail.h Log: * Moved the query engine from TMenu into its own function add_query_menu_items(). * Removed the "Set to..." submenu from the "Close and" menu; instead, all items are now added to the same level, which makes this menu more useful and easier to use. Modified: haiku/trunk/src/apps/bemail/Mail.cpp =================================================================== --- haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-04 19:02:48 UTC (rev 20067) +++ haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-04 19:07:21 UTC (rev 20068) @@ -175,6 +175,53 @@ int32 +add_query_menu_items(BMenu* menu, const char* attribute, uint32 what, + const char* format, bool popup = false) +{ + BVolume volume; + BVolumeRoster().GetBootVolume(&volume); + + BQuery query; + query.SetVolume(&volume); + query.PushAttr(attribute); + query.PushString("*"); + query.PushOp(B_EQ); + query.Fetch(); + + int32 index = 0; + BEntry entry; + while (query.GetNextEntry(&entry) == B_OK) { + BFile file(&entry, B_READ_ONLY); + if (file.InitCheck() == B_OK) { + BMessage* message = new BMessage(what); + + entry_ref ref; + entry.GetRef(&ref); + message->AddRef("ref", &ref); + + BString value; + if (file.ReadAttrString(attribute, &value) < B_OK) + continue; + + char name[256]; + if (format != NULL) + snprintf(name, sizeof(name), format, value.String()); + else + strlcpy(name, value.String(), sizeof(name)); + + if (index < 9 && !popup) + menu->AddItem(new BMenuItem(name, message, '1' + index)); + else + menu->AddItem(new BMenuItem(name, message)); + index++; + } + } + + return index; +} + + +int32 header_len(BFile *file) { char *buffer; @@ -1260,16 +1307,13 @@ if(!resending && fIncoming) { menu->AddSeparatorItem(); - + subMenu = new BMenu(MDR_DIALECT_CHOICE ("Close and ","C) ???")); if (file.GetAttrInfo(B_MAIL_ATTR_STATUS, &info) == B_NO_ERROR) file.ReadAttr(B_MAIL_ATTR_STATUS, B_STRING_TYPE, 0, str, info.size); else str[0] = 0; - //if( (strcmp(str, "Pending")==0)||(strcmp(str, "Sent")==0) ) - // canResend = true; - if (!strcmp(str, "New")) { subMenu->AddItem(item = new BMenuItem( MDR_DIALECT_CHOICE ("Leave as New", "N) ????????"), @@ -1289,12 +1333,24 @@ AddShortcut('W', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(M_CLOSE_SAME)); } + subMenu->AddSeparatorItem(); + subMenu->AddItem(new BMenuItem( MDR_DIALECT_CHOICE ("Set to Saved", "S) ??????"), new BMessage(M_CLOSE_SAVED), 'W', B_CONTROL_KEY)); + + if (add_query_menu_items(subMenu, INDEX_STATUS, M_STATUS, + MDR_DIALECT_CHOICE("Set to %s", "???<%s>???")) > 0) + subMenu->AddSeparatorItem(); + + subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Set to", "X) ???????") + B_UTF8_ELLIPSIS, new BMessage(M_CLOSE_CUSTOM))); + +#if 0 subMenu->AddItem(new BMenuItem(new TMenu( MDR_DIALECT_CHOICE ("Set to", "X) ???????")B_UTF8_ELLIPSIS, INDEX_STATUS, M_STATUS, false, false), new BMessage(M_CLOSE_CUSTOM))); +#endif menu->AddItem(subMenu); } else @@ -3839,17 +3895,14 @@ // #pragma mark - -TMenu::TMenu(const char *name, const char *attribute, int32 message, bool popup, bool addRandom) - : BPopUpMenu(name, false, false), +TMenu::TMenu(const char *name, const char *attribute, int32 message, bool popup, + bool addRandom) + : BPopUpMenu(name, false, false), fPopup(popup), fAddRandom(addRandom), fMessage(message) { - fAttribute = (char *)malloc(strlen(attribute) + 1); - strcpy(fAttribute, attribute); - fPredicate = (char *)malloc(strlen(fAttribute) + 5); - sprintf(fPredicate, "%s = *", fAttribute); - + fAttribute = strdup(attribute); BuildMenu(); } @@ -3857,7 +3910,6 @@ TMenu::~TMenu() { free(fAttribute); - free(fPredicate); } @@ -3882,45 +3934,12 @@ void TMenu::BuildMenu() { - BMenuItem *item; - while ((item = RemoveItem((int32)0)) != NULL) - delete item; + RemoveItems(0, CountItems(), true); + add_query_menu_items(this, fAttribute, fMessage, NULL, fPopup); - BVolume volume; - BVolumeRoster().GetBootVolume(&volume); + if (fAddRandom && CountItems() > 0) { + AddItem(new BSeparatorItem(), 0); - BQuery query; - query.SetVolume(&volume); - query.SetPredicate(fPredicate); - query.Fetch(); - - int32 index = 0; - BEntry entry; - while (query.GetNextEntry(&entry) == B_NO_ERROR) - { - BFile file(&entry, O_RDONLY); - if (file.InitCheck() == B_NO_ERROR) - { - BMessage *msg = new BMessage(fMessage); - - entry_ref ref; - entry.GetRef(&ref); - msg->AddRef("ref", &ref); - - char name[B_FILE_NAME_LENGTH]; - file.ReadAttr(fAttribute, B_STRING_TYPE, 0, name, sizeof(name)); - - if (index < 9 && !fPopup) - AddItem(new BMenuItem(name, msg, '1' + index)); - else - AddItem(new BMenuItem(name, msg)); - index++; - } - } - if (fAddRandom && CountItems()) - { - AddItem(new BSeparatorItem(), 0); - //AddSeparatorItem(); BMessage *msg = new BMessage(M_RANDOM_SIG); if (!fPopup) AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Random","R) ????"), msg, '0'), 0); Modified: haiku/trunk/src/apps/bemail/Mail.h =================================================================== --- haiku/trunk/src/apps/bemail/Mail.h 2007-02-04 19:02:48 UTC (rev 20067) +++ haiku/trunk/src/apps/bemail/Mail.h 2007-02-04 19:07:21 UTC (rev 20068) @@ -319,22 +319,19 @@ BMessenger *fOriginatingWindow; }; -//==================================================================== - -class TMenu: public BPopUpMenu -{ +class TMenu: public BPopUpMenu { public: - TMenu(const char *, const char *, int32, bool popup = false, bool addRandom = true); + TMenu(const char* name, const char* attribute, int32, bool popup = false, + bool addRandom = true); ~TMenu(); - + virtual BPoint ScreenLocation(void); virtual void AttachedToWindow(); void BuildMenu(); - + private: - char *fAttribute; - char *fPredicate; + char* fAttribute; bool fPopup, fAddRandom; int32 fMessage; }; From geist at mail.berlios.de Sun Feb 4 22:08:36 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 4 Feb 2007 22:08:36 +0100 Subject: [Haiku-commits] r20069 - in haiku/trunk: headers/private/kernel src/system/kernel src/system/libroot/os Message-ID: <200702042108.l14L8a5P014864@sheep.berlios.de> Author: geist Date: 2007-02-04 22:08:35 +0100 (Sun, 04 Feb 2007) New Revision: 20069 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20069&view=rev Modified: haiku/trunk/headers/private/kernel/syscalls.h haiku/trunk/src/system/kernel/syscalls.c haiku/trunk/src/system/libroot/os/system_info.c Log: is_computer_on() lives again as a true syscall. Replaced the _kern_null syscall with _kern_is_computer_on. is_computer_on_fire is a bit harder, since it returns a float from kernelland, which at the moment isn't supported in haiku. Modified: haiku/trunk/headers/private/kernel/syscalls.h =================================================================== --- haiku/trunk/headers/private/kernel/syscalls.h 2007-02-04 19:07:21 UTC (rev 20068) +++ haiku/trunk/headers/private/kernel/syscalls.h 2007-02-04 21:08:35 UTC (rev 20069) @@ -43,7 +43,7 @@ #pragma syscalls begin #endif -extern int _kern_null(); +extern int _kern_is_computer_on(void); extern status_t _kern_generic_syscall(const char *subsystem, uint32 function, void *buffer, size_t bufferSize); Modified: haiku/trunk/src/system/kernel/syscalls.c =================================================================== --- haiku/trunk/src/system/kernel/syscalls.c 2007-02-04 19:07:21 UTC (rev 20068) +++ haiku/trunk/src/system/kernel/syscalls.c 2007-02-04 21:08:35 UTC (rev 20069) @@ -147,12 +147,11 @@ static inline int -_user_null() +_user_is_computer_on(void) { - return 0; + return 1; } - // map to the arch specific call static inline int64 Modified: haiku/trunk/src/system/libroot/os/system_info.c =================================================================== --- haiku/trunk/src/system/libroot/os/system_info.c 2007-02-04 19:07:21 UTC (rev 20068) +++ haiku/trunk/src/system/libroot/os/system_info.c 2007-02-04 21:08:35 UTC (rev 20069) @@ -21,7 +21,7 @@ int32 is_computer_on(void) { - return 1; + return _kern_is_computer_on(); } From geist at mail.berlios.de Sun Feb 4 22:12:55 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 4 Feb 2007 22:12:55 +0100 Subject: [Haiku-commits] r20070 - haiku/trunk/src/tests/system/benchmarks Message-ID: <200702042112.l14LCtkx015293@sheep.berlios.de> Author: geist Date: 2007-02-04 22:12:54 +0100 (Sun, 04 Feb 2007) New Revision: 20070 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20070&view=rev Modified: haiku/trunk/src/tests/system/benchmarks/syscallbench.c Log: Rewrote the syscallbench app. It now will figure the overhead of a simple test loop, then the overhead of a call into libroot, and finally the overhead of a syscall (using is_computer_on). The numbers are totally abysmal right now. :( Modified: haiku/trunk/src/tests/system/benchmarks/syscallbench.c =================================================================== --- haiku/trunk/src/tests/system/benchmarks/syscallbench.c 2007-02-04 21:08:35 UTC (rev 20069) +++ haiku/trunk/src/tests/system/benchmarks/syscallbench.c 2007-02-04 21:12:54 UTC (rev 20070) @@ -9,8 +9,10 @@ #include #include -#define ITERATIONS 1000000 +#include +#define ITERATIONS 500000 + static void usage(void) { @@ -18,34 +20,50 @@ exit(1); } -int -main(int argc, char *argv[]) +static int null_func(void) { + return 0; +} + +static unsigned long test_func(int (*func)(void)) +{ struct timeval before, after; - unsigned long overhead, elapsed; + unsigned long elapsed; int i; - pid_t pid; - - if (argc > 1) - usage(); gettimeofday(&before, NULL); for (i=0; i 1) + usage(); + + overhead = test_func(&null_func); + libcall = test_func((void *)&getpid); // getpid is currently implemented as a library function returning the value of a global + syscall = test_func((void *)&is_computer_on); + + printf("overhead time: %ld microseconds\n", + (1000*(overhead))/ITERATIONS); + + printf("libcall time: %ld microseconds\n", + (1000*(libcall-overhead))/ITERATIONS); + printf("syscall time: %ld microseconds\n", - (1000*(elapsed-overhead))/ITERATIONS); + (1000*(syscall-overhead))/ITERATIONS); return (0); } From geist at mail.berlios.de Sun Feb 4 22:57:56 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 4 Feb 2007 22:57:56 +0100 Subject: [Haiku-commits] r20071 - haiku/trunk/src/tests/system/benchmarks Message-ID: <200702042157.l14LvuQC018629@sheep.berlios.de> Author: geist Date: 2007-02-04 22:57:56 +0100 (Sun, 04 Feb 2007) New Revision: 20071 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20071&view=rev Modified: haiku/trunk/src/tests/system/benchmarks/syscallbench.c Log: whew, the numbers were looking terrible for sycalls, but it was just the app being off by a factor of 1000. It's still somewhat slower, but workable. null syscall speed on p3 500: haiku 6800 nanosecs beosr5 2200 nanosecs linux 680 nanosecs Modified: haiku/trunk/src/tests/system/benchmarks/syscallbench.c =================================================================== --- haiku/trunk/src/tests/system/benchmarks/syscallbench.c 2007-02-04 21:12:54 UTC (rev 20070) +++ haiku/trunk/src/tests/system/benchmarks/syscallbench.c 2007-02-04 21:57:56 UTC (rev 20071) @@ -56,13 +56,13 @@ libcall = test_func((void *)&getpid); // getpid is currently implemented as a library function returning the value of a global syscall = test_func((void *)&is_computer_on); - printf("overhead time: %ld microseconds\n", + printf("overhead time: %ld nanoseconds\n", (1000*(overhead))/ITERATIONS); - printf("libcall time: %ld microseconds\n", + printf("libcall time: %ld nanoseconds\n", (1000*(libcall-overhead))/ITERATIONS); - printf("syscall time: %ld microseconds\n", + printf("syscall time: %ld nanoseconds\n", (1000*(syscall-overhead))/ITERATIONS); return (0); From axeld at pinc-software.de Mon Feb 5 01:03:07 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Mon, 05 Feb 2007 01:03:07 +0100 CET Subject: [Haiku-commits] r20071 - haiku/trunk/src/tests/system/benchmarks In-Reply-To: <200702042157.l14LvuQC018629@sheep.berlios.de> Message-ID: <45812220324-BeMail@zon> geist at BerliOS wrote: > whew, the numbers were looking terrible for sycalls, but it was just > the app > being off by a factor of 1000. > It's still somewhat slower, but workable. null syscall speed on p3 > 500: > haiku 6800 nanosecs > beosr5 2200 nanosecs > linux 680 nanosecs Nice one :-) Looks like there is still more than just a lot of room for improvement... BTW what syscall were you using in Linux? Bye, Axel. From geist at foobox.com Mon Feb 5 02:02:30 2007 From: geist at foobox.com (Travis Geiselbrecht) Date: Sun, 4 Feb 2007 17:02:30 -0800 Subject: [Haiku-commits] r20071 - haiku/trunk/src/tests/system/benchmarks In-Reply-To: <45812220324-BeMail@zon> References: <45812220324-BeMail@zon> Message-ID: <6EEA4358-9E06-4A65-BC77-9ACE7FDCB423@foobox.com> On Feb 4, 2007, at 4:03 PM, Axel D?rfler wrote: > geist at BerliOS wrote: >> whew, the numbers were looking terrible for sycalls, but it was just >> the app >> being off by a factor of 1000. >> It's still somewhat slower, but workable. null syscall speed on p3 >> 500: >> haiku 6800 nanosecs >> beosr5 2200 nanosecs >> linux 680 nanosecs > > Nice one :-) > Looks like there is still more than just a lot of room for > improvement... > BTW what syscall were you using in Linux? I eventually settled on time() since it seems to actually go all the way to kernel space. They do do something sort of clever that I was thinking about using for haiku when/if I get around to rewriting the syscall mechanism. In their system they appear to have the gs register pointing to a common segment that the kernel keeps mapped permanently into every address space. In the segment is apparently the actual syscall code. Thus every syscall actually looks like call *%gs:0x10 Presumably at 0x10 into the segment is a pointer to the syscall mechanism optimal for that particular cpu that the kernel set up. I know other systems have done something like this. You can put all sorts of good stuff in there, like the current system tick count and the conversion factors needed to convert it back to real time (so something like time wouldn't need to enter kernel space). System stats, cpu info, whatever. You could even have optimized version of memcpy/memset/etc for every cpu there, and have libc just bounce into it. I was trying to figure out a good way to select the proper syscall/sysenter/int mechanism but without doing gnarly runtime patches to keep multiple versions of the library around, it seems to be the best strategy. To find it you can either have it at a fixed offset (0xffff0000) or have a segment register point to it (%gs probably, since fs is in use). Do you think this would be worth doing? We'd have to burn gs, but I don't think we're using it for anything else, and if that's not okay, we can just stick it at a known offset. My main concern is making sure we dont break beos compatibility, and making sure it doesn't make it harder to do stuff like run wine or whatnot. I can't think of any good reason why it would, but I'm not terribly familiar with that stuff. Travis From geist at mail.berlios.de Mon Feb 5 02:46:30 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Mon, 5 Feb 2007 02:46:30 +0100 Subject: [Haiku-commits] r20072 - in haiku/trunk: headers/private/kernel headers/private/kernel/arch headers/private/kernel/arch/ppc headers/private/kernel/arch/x86 src/add-ons/kernel/cpu/x86 src/system/kernel src/system/kernel/arch/x86 Message-ID: <200702050146.l151kUv9013856@sheep.berlios.de> Author: geist Date: 2007-02-05 02:46:28 +0100 (Mon, 05 Feb 2007) New Revision: 20072 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20072&view=rev Modified: haiku/trunk/headers/private/kernel/arch/cpu.h haiku/trunk/headers/private/kernel/arch/ppc/arch_cpu.h haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h haiku/trunk/headers/private/kernel/arch/x86/arch_system_info.h haiku/trunk/headers/private/kernel/cpu.h haiku/trunk/src/add-ons/kernel/cpu/x86/generic_x86.cpp haiku/trunk/src/add-ons/kernel/cpu/x86/via.cpp haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c haiku/trunk/src/system/kernel/arch/x86/arch_system_info.c haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c haiku/trunk/src/system/kernel/cpu.c haiku/trunk/src/system/kernel/main.c Log: pulled over some stuff from newos: at boot, per cpu, detect the cpu, pull down all the relevant cpuid bits and save them into the per-cpu structure. Changed most of the code scattered here and there that reads the cpuid to use a new api, x86_check_feature, which looks at the saved bits. Also changed the system_info stuff to read from these bits. While i was at it, refreshed all the bits to be current. Modified: haiku/trunk/headers/private/kernel/arch/cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/cpu.h 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/headers/private/kernel/arch/cpu.h 2007-02-05 01:46:28 UTC (rev 20072) @@ -21,6 +21,7 @@ status_t arch_cpu_preboot_init(kernel_args *args); status_t arch_cpu_init(kernel_args *args); +status_t arch_cpu_init_percpu(kernel_args *args, int curr_cpu); status_t arch_cpu_init_post_vm(kernel_args *args); status_t arch_cpu_init_post_modules(kernel_args *args); status_t arch_cpu_shutdown(bool reboot); Modified: haiku/trunk/headers/private/kernel/arch/ppc/arch_cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/ppc/arch_cpu.h 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/headers/private/kernel/arch/ppc/arch_cpu.h 2007-02-05 01:46:28 UTC (rev 20072) @@ -101,6 +101,11 @@ struct block_address_translation; +typedef struct arch_cpu_info { + int null; +} arch_cpu_info; + + #ifdef __cplusplus extern "C" { #endif Modified: haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h 2007-02-05 01:46:28 UTC (rev 20072) @@ -21,13 +21,56 @@ #define IA32_MSR_MTRR_PHYSICAL_BASE_0 0x200 #define IA32_MSR_MTRR_PHYSICAL_MASK_0 0x201 -// cpuid eax 1 features -#define IA32_FEATURE_MSR (1UL << 5) -#define IA32_FEATURE_MTRR (1UL << 12) -#define IA32_FEATURE_GLOBAL_PAGES (1UL << 13) -#define IA32_FEATURE_SSE (1UL << 25) -#define IA32_FEATURE_FXSR (1UL << 24) +// x86 features from cpuid eax 1, edx register +#define IA32_FEATURE_FPU 0x00000001 // x87 fpu +#define IA32_FEATURE_VME 0x00000002 // virtual 8086 +#define IA32_FEATURE_DE 0x00000004 // debugging extensions +#define IA32_FEATURE_PSE 0x00000008 // page size extensions +#define IA32_FEATURE_TSC 0x00000010 // rdtsc instruction +#define IA32_FEATURE_MSR 0x00000020 // rdmsr/wrmsr instruction +#define IA32_FEATURE_PAE 0x00000040 // extended 3 level page table addressing +#define IA32_FEATURE_MCE 0x00000080 // machine check exception +#define IA32_FEATURE_CX8 0x00000100 // cmpxchg8b instruction +#define IA32_FEATURE_APIC 0x00000200 // local apic on chip +#define IA32_FEATURE_SEP 0x00000800 // SYSENTER/SYSEXIT +#define IA32_FEATURE_MTRR 0x00001000 // MTRR +#define IA32_FEATURE_PGE 0x00002000 // paging global bit +#define IA32_FEATURE_MCA 0x00004000 // machine check architecture +#define IA32_FEATURE_CMOV 0x00008000 // cmov instruction +#define IA32_FEATURE_PAT 0x00010000 // page attribute table +#define IA32_FEATURE_PSE36 0x00020000 // page size extensions with 4MB pages +#define IA32_FEATURE_PSN 0x00040000 // processor serial number +#define IA32_FEATURE_CLFSH 0x00080000 // cflush instruction +#define IA32_FEATURE_DS 0x00200000 // debug store +#define IA32_FEATURE_ACPI 0x00400000 // thermal monitor and clock ctrl +#define IA32_FEATURE_MMX 0x00800000 // mmx instructions +#define IA32_FEATURE_FXSR 0x01000000 // FXSAVE/FXRSTOR instruction +#define IA32_FEATURE_SSE 0x02000000 // SSE +#define IA32_FEATURE_SSE2 0x04000000 // SSE2 +#define IA32_FEATURE_SS 0x08000000 // self snoop +#define IA32_FEATURE_HTT 0x10000000 // hyperthreading +#define IA32_FEATURE_TM 0x20000000 // thermal monitor +#define IA32_FEATURE_PBE 0x80000000 // pending break enable +// x86 features from cpuid eax 1, ecx register +#define IA32_FEATURE_EXT_SSE3 0x00000001 // SSE3 +#define IA32_FEATURE_EXT_MONITOR 0x00000008 // MONITOR/MWAIT +#define IA32_FEATURE_EXT_DSCPL 0x00000010 // CPL qualified debug store +#define IA32_FEATURE_EXT_EST 0x00000080 // speedstep +#define IA32_FEATURE_EXT_TM2 0x00000100 // thermal monitor 2 +#define IA32_FEATURE_EXT_CNXTID 0x00000400 // L1 context ID + +// x86 features from cpuid eax 0x80000001, edx register (AMD) +// only care about the ones that are unique to this register +#define IA32_FEATURE_AMD_EXT_SYSCALL (1<<11) // SYSCALL/SYSRET +#define IA32_FEATURE_AMD_EXT_NX (1<<20) // no execute bit +#define IA32_FEATURE_AMD_EXT_MMXEXT (1<<22) // mmx extensions +#define IA32_FEATURE_AMD_EXT_FFXSR (1<<25) // fast FXSAVE/FXRSTOR +#define IA32_FEATURE_AMD_EXT_RDTSCP (1<<27) // rdtscp instruction +#define IA32_FEATURE_AMD_EXT_LONG (1<<29) // long mode +#define IA32_FEATURE_AMD_EXT_3DNOWEXT (1<<30) // 3DNow! extensions +#define IA32_FEATURE_AMD_EXT_3DNOW (1<<31) // 3DNow! + // cr4 flags #define IA32_CR4_GLOBAL_PAGES (1UL << 7) @@ -90,7 +133,42 @@ uint32 user_ss; }; +// features +enum x86_feature_type { + FEATURE_COMMON = 0, // cpuid eax=1, ecx register + FEATURE_EXT, // cpuid eax=1, edx register + FEATURE_EXT_AMD, // cpuid eax=0x80000001, edx register (AMD) + FEATURE_NUM +}; + +enum x86_vendors { + VENDOR_INTEL = 0, + VENDOR_AMD, + VENDOR_CYRIX, + VENDOR_UMC, + VENDOR_NEXGEN, + VENDOR_CENTAUR, + VENDOR_RISE, + VENDOR_TRANSMETA, + VENDOR_NSC, + + VENDOR_NUM, + VENDOR_UNKNOWN, +}; + +typedef struct arch_cpu_info { + enum x86_vendors vendor; + enum x86_feature_type feature[FEATURE_NUM]; + char model_name[49]; + const char *vendor_name; + int type; + int family; + int stepping; + int model; + char feature_string[256]; +} arch_cpu_info; + #ifdef __cplusplus extern "C" { #endif @@ -124,8 +202,10 @@ uint32 x86_count_mtrrs(void); void x86_set_mtrr(uint32 index, uint64 base, uint64 length, uint8 type); status_t x86_get_mtrr(uint32 index, uint64 *_base, uint64 *_length, uint8 *_type); +bool x86_check_feature(uint32 feature, enum x86_feature_type type); struct tss *x86_get_main_tss(void); + #define read_cr3(value) \ __asm__("movl %%cr3,%0" : "=r" (value)) Modified: haiku/trunk/headers/private/kernel/arch/x86/arch_system_info.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/x86/arch_system_info.h 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/headers/private/kernel/arch/x86/arch_system_info.h 2007-02-05 01:46:28 UTC (rev 20072) @@ -8,7 +8,6 @@ #include - #ifdef __cplusplus extern "C" { #endif Modified: haiku/trunk/headers/private/kernel/cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/cpu.h 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/headers/private/kernel/cpu.h 2007-02-05 01:46:28 UTC (rev 20072) @@ -12,6 +12,7 @@ #include #include #include +#include /* CPU local data structure */ @@ -29,6 +30,9 @@ bigtime_t last_user_time; bool disabled; + + // arch-specific stuff + arch_cpu_info arch; } cpu_ent __attribute__((aligned(64))); @@ -41,6 +45,7 @@ status_t cpu_preboot_init(struct kernel_args *args); status_t cpu_init(struct kernel_args *args); +status_t cpu_init_percpu(kernel_args *ka, int curr_cpu); status_t cpu_init_post_vm(struct kernel_args *args); status_t cpu_init_post_modules(struct kernel_args *args); bigtime_t cpu_get_active_time(int32 cpu); Modified: haiku/trunk/src/add-ons/kernel/cpu/x86/generic_x86.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/cpu/x86/generic_x86.cpp 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/add-ons/kernel/cpu/x86/generic_x86.cpp 2007-02-05 01:46:28 UTC (rev 20072) @@ -14,6 +14,7 @@ #include #include +#include //#define TRACE_MTRR @@ -46,10 +47,8 @@ uint32 generic_count_mtrrs(void) { - cpuid_info cpuInfo; - if (get_current_cpuid(&cpuInfo, 1) != B_OK - || (cpuInfo.eax_1.features & IA32_FEATURE_MTRR) == 0 - || (cpuInfo.eax_1.features & IA32_FEATURE_MSR) == 0) + if (!x86_check_feature(IA32_FEATURE_MTRR, FEATURE_COMMON) + || !x86_check_feature(IA32_FEATURE_MSR, FEATURE_COMMON)) return 0; mtrr_capabilities capabilities(x86_read_msr(IA32_MSR_MTRR_CAPABILITIES)); @@ -139,9 +138,9 @@ uint32 bits = 36; cpuid_info cpuInfo; - if (get_cpuid(&cpuInfo, 0x80000000, 0) == B_OK + if (get_current_cpuid(&cpuInfo, 0x80000000) == B_OK && cpuInfo.eax_0.max_eax & 0xff >= 8) { - get_cpuid(&cpuInfo, 0x80000008, 0); + get_current_cpuid(&cpuInfo, 0x80000008); bits = cpuInfo.regs.eax & 0xff; // Obviously, the bits are not always reported correctly Modified: haiku/trunk/src/add-ons/kernel/cpu/x86/via.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/cpu/x86/via.cpp 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/add-ons/kernel/cpu/x86/via.cpp 2007-02-05 01:46:28 UTC (rev 20072) @@ -17,8 +17,7 @@ via_count_mtrrs(void) { cpuid_info cpuInfo; - if (get_cpuid(&cpuInfo, 1, 0) != B_OK - || (cpuInfo.eax_1.features & IA32_FEATURE_MTRR) == 0) + if (!x86_check_feature(IA32_FEATURE_MTRR, FEATURE_COMMON)) return 0; // IA32_MSR_MTRR_CAPABILITIES doesn't exist on VIA CPUs Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-05 01:46:28 UTC (rev 20072) @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -24,6 +25,24 @@ #include +/* cpu vendor info */ +struct cpu_vendor_info { + const char *vendor; + const char *ident_string[2]; +}; + +static const struct cpu_vendor_info vendor_info[VENDOR_NUM] = { + { "Intel", { "GenuineIntel" } }, + { "AMD", { "AuthenticAMD" } }, + { "Cyrix", { "CyrixInstead" } }, + { "UMC", { "UMC UMC UMC" } }, + { "NexGen", { "NexGenDriven" } }, + { "Centaur", { "CentaurHauls" } }, + { "Rise", { "RiseRiseRise" } }, + { "Transmeta", { "GenuineTMx86", "TransmetaCPU" } }, + { "NSC", { "Geode by NSC" } }, +}; + #define CR0_CACHE_DISABLE (1UL << 30) #define CR0_NOT_WRITE_THROUGH (1UL << 29) #define CR0_FPU_EMULATION (1UL << 2) @@ -173,10 +192,8 @@ static void init_sse(void) { - cpuid_info info; - if (get_current_cpuid(&info, 1) != B_OK - || (info.eax_1.features & IA32_FEATURE_SSE) == 0 - || (info.eax_1.features & IA32_FEATURE_FXSR) == 0) { + if (!x86_check_feature(IA32_FEATURE_SSE, FEATURE_COMMON) + || !x86_check_feature(IA32_FEATURE_FXSR, FEATURE_COMMON)) { // we don't have proper SSE support return; } @@ -228,10 +245,206 @@ // set_tss_descriptor(&gGDT[DOUBLE_FAULT_TSS_SEGMENT + cpuNum], (addr_t)sDoubleFaultTSS[cpuNum], sizeof(struct tss)); } +static void make_feature_string(cpu_ent *cpu, char *str, size_t strlen) +{ + str[0] = 0; + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_FPU) + strlcat(str, "fpu ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_VME) + strlcat(str, "vme ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_DE) + strlcat(str, "de ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PSE) + strlcat(str, "pse ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_TSC) + strlcat(str, "tsc ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_MSR) + strlcat(str, "msr ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PAE) + strlcat(str, "pae ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_MCE) + strlcat(str, "mce ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_CX8) + strlcat(str, "cx8 ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_APIC) + strlcat(str, "apic ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_SEP) + strlcat(str, "sep ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_MTRR) + strlcat(str, "mtrr ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PGE) + strlcat(str, "pge ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_MCA) + strlcat(str, "mca ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_CMOV) + strlcat(str, "cmov ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PAT) + strlcat(str, "pat ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PSE36) + strlcat(str, "pse36 ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PSN) + strlcat(str, "psn ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_CLFSH) + strlcat(str, "clfsh ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_DS) + strlcat(str, "ds ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_ACPI) + strlcat(str, "acpi ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_MMX) + strlcat(str, "mmx ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_FXSR) + strlcat(str, "fxsr ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_SSE) + strlcat(str, "sse ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_SSE2) + strlcat(str, "sse2 ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_SS) + strlcat(str, "ss ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_HTT) + strlcat(str, "htt ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_TM) + strlcat(str, "tm ", strlen); + if(cpu->arch.feature[FEATURE_COMMON] & IA32_FEATURE_PBE) + strlcat(str, "pbe ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_SSE3) + strlcat(str, "sse3 ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_MONITOR) + strlcat(str, "monitor ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_DSCPL) + strlcat(str, "dscpl ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_EST) + strlcat(str, "est ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_TM2) + strlcat(str, "tm2 ", strlen); + if(cpu->arch.feature[FEATURE_EXT] & IA32_FEATURE_EXT_CNXTID) + strlcat(str, "cnxtid ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_SYSCALL) + strlcat(str, "syscall ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_NX) + strlcat(str, "nx ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_MMXEXT) + strlcat(str, "mmxext ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_FFXSR) + strlcat(str, "ffxsr ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_LONG) + strlcat(str, "long ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_3DNOWEXT) + strlcat(str, "3dnowext ", strlen); + if(cpu->arch.feature[FEATURE_EXT_AMD] & IA32_FEATURE_AMD_EXT_3DNOW) + strlcat(str, "3dnow ", strlen); +} + +static int detect_cpu(kernel_args *ka, int curr_cpu) +{ + cpuid_info cpuid; + unsigned int data[4]; + char vendor_str[17]; + int i; + cpu_ent *cpu = get_cpu_struct(); + + // clear out the cpu info data + cpu->arch.vendor = VENDOR_UNKNOWN; + cpu->arch.vendor_name = "UNKNOWN VENDOR"; + cpu->arch.feature[FEATURE_COMMON] = 0; + cpu->arch.feature[FEATURE_EXT] = 0; + cpu->arch.feature[FEATURE_EXT_AMD] = 0; + cpu->arch.model_name[0] = 0; + + // print some fun data + get_current_cpuid(&cpuid, 0); + + // build the vendor string + memset(vendor_str, 0, sizeof(vendor_str)); + memcpy(vendor_str, cpuid.eax_0.vendor_id, sizeof(cpuid.eax_0.vendor_id)); + + // get the family, model, stepping + get_current_cpuid(&cpuid, 1); + cpu->arch.type = cpuid.eax_1.type; + cpu->arch.family = cpuid.eax_1.family; + cpu->arch.model = cpuid.eax_1.model; + cpu->arch.stepping = cpuid.eax_1.stepping; + dprintf("CPU %d: type %d family %d model %d stepping %d, string '%s'\n", + curr_cpu, cpu->arch.type, cpu->arch.family, cpu->arch.model, cpu->arch.stepping, vendor_str); + + // figure out what vendor we have here + + for(i=0; iarch.vendor = i; + cpu->arch.vendor_name = vendor_info[i].vendor; + break; + } + if(!strcmp(vendor_str, vendor_info[i].ident_string[1])) { + cpu->arch.vendor = i; + cpu->arch.vendor_name = vendor_info[i].vendor; + break; + } + } + + // see if we can get the model name + get_current_cpuid(&cpuid, 0x80000000); + if(cpuid.eax_0.max_eax >= 0x80000004) { + // build the model string (need to swap ecx/edx data before copying) + unsigned int temp; + memset(cpu->arch.model_name, 0, sizeof(cpu->arch.model_name)); + get_current_cpuid(&cpuid, 0x80000002); + temp = cpuid.regs.edx; cpuid.regs.edx = cpuid.regs.ecx; cpuid.regs.ecx = temp; + memcpy(cpu->arch.model_name, cpuid.as_chars, sizeof(cpuid.as_chars)); + get_current_cpuid(&cpuid, 0x80000003); + temp = cpuid.regs.edx; cpuid.regs.edx = cpuid.regs.ecx; cpuid.regs.ecx = temp; + memcpy(cpu->arch.model_name + 16, cpuid.as_chars, sizeof(cpuid.as_chars)); + get_current_cpuid(&cpuid, 0x80000004); + temp = cpuid.regs.edx; cpuid.regs.edx = cpuid.regs.ecx; cpuid.regs.ecx = temp; + memcpy(cpu->arch.model_name + 32, cpuid.as_chars, sizeof(cpuid.as_chars)); + + // some cpus return a right-justified string + for(i = 0; cpu->arch.model_name[i] == ' '; i++) + ; + if(i > 0) { + memmove(cpu->arch.model_name, + &cpu->arch.model_name[i], + strlen(&cpu->arch.model_name[i]) + 1); + } + + dprintf("CPU %d: vendor '%s' model name '%s'\n", + curr_cpu, cpu->arch.vendor_name, cpu->arch.model_name); + } else { + strcpy(cpu->arch.model_name, "unknown"); + } + + // load feature bits + get_current_cpuid(&cpuid, 1); + cpu->arch.feature[FEATURE_COMMON] = cpuid.eax_1.features; // edx + cpu->arch.feature[FEATURE_EXT] = cpuid.eax_1.extended_features; // ecx + if(cpu->arch.vendor == VENDOR_AMD) { + get_current_cpuid(&cpuid, 0x80000001); + cpu->arch.feature[FEATURE_EXT_AMD] = cpuid.regs.edx; // edx + } + + make_feature_string(cpu, cpu->arch.feature_string, sizeof(cpu->arch.feature_string)); + dprintf("CPU %d: features: %s\n", curr_cpu, cpu->arch.feature_string); + + return 0; +} + +bool x86_check_feature(uint32 feature, enum x86_feature_type type) +{ + cpu_ent *cpu = get_cpu_struct(); + +#if 0 + int i; + dprintf("x86_check_feature: feature 0x%x, type %d\n", feature, type); + for (i = 0; i < FEATURE_NUM; i++) { + dprintf("features %d: 0x%x\n", i, cpu->arch.feature[i]); + } +#endif + + return (cpu->arch.feature[type] & feature) ? TRUE : FALSE; +} + // #pragma mark - - status_t arch_cpu_preboot_init(kernel_args *args) { @@ -244,6 +457,14 @@ } +status_t +arch_cpu_init_percpu(kernel_args *args, int curr_cpu) +{ + detect_cpu(args, curr_cpu); + + return 0; +} + status_t arch_cpu_init(kernel_args *args) { Modified: haiku/trunk/src/system/kernel/arch/x86/arch_system_info.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_system_info.c 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/system/kernel/arch/x86/arch_system_info.c 2007-02-05 01:46:28 UTC (rev 20072) @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -77,49 +78,55 @@ { // This is what you get if the CPU vendor is not recognized // or the CPU does not support cpuid with eax == 1. - uint32 base = B_CPU_x86; + uint32 base; uint32 model = 0; - - cpuid_info cpuInfo; - if (get_current_cpuid(&cpuInfo, 0) == B_OK) { - // set CPU type and revision - - if (!strncmp(cpuInfo.eax_0.vendor_id, "GenuineIntel", 12)) + cpu_ent *cpu = get_cpu_struct(); + + switch (cpu->arch.vendor) { + case VENDOR_INTEL: base = B_CPU_INTEL_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "AuthenticAMD", 12)) + break; + case VENDOR_AMD: base = B_CPU_AMD_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "CyrixInstead", 12)) + break; + case VENDOR_CYRIX: base = B_CPU_CYRIX_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "RiseRiseRise", 12)) + break; + case VENDOR_UMC: + base = B_CPU_INTEL_x86; // XXX + break; + case VENDOR_NEXGEN: + base = B_CPU_INTEL_x86; // XXX + break; + case VENDOR_CENTAUR: + base = B_CPU_VIA_IDT_x86; + break; + case VENDOR_RISE: base = B_CPU_RISE_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "CentaurHauls", 12)) - base = B_CPU_VIA_IDT_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "NexGenDriven", 12)) - // ToDo: add NexGen CPU types - base = B_CPU_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "GenuineTMx86", 12)) + break; + case VENDOR_TRANSMETA: base = B_CPU_TRANSMETA_x86; - else if (!strncmp(cpuInfo.eax_0.vendor_id, "Geode by NSC", 12)) + break; + case VENDOR_NSC: base = B_CPU_NATIONAL_x86; + break; + default: + base = B_CPU_x86; + } - if (cpuInfo.eax_0.max_eax >= 1) { - get_current_cpuid(&cpuInfo, 1); - if (base != B_CPU_x86) - model = (cpuInfo.eax_1.family << 4) + cpuInfo.eax_1.model; + if (base != B_CPU_x86) + model = (cpu->arch.family << 4) + cpu->arch.model; - sCpuRevision = (cpuInfo.eax_1.type << 12) - | (cpuInfo.eax_1.family << 8) - | (cpuInfo.eax_1.model << 4) - | cpuInfo.eax_1.stepping; - } - } + sCpuRevision = (cpu->arch.type << 12) + | (cpu->arch.family << 8) + | (cpu->arch.model << 4) + | cpu->arch.stepping; sCpuType = base + model; sCpuClockSpeed = args->arch_args.cpu_clock_speed; return B_OK; } - // #pragma mark - Modified: haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c 2007-02-05 01:46:28 UTC (rev 20072) @@ -823,7 +823,6 @@ status_t arch_vm_translation_map_init(kernel_args *args) { - cpuid_info info; status_t error; TRACE(("vm_translation_map_init: entry\n")); @@ -875,8 +874,7 @@ } // enable global page feature if available - get_current_cpuid(&info, 1); - if (info.eax_1.features & IA32_FEATURE_GLOBAL_PAGES) { + if (x86_check_feature(IA32_FEATURE_PGE, FEATURE_COMMON)) { // this prevents kernel pages from being flushed from TLB on context-switch x86_write_cr4(x86_read_cr4() | IA32_CR4_GLOBAL_PAGES); } Modified: haiku/trunk/src/system/kernel/cpu.c =================================================================== --- haiku/trunk/src/system/kernel/cpu.c 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/system/kernel/cpu.c 2007-02-05 01:46:28 UTC (rev 20072) @@ -36,6 +36,11 @@ return arch_cpu_init(args); } +status_t +cpu_init_percpu(kernel_args *args, int curr_cpu) +{ + return arch_cpu_init_percpu(args, curr_cpu); +} status_t cpu_init_post_vm(kernel_args *args) Modified: haiku/trunk/src/system/kernel/main.c =================================================================== --- haiku/trunk/src/system/kernel/main.c 2007-02-04 21:57:56 UTC (rev 20071) +++ haiku/trunk/src/system/kernel/main.c 2007-02-05 01:46:28 UTC (rev 20072) @@ -95,6 +95,7 @@ // init modules TRACE(("init CPU\n")); cpu_init(&sKernelArgs); + cpu_init_percpu(&sKernelArgs, currentCPU); TRACE(("init interrupts\n")); int_init(&sKernelArgs); @@ -165,6 +166,7 @@ resume_thread(thread); } else { // this is run for each non boot processor after they've been set loose + cpu_init_percpu(&sKernelArgs, currentCPU); smp_per_cpu_init(&sKernelArgs, currentCPU); thread_per_cpu_init(currentCPU); From bonefish at cs.tu-berlin.de Mon Feb 5 12:14:18 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Mon, 05 Feb 2007 12:14:18 +0100 Subject: [Haiku-commits] r20069 - in haiku/trunk: headers/private/kernel src/system/kernel src/system/libroot/os In-Reply-To: <200702042108.l14L8a5P014864@sheep.berlios.de> References: <200702042108.l14L8a5P014864@sheep.berlios.de> Message-ID: <20070205121418.990.1@cs.tu-berlin.de> On 2007-02-04 at 22:08:36 [+0100], geist at BerliOS wrote: > Author: geist > Date: 2007-02-04 22:08:35 +0100 (Sun, 04 Feb 2007) > New Revision: 20069 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20069&view=rev > > Modified: > haiku/trunk/headers/private/kernel/syscalls.h > haiku/trunk/src/system/kernel/syscalls.c > haiku/trunk/src/system/libroot/os/system_info.c > Log: > is_computer_on() lives again as a true syscall. > Replaced the _kern_null syscall with _kern_is_computer_on. > is_computer_on_fire is a bit harder, since it returns a float from > kernelland, which > at the moment isn't supported in haiku. If you're really keen on it you can return the value through a reference parameter, of course. :-) CU, Ingo From axeld at pinc-software.de Mon Feb 5 13:10:21 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Mon, 05 Feb 2007 13:10:21 +0100 CET Subject: [Haiku-commits] r20071 - haiku/trunk/src/tests/system/benchmarks Message-ID: <6596888143-BeMail@zon> > On Feb 4, 2007, at 4:03 PM, Axel D?rfler wrote: > > Nice one :-) > > Looks like there is still more than just a lot of room for > > improvement... > > BTW what syscall were you using in Linux? > I eventually settled on time() since it seems to actually go all the > way to kernel space. I was using close() last time I tested, since that actually has at least one argument (syscalls without arguments should be rare). > They do do something sort of clever that I was thinking about using > for haiku when/if I get around to rewriting the syscall mechanism. In > their system they appear to have the gs register pointing to a common > segment that the kernel keeps mapped permanently into every address > space. In the segment is apparently the actual syscall code. Thus > every syscall actually looks like > call *%gs:0x10 > > Presumably at 0x10 into the segment is a pointer to the syscall > mechanism optimal for that particular cpu that the kernel set up. Sounds like a good idea - especially when it's *that* fast! :-) > I know other systems have done something like this. You can put all > sorts of good stuff in there, like the current system tick count and > the conversion factors needed to convert it back to real time (so > something like time wouldn't need to enter kernel space). System We already export this sort of stuff in an area mapped into each userland team - have a look at real_time_clock.c (the userland counterpart lives in libroot.so). But since it has to be cloned in userland first, it wouldn't be possible to use this for syscalls the way it's setup right now. > stats, cpu info, whatever. You could even have optimized version of > memcpy/memset/etc for every cpu there, and have libc just bounce into > it. I was trying to figure out a good way to select the proper > syscall/sysenter/int mechanism but without doing gnarly runtime > patches to keep multiple versions of the library around, it seems to > be the best strategy. Yes, I would like that a lot better than what BeOS is using (having .patch files along executables). > To find it you can either have it at a fixed offset (0xffff0000) or > have a segment register point to it (%gs probably, since fs is in > use). Do you think this would be worth doing? We'd have to burn gs, > but I don't think we're using it for anything else, and if that's not > okay, we can just stick it at a known offset. My main concern is > making sure we dont break beos compatibility, and making sure it > doesn't make it harder to do stuff like run wine or whatnot. I can't > think of any good reason why it would, but I'm not terribly familiar > with that stuff. I don't think that using %gs would put us into trouble there. Even though I don't know what BeOS is using it for, userland apps surely don't use it. I don't know if Wine requires any such hacks to run, but I don't think it will as you cannot program the GDT/IDT from userland anyway. And even if we're using it now, we can also change it later if we really need to. IOW since Linux is so much faster with syscalls, I'm all for copying their magic. Bye, Axel. From axeld at pinc-software.de Mon Feb 5 13:18:47 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Mon, 05 Feb 2007 13:18:47 +0100 CET Subject: [Haiku-commits] r20072 - in haiku/trunk: headers/private/kernel headers/private/kernel/arch headers/private/kernel/arch/ppc headers/private/kernel/arch/x86 src/add-ons/kernel/cpu/x86 src/system/kernel src/system/kernel/arch/x86 Message-ID: <7102933445-BeMail@zon> Travis wrote: > pulled over some stuff from newos: > at boot, per cpu, detect the cpu, pull down all the relevant cpuid > bits and > save them into the per-cpu structure. Changed most of the code > scattered here > and there that reads the cpuid to use a new api, x86_check_feature, > which looks > at the saved bits. While I do see an advantage over issuing get_cpuid() on another CPU, I'm not sure if I understand your reasoning for this change (also when you did that on NewOS). Especially the feature_string[], and model_name[] look a bit misplaced in the kernel to me. Care to enlighten me? :-) Bye, Axel. From axeld at mail.berlios.de Mon Feb 5 15:43:38 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Mon, 5 Feb 2007 15:43:38 +0100 Subject: [Haiku-commits] r20073 - haiku/trunk/src/apps/bemail Message-ID: <200702051443.l15Ehc5w005142@sheep.berlios.de> Author: axeld Date: 2007-02-05 15:43:37 +0100 (Mon, 05 Feb 2007) New Revision: 20073 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20073&view=rev Modified: haiku/trunk/src/apps/bemail/Mail.cpp Log: Fixed the bug I introduced yesterday that all queried "Close and ..." items would set the status to "_status" instead of the actual status. Modified: haiku/trunk/src/apps/bemail/Mail.cpp =================================================================== --- haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-05 01:46:28 UTC (rev 20072) +++ haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-05 14:43:37 UTC (rev 20073) @@ -203,6 +203,8 @@ if (file.ReadAttrString(attribute, &value) < B_OK) continue; + message->AddString("attribute", value.String()); + char name[256]; if (format != NULL) snprintf(name, sizeof(name), format, value.String()); @@ -2284,10 +2286,12 @@ case M_STATUS: { - BMenuItem *menu; - msg->FindPointer("source", (void **)&menu); + const char* attribute; + if (msg->FindString("attribute", &attribute) != B_OK) + break; + BMessage message(B_CLOSE_REQUESTED); - message.AddString("status", menu->Label()); + message.AddString("status", attribute); PostMessage(&message); break; } From bonefish at mail.berlios.de Mon Feb 5 17:04:47 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Mon, 5 Feb 2007 17:04:47 +0100 Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app Message-ID: <200702051604.l15G4lMA011808@sheep.berlios.de> Author: bonefish Date: 2007-02-05 17:04:46 +0100 (Mon, 05 Feb 2007) New Revision: 20074 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20074&view=rev Modified: haiku/trunk/src/kits/app/Message.cpp Log: * In the BMessage assignment operator we do now clear some of the message header flags after copying the header of the original message. Before cloning a message that still needed a reply would result in the clone also needing a reply, which, in the end, led to two replies being sent, thus screwing up the cached reply ports used for synchronous messaging. Fixes bug #1008. BTW, also clearing the reply info breaks Tracker and Deskbar, so I suppose R5 keeps it and Tracker and Deskbar rely on that behavior. * Added a bit of debug code removing and printing spurious messages from a cached reply port. * Added TODO in BMessage::~BMessage(). ATM, we only send a B_NO_REPLY in the destructor, but not in case the message is overwritten using the assignment operator or Flatten(). Modified: haiku/trunk/src/kits/app/Message.cpp =================================================================== --- haiku/trunk/src/kits/app/Message.cpp 2007-02-05 14:43:37 UTC (rev 20073) +++ haiku/trunk/src/kits/app/Message.cpp 2007-02-05 16:04:46 UTC (rev 20074) @@ -102,6 +102,7 @@ BMessage::~BMessage() { DEBUG_FUNCTION_ENTER; + // TODO: Check why we don't do that in _Clear() and fix or comment it. if (IsSourceWaiting()) SendReply(B_NO_REPLY); @@ -119,6 +120,13 @@ fHeader = (message_header *)malloc(sizeof(message_header)); memcpy(fHeader, other.fHeader, sizeof(message_header)); + // Clear some header flags inherited from the original message that don't + // apply to the clone. + fHeader->flags &= ~(MESSAGE_FLAG_REPLY_REQUIRED | MESSAGE_FLAG_REPLY_DONE + | MESSAGE_FLAG_IS_REPLY | MESSAGE_FLAG_WAS_DELIVERED + | MESSAGE_FLAG_WAS_DROPPED | MESSAGE_FLAG_PASS_BY_AREA); + // Note, that BeOS R5 seems to keep the reply info. + if (fHeader->fields_size > 0) { fFields = (field_header *)malloc(fHeader->fields_size); memcpy(fFields, other.fFields, fHeader->fields_size); @@ -1988,8 +1996,36 @@ #if 0 port_info portInfo; if (get_port_info(replyPort, &portInfo) == B_OK - && portInfo.queue_count > 0) + && portInfo.queue_count > 0) { debugger("reply port not empty!"); + printf(" reply port not empty! %ld message(s) in queue\n", + portInfo.queue_count); + + // fetch and print the messages + for (int32 i = 0; i < portInfo.queue_count; i++) { + char buffer[1024]; + int32 code; + ssize_t size = read_port(replyPort, &code, buffer, sizeof(buffer)); + if (size < 0) { + printf("failed to read message from reply port\n"); + continue; + } + if (size >= (ssize_t)sizeof(buffer)) { + printf("message from reply port too big\n"); + continue; + } + + BMemoryIO stream(buffer, size); + BMessage reply; + if (reply.Unflatten(&stream) != B_OK) { + printf("failed to unflatten message from reply port\n"); + continue; + } + + printf("message %ld from reply port:\n", i); + reply.PrintToStream(); + } + } #endif { From axeld at pinc-software.de Mon Feb 5 17:54:55 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Mon, 05 Feb 2007 17:54:55 +0100 CET Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <200702051604.l15G4lMA011808@sheep.berlios.de> Message-ID: <23671021850-BeMail@zon> bonefish at BerliOS wrote: > Log: > * In the BMessage assignment operator we do now clear some of the > message > header flags after copying the header of the original message. > Before > cloning a message that still needed a reply would result in the > clone > also needing a reply, which, in the end, led to two replies being > sent, > thus screwing up the cached reply ports used for synchronous > messaging. > Fixes bug #1008. Nice work, I also had a look at the cached reply port implementation, but that seems to be pretty error proof :-) Anyway, didn't we recently have a similar bug to fix? > BTW, also clearing the reply info breaks Tracker and Deskbar, so I > suppose > R5 keeps it and Tracker and Deskbar rely on that behavior. I'm pretty sure I wrote code that relies on this as well. > * Added TODO in BMessage::~BMessage(). ATM, we only send a > B_NO_REPLY in the destructor, but not in case the message is > overwritten > using the assignment operator or Flatten(). I think those are just oversights - I can't think of any reason why you would want to let the (then unknown) sender wait forever. Bye, Axel. From laplace at mail.berlios.de Mon Feb 5 21:40:15 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Mon, 5 Feb 2007 21:40:15 +0100 Subject: [Haiku-commits] r20075 - haiku/trunk/src/kits/interface Message-ID: <200702052040.l15KeF7x010314@sheep.berlios.de> Author: laplace Date: 2007-02-05 21:40:15 +0100 (Mon, 05 Feb 2007) New Revision: 20075 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20075&view=rev Modified: haiku/trunk/src/kits/interface/PrintJob.cpp Log: * Fixed bug #1009. Update window while in BPrintJob.ConfigPage() or ConfigPage(). * Set mime type of spool file so print_server accepts the file. Modified: haiku/trunk/src/kits/interface/PrintJob.cpp =================================================================== --- haiku/trunk/src/kits/interface/PrintJob.cpp 2007-02-05 16:04:46 UTC (rev 20074) +++ haiku/trunk/src/kits/interface/PrintJob.cpp 2007-02-05 20:40:15 UTC (rev 20075) @@ -12,11 +12,14 @@ #include #include +#include #include #include #include #include #include +#include +#include #include #include #include @@ -28,6 +31,11 @@ #include #include +static const int kSemTimeOut = 50000; + +static const char *kPrintServerNotRespondingText = "Print Server is not responding."; +static const char *kNoPagesToPrintText = "No Pages to print!"; + // Summery of spool file format: // See articel "How to Write a BeOS R5 Printer Driver" for description // of spool file format: http://haiku-os.org/node/82 @@ -48,12 +56,174 @@ }; -static status_t GetPrinterServerMessenger(BMessenger& messenger) +static status_t +GetPrinterServerMessenger(BMessenger& messenger) { messenger = BMessenger(PSRV_SIGNATURE_TYPE); return messenger.IsValid() ? B_OK : B_ERROR; } + +static void +ShowError(const char *message) +{ + BAlert* alert = new BAlert("Error", message, "OK"); + alert->Go(); +} + + +namespace BPrivate { + + class Configuration { + public: + Configuration(uint32 what, BMessage *input); + ~Configuration(); + + status_t SendRequest(thread_func function); + + BMessage* Request(); + + void SetResult(BMessage* result); + BMessage* Result() const { return fResult; } + + private: + void RejectUserInput(); + void AllowUserInput(); + void DeleteSemaphore(); + + uint32 fWhat; + BMessage *fInput; + BMessage *fRequest; + BMessage *fResult; + sem_id fThreadCompleted; + BAlert *fHiddenApplicationModalWindow; + }; + + + Configuration::Configuration(uint32 what, BMessage *input) + : fWhat(what), + fInput(input), + fRequest(NULL), + fResult(NULL), + fThreadCompleted(-1), + fHiddenApplicationModalWindow(NULL) + { + RejectUserInput(); + } + + + Configuration::~Configuration() + { + DeleteSemaphore(); + // in case SendRequest could not start the thread + delete fRequest; fRequest = NULL; + AllowUserInput(); + } + + + void + Configuration::RejectUserInput() + { + BAlert* alert = new BAlert("bogus", "app_modal_dialog", "OK"); + fHiddenApplicationModalWindow = alert; + alert->DefaultButton()->SetEnabled(false); + alert->SetDefaultButton(NULL); + alert->MoveTo(-65000, -65000); + alert->Go(NULL); + } + + + void + Configuration::AllowUserInput() + { + fHiddenApplicationModalWindow->Lock(); + fHiddenApplicationModalWindow->Quit(); + } + + + void + Configuration::DeleteSemaphore() + { + if (fThreadCompleted >= B_OK) { + sem_id id = fThreadCompleted; + fThreadCompleted = -1; + delete_sem(id); + } + } + + + status_t + Configuration::SendRequest(thread_func function) + { + fThreadCompleted = create_sem(0, "Configuration"); + if (fThreadCompleted < B_OK) { + return B_ERROR; + } + + thread_id id = spawn_thread(function, "async_request", B_NORMAL_PRIORITY, this); + if (id <= 0 || resume_thread(id) != B_OK) { + return B_ERROR; + } + + // Code copied from BAlert::Go() + BWindow* window = dynamic_cast(BLooper::LooperForThread(find_thread(NULL))); + // Get the originating window, if it exists + + // Heavily modified from TextEntryAlert code; the original didn't let the + // blocked window ever draw. + if (window != NULL) { + status_t err; + for (;;) { + do { + err = acquire_sem_etc(fThreadCompleted, 1, B_RELATIVE_TIMEOUT, + kSemTimeOut); + // We've (probably) had our time slice taken away from us + } while (err == B_INTERRUPTED); + + if (err == B_BAD_SEM_ID) { + // Semaphore was finally nuked in SetResult(BMessage *) + break; + } + window->UpdateIfNeeded(); + } + } else { + // No window to update, so just hang out until we're done. + while (acquire_sem(fThreadCompleted) == B_INTERRUPTED); + } + + status_t status; + wait_for_thread(id, &status); + + return Result() != NULL ? B_OK : B_ERROR; + } + + + BMessage * + Configuration::Request() + { + if (fRequest != NULL) + return fRequest; + + if (fInput != NULL) { + fRequest = new BMessage(*fInput); + fRequest->what = fWhat; + } else + fRequest = new BMessage(fWhat); + return fRequest; + } + + + void + Configuration::SetResult(BMessage *result) + { + fResult = result; + DeleteSemaphore(); + // terminate loop in thread spawned by SendRequest + } + +} // BPrivate + + BPrintJob::BPrintJob(const char *job_name) : fPrintJobName(NULL), @@ -96,82 +266,90 @@ fCurrentPageHeader = NULL; } - -status_t -BPrintJob::ConfigPage() -{ +static +status_t ConfigPageThread(void *data) +{ + BPrivate::Configuration* configuration = static_cast(data); + BMessenger printServer; if (GetPrinterServerMessenger(printServer) != B_OK) { - BAlert* alert = new BAlert("Error", "Print Server is not responding.", "OK"); - alert->Go(); + ShowError(kPrintServerNotRespondingText); + configuration->SetResult(NULL); return B_ERROR; } - - if (fSetupMessage == NULL) { - LoadDefaultSettings(); - if (fDefaultSetupMessage == NULL) { - return B_ERROR; - } - - fSetupMessage = new BMessage(*fDefaultSetupMessage); - } - BMessage request(*fSetupMessage); - request.what = PSRV_SHOW_PAGE_SETUP; - - BMessage* reply = new BMessage(); - if (printServer.SendMessage(&request, reply) != B_OK) { - delete reply; + BMessage *request = configuration->Request(); + if (request == NULL) { + configuration->SetResult(NULL); return B_ERROR; } - if (reply->what != 'okok') { - delete reply; + + BMessage reply; + if (printServer.SendMessage(request, &reply) != B_OK + || reply.what != 'okok') { + configuration->SetResult(NULL); return B_ERROR; } + + configuration->SetResult(new BMessage(reply)); + return B_OK; +} + +status_t +BPrintJob::ConfigPage() +{ + BPrivate::Configuration configuration(PSRV_SHOW_PAGE_SETUP, fSetupMessage); + status_t status = configuration.SendRequest(ConfigPageThread); + if (status != B_OK) + return status; delete fSetupMessage; - fSetupMessage = reply; + fSetupMessage = configuration.Result(); HandlePageSetup(fSetupMessage); return B_OK; } -status_t -BPrintJob::ConfigJob() +static status_t +ConfigJobThread(void *data) { + BPrivate::Configuration* configuration = static_cast(data); + BMessenger printServer; if (GetPrinterServerMessenger(printServer) != B_OK) { - BAlert* alert = new BAlert("Error", "Print Server is not responding.", "OK"); - alert->Go(); + ShowError(kPrintServerNotRespondingText); + configuration->SetResult(NULL); return B_ERROR; } - - if (fSetupMessage == NULL) { - LoadDefaultSettings(); - if (fDefaultSetupMessage == NULL) { - return B_ERROR; - } - - fSetupMessage = new BMessage(*fDefaultSetupMessage); - } - BMessage request(*fSetupMessage); - request.what = PSRV_SHOW_PRINT_SETUP; - - BMessage* reply = new BMessage(); - if (printServer.SendMessage(&request, reply) != B_OK) { - delete reply; + BMessage *request = configuration->Request(); + if (request == NULL) { + configuration->SetResult(NULL); return B_ERROR; } - if (reply->what != 'okok') { - delete reply; + + BMessage reply; + if (printServer.SendMessage(request, &reply) != B_OK + || reply.what != 'okok') { + configuration->SetResult(NULL); return B_ERROR; } + + configuration->SetResult(new BMessage(reply)); + return B_OK; +} +status_t +BPrintJob::ConfigJob() +{ + BPrivate::Configuration configuration(PSRV_SHOW_PRINT_SETUP, fSetupMessage); + status_t status = configuration.SendRequest(ConfigJobThread); + if (status != B_OK) + return status; delete fSetupMessage; - fSetupMessage = reply; + fSetupMessage = configuration.Result(); HandlePrintSetup(fSetupMessage); return B_OK; } @@ -260,8 +438,7 @@ } if (fPageNumber <= 0) { - BAlert *alert = new BAlert("Alert", "No Pages to print!", "Okay"); - alert->Go(); + ShowError(kNoPagesToPrintText); CancelJob(); return; } @@ -279,6 +456,9 @@ const char* printerName = ""; fSetupMessage->FindString(PSRV_FIELD_CURRENT_PRINTER, &printerName); + BNodeInfo info(fSpoolFile); + info.SetType(PSRV_SPOOL_FILETYPE); + fSpoolFile->WriteAttr(PSRV_SPOOL_ATTR_PAGECOUNT, B_INT32_TYPE, 0, &fPageNumber, sizeof(int32)); fSpoolFile->WriteAttr(PSRV_SPOOL_ATTR_DESCRIPTION, B_STRING_TYPE, 0, fPrintJobName, strlen(fPrintJobName) + 1); fSpoolFile->WriteAttr(PSRV_SPOOL_ATTR_PRINTER, B_STRING_TYPE, 0, printerName, strlen(printerName) + 1); From axeld at mail.berlios.de Tue Feb 6 00:28:09 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 6 Feb 2007 00:28:09 +0100 Subject: [Haiku-commits] r20076 - haiku/trunk/src/bin Message-ID: <200702052328.l15NS9f3020908@sheep.berlios.de> Author: axeld Date: 2007-02-06 00:28:09 +0100 (Tue, 06 Feb 2007) New Revision: 20076 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20076&view=rev Modified: haiku/trunk/src/bin/setversion.cpp Log: Now sets the "other" unchanged version info to {0} if it doesn't exist yet - this should work around bug #681 on R5. Please test. Modified: haiku/trunk/src/bin/setversion.cpp =================================================================== --- haiku/trunk/src/bin/setversion.cpp 2007-02-05 20:40:15 UTC (rev 20075) +++ haiku/trunk/src/bin/setversion.cpp 2007-02-05 23:28:09 UTC (rev 20076) @@ -1,6 +1,6 @@ /* * Copyright 2002, Ryan Fleet. - * Copyright 2006, Axel D?rfler, axeld at pinc-software.de. + * Copyright 2006-2007, Axel D?rfler, axeld at pinc-software.de. * * Distributed under the terms of the MIT license. */ @@ -332,6 +332,18 @@ if (status != B_OK) errorOut(status, argv[1], false); + if (systemModified ^ appModified) { + // clear out other app info if not present - this works around a + // bug in BeOS, see bug #681. + version_kind kind = systemModified ? B_APP_VERSION_KIND : B_SYSTEM_VERSION_KIND; + version_info clean; + + if (info.GetVersionInfo(&clean, kind) != B_OK) { + memset(&clean, 0, sizeof(version_info)); + info.SetVersionInfo(&clean, kind); + } + } + if (appModified) { status = info.SetVersionInfo(&appVersion, B_APP_VERSION_KIND); if (status < B_OK) From axeld at mail.berlios.de Tue Feb 6 03:29:18 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 6 Feb 2007 03:29:18 +0100 Subject: [Haiku-commits] r20077 - in haiku/trunk: headers/private/kernel src/system/kernel Message-ID: <200702060229.l162TIwm014010@sheep.berlios.de> Author: axeld Date: 2007-02-06 03:29:17 +0100 (Tue, 06 Feb 2007) New Revision: 20077 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20077&view=rev Modified: haiku/trunk/headers/private/kernel/thread_types.h haiku/trunk/src/system/kernel/scheduler.cpp haiku/trunk/src/system/kernel/thread.c Log: Reworked the way thread_yield() works: just setting the thread to B_LOWEST_ACTIVE_PRIORITY for one quantum wasn't really a good idea, as this could get quite expensive for the thread (depending on the system load, it might have taken a long time until the thread was scheduled again, no matter what priority it was). Also, calling thread_yield() in a loop would have taken 100% CPU time. Now, we sort the thread into the queue as with any other thread, but we'll ignore it once. This now guarantees an actual context switch, as well as a much fairer rescheduling policy for threads calling that function. Modified: haiku/trunk/headers/private/kernel/thread_types.h =================================================================== --- haiku/trunk/headers/private/kernel/thread_types.h 2007-02-05 23:28:09 UTC (rev 20076) +++ haiku/trunk/headers/private/kernel/thread_types.h 2007-02-06 02:29:17 UTC (rev 20077) @@ -142,6 +142,7 @@ struct sigaction sig_action[32]; bool in_kernel; + bool was_yielded; struct { sem_id blocking; Modified: haiku/trunk/src/system/kernel/scheduler.cpp =================================================================== --- haiku/trunk/src/system/kernel/scheduler.cpp 2007-02-05 23:28:09 UTC (rev 20076) +++ haiku/trunk/src/system/kernel/scheduler.cpp 2007-02-06 02:29:17 UTC (rev 20077) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2006, Axel D?rfler, axeld at pinc-software.de. + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. * Copyright 2002, Angelo Mottola, a.mottola at libero.it. * Distributed under the terms of the MIT License. * @@ -189,6 +189,13 @@ } else { // select next thread from the run queue while (nextThread && nextThread->priority > B_IDLE_PRIORITY) { + if (oldThread == nextThread && nextThread->was_yielded) { + // ignore threads that called thread_yield() once + nextThread->was_yielded = false; + prevThread = nextThread; + nextThread = nextThread->queue_next; + } + // always extract real time threads if (nextThread->priority >= B_FIRST_REAL_TIME_PRIORITY) break; @@ -222,6 +229,7 @@ nextThread->state = B_THREAD_RUNNING; nextThread->next_state = B_THREAD_READY; + oldThread->was_yielded = false; // track kernel time (user time is tracked in thread_at_kernel_entry()) bigtime_t now = system_time(); Modified: haiku/trunk/src/system/kernel/thread.c =================================================================== --- haiku/trunk/src/system/kernel/thread.c 2007-02-05 23:28:09 UTC (rev 20076) +++ haiku/trunk/src/system/kernel/thread.c 2007-02-06 02:29:17 UTC (rev 20077) @@ -214,6 +214,7 @@ thread->sig_block_mask = 0; memset(thread->sig_action, 0, 32 * sizeof(struct sigaction)); thread->in_kernel = true; + thread->was_yielded = false; thread->user_time = 0; thread->kernel_time = 0; thread->last_time = 0; @@ -915,13 +916,13 @@ struct thread_debug_info debugInfo; team_id teamID = team->id; - if (!are_interrupts_enabled()) - dprintf("thread_exit() called with interrupts disabled!\n"); - TRACE(("thread 0x%lx exiting %s w/return code 0x%x\n", thread->id, thread->exit.reason == THREAD_RETURN_INTERRUPTED ? "due to signal" : "normally", (int)thread->exit.status)); + if (!are_interrupts_enabled()) + panic("thread_exit() called with interrupts disabled!\n"); + // boost our priority to get this over with thread->priority = thread->next_priority = B_URGENT_DISPLAY_PRIORITY; @@ -1298,8 +1299,8 @@ state = disable_interrupts(); GRAB_THREAD_LOCK(); - // just add the thread at the end of the run queue - thread->next_priority = B_LOWEST_ACTIVE_PRIORITY; + // mark the thread as yielded, so it will not be scheduled next + thread->was_yielded = true; scheduler_reschedule(); RELEASE_THREAD_LOCK(); From geist at foobox.com Tue Feb 6 04:40:58 2007 From: geist at foobox.com (Travis Geiselbrecht) Date: Mon, 5 Feb 2007 19:40:58 -0800 Subject: [Haiku-commits] r20077 - in haiku/trunk: headers/private/kernel src/system/kernel In-Reply-To: <200702060229.l162TIwm014010@sheep.berlios.de> References: <200702060229.l162TIwm014010@sheep.berlios.de> Message-ID: <278E2FE0-18D3-4A52-801C-770FDA3CFFA2@foobox.com> Hmm, thats a funny way to do it. Generally speaking, the strategy for yielding is to simply stuff it at the end of the current run queue and mark the quantum as being used. On Feb 5, 2007, at 6:29 PM, axeld at BerliOS wrote: > Author: axeld > Date: 2007-02-06 03:29:17 +0100 (Tue, 06 Feb 2007) > New Revision: 20077 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20077&view=rev > > Modified: > haiku/trunk/headers/private/kernel/thread_types.h > haiku/trunk/src/system/kernel/scheduler.cpp > haiku/trunk/src/system/kernel/thread.c > Log: > Reworked the way thread_yield() works: just setting the thread to > B_LOWEST_ACTIVE_PRIORITY > for one quantum wasn't really a good idea, as this could get quite > expensive for the thread > (depending on the system load, it might have taken a long time > until the thread was scheduled > again, no matter what priority it was). > Also, calling thread_yield() in a loop would have taken 100% CPU time. > Now, we sort the thread into the queue as with any other thread, > but we'll ignore it once. > This now guarantees an actual context switch, as well as a much > fairer rescheduling policy > for threads calling that function. > > > Modified: haiku/trunk/headers/private/kernel/thread_types.h > =================================================================== > --- haiku/trunk/headers/private/kernel/thread_types.h 2007-02-05 > 23:28:09 UTC (rev 20076) > +++ haiku/trunk/headers/private/kernel/thread_types.h 2007-02-06 > 02:29:17 UTC (rev 20077) > @@ -142,6 +142,7 @@ > struct sigaction sig_action[32]; > > bool in_kernel; > + bool was_yielded; > > struct { > sem_id blocking; > > Modified: haiku/trunk/src/system/kernel/scheduler.cpp > =================================================================== > --- haiku/trunk/src/system/kernel/scheduler.cpp 2007-02-05 23:28:09 > UTC (rev 20076) > +++ haiku/trunk/src/system/kernel/scheduler.cpp 2007-02-06 02:29:17 > UTC (rev 20077) > @@ -1,5 +1,5 @@ > /* > - * Copyright 2002-2006, Axel D?rfler, axeld at pinc-software.de. > + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. > * Copyright 2002, Angelo Mottola, a.mottola at libero.it. > * Distributed under the terms of the MIT License. > * > @@ -189,6 +189,13 @@ > } else { > // select next thread from the run queue > while (nextThread && nextThread->priority > B_IDLE_PRIORITY) { > + if (oldThread == nextThread && nextThread->was_yielded) { > + // ignore threads that called thread_yield() once > + nextThread->was_yielded = false; > + prevThread = nextThread; > + nextThread = nextThread->queue_next; > + } > + > // always extract real time threads > if (nextThread->priority >= B_FIRST_REAL_TIME_PRIORITY) > break; > @@ -222,6 +229,7 @@ > > nextThread->state = B_THREAD_RUNNING; > nextThread->next_state = B_THREAD_READY; > + oldThread->was_yielded = false; > > // track kernel time (user time is tracked in > thread_at_kernel_entry()) > bigtime_t now = system_time(); > > Modified: haiku/trunk/src/system/kernel/thread.c > =================================================================== > --- haiku/trunk/src/system/kernel/thread.c 2007-02-05 23:28:09 UTC > (rev 20076) > +++ haiku/trunk/src/system/kernel/thread.c 2007-02-06 02:29:17 UTC > (rev 20077) > @@ -214,6 +214,7 @@ > thread->sig_block_mask = 0; > memset(thread->sig_action, 0, 32 * sizeof(struct sigaction)); > thread->in_kernel = true; > + thread->was_yielded = false; > thread->user_time = 0; > thread->kernel_time = 0; > thread->last_time = 0; > @@ -915,13 +916,13 @@ > struct thread_debug_info debugInfo; > team_id teamID = team->id; > > - if (!are_interrupts_enabled()) > - dprintf("thread_exit() called with interrupts disabled!\n"); > - > TRACE(("thread 0x%lx exiting %s w/return code 0x%x\n", thread->id, > thread->exit.reason == THREAD_RETURN_INTERRUPTED ? "due to > signal" : "normally", > (int)thread->exit.status)); > > + if (!are_interrupts_enabled()) > + panic("thread_exit() called with interrupts disabled!\n"); > + > // boost our priority to get this over with > thread->priority = thread->next_priority = > B_URGENT_DISPLAY_PRIORITY; > > @@ -1298,8 +1299,8 @@ > state = disable_interrupts(); > GRAB_THREAD_LOCK(); > > - // just add the thread at the end of the run queue > - thread->next_priority = B_LOWEST_ACTIVE_PRIORITY; > + // mark the thread as yielded, so it will not be scheduled next > + thread->was_yielded = true; > scheduler_reschedule(); > > RELEASE_THREAD_LOCK(); > > _______________________________________________ > Haiku-commits mailing list > Haiku-commits at lists.berlios.de > https://lists.berlios.de/mailman/listinfo/haiku-commits From mmu_man at mail.berlios.de Tue Feb 6 07:15:03 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Tue, 6 Feb 2007 07:15:03 +0100 Subject: [Haiku-commits] r20078 - in haiku/trunk/src/add-ons: accelerants/vmware kernel/drivers/graphics/vmware Message-ID: <200702060615.l166F3dR032632@sheep.berlios.de> Author: mmu_man Date: 2007-02-06 07:15:01 +0100 (Tue, 06 Feb 2007) New Revision: 20078 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20078&view=rev Modified: haiku/trunk/src/add-ons/accelerants/vmware/Jamfile haiku/trunk/src/add-ons/kernel/drivers/graphics/vmware/Jamfile Log: Support for building the vmware gfx driver as a package, thx to Urias McCullough . Modified: haiku/trunk/src/add-ons/accelerants/vmware/Jamfile =================================================================== --- haiku/trunk/src/add-ons/accelerants/vmware/Jamfile 2007-02-06 02:29:17 UTC (rev 20077) +++ haiku/trunk/src/add-ons/accelerants/vmware/Jamfile 2007-02-06 06:15:01 UTC (rev 20078) @@ -18,3 +18,7 @@ SetDisplayMode.c : false ; + +Package haiku-vmware-video-svn : + vmware.accelerant : + boot home config add-ons accelerants ; Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/vmware/Jamfile =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/vmware/Jamfile 2007-02-06 02:29:17 UTC (rev 20077) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/vmware/Jamfile 2007-02-06 06:15:01 UTC (rev 20078) @@ -10,3 +10,8 @@ driver.c device.c ; + +Package haiku-vmware-video-svn : + vmware : + boot home config add-ons kernel drivers bin ; +PackageDriverSymLink haiku-vmware-video-svn : graphics vmware ; From axeld at pinc-software.de Tue Feb 6 17:18:40 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 17:18:40 +0100 CET Subject: [Haiku-commits] =?iso-8859-15?q?r20077_-_in_haiku/trunk=3A_header?= =?iso-8859-15?q?s/private/kernel_src/system/kernel?= In-Reply-To: <278E2FE0-18D3-4A52-801C-770FDA3CFFA2@foobox.com> Message-ID: <15632731484-BeMail@zon> Travis Geiselbrecht wrote: > Hmm, thats a funny way to do it. Generally speaking, the strategy for > yielding is to simply stuff it at the end of the current run queue > and mark the quantum as being used. Maybe, but it makes allocations (that's currently the one place we use yielding) in higher priority threads much more expensive - a thread could possibly wait *much* longer than anticipated. Also, it now guarantees a context switch, which was another concern I had. Do you see any particular downsides to this approach (besides the additional check in the scheduler)? Bye, Axel. From axeld at mail.berlios.de Tue Feb 6 17:28:48 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 6 Feb 2007 17:28:48 +0100 Subject: [Haiku-commits] r20079 - haiku/trunk/src/add-ons/kernel/file_systems/bfs Message-ID: <200702061628.l16GSmxZ026822@sheep.berlios.de> Author: axeld Date: 2007-02-06 17:28:48 +0100 (Tue, 06 Feb 2007) New Revision: 20079 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20079&view=rev Modified: haiku/trunk/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp Log: bfs_free_cookie() now always write locks the inode - before it only hold a read lock which wasn't enough when tampering with the inode's data, and it also acquired that lock too late. Thanks to Stefano for pointing this out. Modified: haiku/trunk/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp 2007-02-06 06:15:01 UTC (rev 20078) +++ haiku/trunk/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp 2007-02-06 16:28:48 UTC (rev 20079) @@ -1254,6 +1254,8 @@ Volume *volume = (Volume *)_ns; Inode *inode = (Inode *)_node; + WriteLocked locked(inode->Lock()); + bool needsTrimming = inode->NeedsTrimming(); if ((cookie->open_mode & O_RWMASK) != 0 @@ -1261,7 +1263,6 @@ && (needsTrimming || inode->OldLastModified() != inode->LastModified() || inode->OldSize() != inode->Size())) { - ReadLocked locked(inode->Lock()); // trim the preallocated blocks and update the size, // and last_modified indices if needed From bonefish at mail.berlios.de Tue Feb 6 17:30:27 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 6 Feb 2007 17:30:27 +0100 Subject: [Haiku-commits] r20080 - haiku/trunk/src/tools Message-ID: <200702061630.l16GURul026989@sheep.berlios.de> Author: bonefish Date: 2007-02-06 17:30:26 +0100 (Tue, 06 Feb 2007) New Revision: 20080 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20080&view=rev Added: haiku/trunk/src/tools/set_haiku_revision.cpp Modified: haiku/trunk/src/tools/Jamfile Log: Small tool to update the haiku revision in a special haiku revision section of an ELF object. Probably won't build under BeOS yet. Modified: haiku/trunk/src/tools/Jamfile =================================================================== --- haiku/trunk/src/tools/Jamfile 2007-02-06 16:28:48 UTC (rev 20079) +++ haiku/trunk/src/tools/Jamfile 2007-02-06 16:30:26 UTC (rev 20080) @@ -42,6 +42,9 @@ BuildPlatformMain rmattr : rmattr.cpp : $(HOST_LIBBE) ; +BuildPlatformMain set_haiku_revision : set_haiku_revision.cpp + : $(HOST_LIBSTDC++) ; + BuildPlatformMain settype : settype.cpp : $(HOST_LIBBE) ; BuildPlatformMain setversion : setversion.cpp : $(HOST_LIBBE) ; Added: haiku/trunk/src/tools/set_haiku_revision.cpp =================================================================== --- haiku/trunk/src/tools/set_haiku_revision.cpp 2007-02-06 16:28:48 UTC (rev 20079) +++ haiku/trunk/src/tools/set_haiku_revision.cpp 2007-02-06 16:30:26 UTC (rev 20080) @@ -0,0 +1,596 @@ +/* + * Copyright 2007, Ingo Weinhold . + * All rights reserved. Distributed under the terms of the MIT License. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + + +using std::string; +using std::max; +using std::min; + + +// #pragma mark - ELF definitions + + +// types +typedef uint32_t Elf32_Addr; +typedef uint16_t Elf32_Half; +typedef uint32_t Elf32_Off; +typedef int32_t Elf32_Sword; +typedef uint32_t Elf32_Word; + +// e_ident indices +#define EI_MAG0 0 +#define EI_MAG1 1 +#define EI_MAG2 2 +#define EI_MAG3 3 +#define EI_CLASS 4 +#define EI_DATA 5 +#define EI_VERSION 6 +#define EI_PAD 7 +#define EI_NIDENT 16 + +// object file header +typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; +} Elf32_Ehdr; + +// e_ident EI_CLASS and EI_DATA values +#define ELFCLASSNONE 0 +#define ELFCLASS32 1 +#define ELFCLASS64 2 +#define ELFDATANONE 0 +#define ELFDATA2LSB 1 +#define ELFDATA2MSB 2 + +// program header +typedef struct { + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Word p_filesz; + Elf32_Word p_memsz; + Elf32_Word p_flags; + Elf32_Word p_align; +} Elf32_Phdr; + +// p_type +#define PT_NULL 0 +#define PT_LOAD 1 +#define PT_DYNAMIC 2 +#define PT_INTERP 3 +#define PT_NOTE 4 +#define PT_SHLIB 5 +#define PT_PHDIR 6 +#define PT_LOPROC 0x70000000 +#define PT_HIPROC 0x7fffffff + +// section header +typedef struct { + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Word sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Word sh_addralign; + Elf32_Word sh_entsize; +} Elf32_Shdr; + +// sh_type values +#define SHT_NULL 0 +#define SHT_PROGBITS 1 +#define SHT_SYMTAB 2 +#define SHT_STRTAB 3 +#define SHT_RELA 4 +#define SHT_HASH 5 +#define SHT_DYNAMIC 6 +#define SHT_NOTE 7 +#define SHT_NOBITS 8 +#define SHT_REL 9 +#define SHT_SHLIB 10 +#define SHT_DYNSYM 11 +#define SHT_LOPROC 0x70000000 +#define SHT_HIPROC 0x7fffffff +#define SHT_LOUSER 0x80000000 +#define SHT_HIUSER 0xffffffff + +// special section indexes +#define SHN_UNDEF 0 + +static const uint32_t kMaxELFHeaderSize = sizeof(Elf32_Ehdr) + 32; +static const char kELFFileMagic[4] = { 0x7f, 'E', 'L', 'F' }; + + +// #pragma mark - Usage + +// usage +static const char *kUsage = +"Usage: %s \n" +"\n" +"Finds the haiku revision section in ELF object file and replaces the\n" +"writes the number given by into the first 32 bits of the\n" +"section.\n" +; + +// command line args +static int sArgc; +static const char *const *sArgv; + +// print_usage +void +print_usage(bool error) +{ + // get nice program name + const char *programName = (sArgc > 0 ? sArgv[0] : "resattr"); + if (const char *lastSlash = strrchr(programName, '/')) + programName = lastSlash + 1; + + // print usage + fprintf((error ? stderr : stdout), kUsage, programName); +} + +// print_usage_and_exit +static +void +print_usage_and_exit(bool error) +{ + print_usage(error); + exit(error ? 1 : 0); +} + + +// #pragma mark - Exception + + +class Exception { +public: + // constructor + Exception() + : fError(errno), + fDescription() + { + } + + // constructor + Exception(const char* format,...) + : fError(errno), + fDescription() + { + va_list args; + va_start(args, format); + SetTo(errno, format, args); + va_end(args); + } + + // constructor + Exception(int error) + : fError(error), + fDescription() + { + } + + // constructor + Exception(int error, const char* format,...) + : fError(error), + fDescription() + { + va_list args; + va_start(args, format); + SetTo(error, format, args); + va_end(args); + } + + // copy constructor + Exception(const Exception& exception) + : fError(exception.fError), + fDescription(exception.fDescription) + { + } + + // destructor + ~Exception() + { + } + + // SetTo + void SetTo(int error, const char* format, va_list arg) + { + char buffer[2048]; + vsprintf(buffer, format, arg); + fError = error; + fDescription = buffer; + } + + // Error + int Error() const + { + return fError; + } + + // Description + const string& Description() const + { + return fDescription; + } + +private: + int fError; + string fDescription; +}; + + +// #pragma mark - ELFObject + + +struct SectionInfo { + uint32_t type; + uint32_t offset; + uint32_t size; + const char* name; +}; + + +class ELFObject { +public: + ELFObject() + : fFD(-1), + fSectionHeaderStrings(NULL), + fSectionHeaderStringsLength(0) + { + } + + ~ELFObject() + { + Unset(); + } + + void Unset() + { + if (fFD >= 0) { + close(fFD); + fFD = -1; + } + + delete[] fSectionHeaderStrings; + fSectionHeaderStrings = NULL; + } + + void SetTo(const char* fileName) + { + Unset(); + + // open the file + fFD = open(fileName, O_RDWR); + if (fFD < 0) + throw Exception("Failed to open \"%s\"", fileName); + + // get the file size + fFileSize = FileSize(); + if (fFileSize < 0) + throw Exception("Failed to get the file size."); + + // read ELF header + Elf32_Ehdr fileHeader; + Read(0, &fileHeader, sizeof(Elf32_Ehdr), "Failed to read ELF header."); + + // check data encoding (endianess) + switch (fileHeader.e_ident[EI_DATA]) { + case ELFDATA2LSB: + fHostEndianess = (htonl(1) != 1); + break; + case ELFDATA2MSB: + fHostEndianess = (htonl(1) == 1); + break; + default: + case ELFDATANONE: + throw Exception(EIO, "Unsupported ELF data encoding."); + break; + } + + // get the header values + fELFHeaderSize = GetUInt16(fileHeader.e_ehsize); + fSectionHeaderTableOffset = GetUInt32(fileHeader.e_shoff); + fSectionHeaderSize = GetUInt16(fileHeader.e_shentsize); + fSectionHeaderCount = GetUInt16(fileHeader.e_shnum); + bool hasSectionHeaderTable = (fSectionHeaderTableOffset != 0); + + // check the sanity of the header values + // ELF header size + if (fELFHeaderSize < sizeof(Elf32_Ehdr) || fELFHeaderSize > kMaxELFHeaderSize) { + throw Exception(EIO, + "Invalid ELF header: invalid ELF header size: %lu.", + fELFHeaderSize); + } + + // section header table offset and entry count/size + uint32_t sectionHeaderTableSize = 0; + if (hasSectionHeaderTable) { + if (fSectionHeaderTableOffset < fELFHeaderSize + || fSectionHeaderTableOffset > fFileSize) { + throw Exception(EIO, "Invalid ELF header: invalid section " + "header table offset: %lu.", + fSectionHeaderTableOffset); + } + sectionHeaderTableSize = fSectionHeaderSize * fSectionHeaderCount; + if (fSectionHeaderSize < sizeof(Elf32_Shdr) + || fSectionHeaderTableOffset + sectionHeaderTableSize + > fFileSize) { + throw Exception(EIO, "Invalid ELF header: section header " + "table exceeds file: %lu.", + fSectionHeaderTableOffset + + sectionHeaderTableSize); + } + + + // load section header string section + uint16_t sectionHeaderStringSectionIndex + = GetUInt16(fileHeader.e_shstrndx); + if (sectionHeaderStringSectionIndex != SHN_UNDEF) { + if (sectionHeaderStringSectionIndex >= fSectionHeaderCount) { + throw Exception(EIO, "Invalid ELF header: invalid section " + "header string section index: %lu.", + sectionHeaderStringSectionIndex); + } + + // get the section info + SectionInfo info; + if (_ReadSectionHeader(sectionHeaderStringSectionIndex, + info)) { + fSectionHeaderStrings = new char[info.size + 1]; + Read(info.offset, fSectionHeaderStrings, info.size, + "Failed to read section header string section."); + fSectionHeaderStringsLength = info.size; + // null-terminate to be on the safe side + fSectionHeaderStrings[info.size] = '\0'; + } + } + } + } + + bool FindSectionByName(const char* name, SectionInfo& foundInfo) + { + // can't find the section by name without section names + if (!fSectionHeaderStrings) + return false; + + // iterate through the section headers + for (int32_t i = 0; i < (int32_t)fSectionHeaderCount; i++) { + SectionInfo info; + if (_ReadSectionHeader(i, info)) { +//printf("section %3d: offset: %7d, size: %7d, name: %s\n", i, info.offset, info.size, info.name); + if (strcmp(info.name, name) == 0) { + foundInfo = info; + return true; + } + } + } + + return false; + } + + void Read(off_t position, void* buffer, size_t size, + const char *errorMessage = NULL) + { + if (lseek(fFD, position, SEEK_SET) < 0) + throw Exception(errorMessage); + + ssize_t bytesRead = read(fFD, buffer, size); + if (bytesRead < 0) + throw Exception(errorMessage); + + if ((size_t)bytesRead != size) { + if (errorMessage) { + throw Exception("%s Read too few bytes (%d/%d).", + errorMessage, (int)bytesRead, (int)size); + } else { + throw Exception("Read too few bytes (%ld/%lu).", + (int)bytesRead, (int)size); + } + } + } + + void Write(off_t position, const void* buffer, size_t size, + const char *errorMessage = NULL) + { + if (lseek(fFD, position, SEEK_SET) < 0) + throw Exception(errorMessage); + + ssize_t bytesWritten = write(fFD, buffer, size); + if (bytesWritten < 0) + throw Exception(errorMessage); + + if ((size_t)bytesWritten != size) { + if (errorMessage) { + throw Exception("%s Wrote too few bytes (%d/%d).", + errorMessage, (int)bytesWritten, (int)size); + } else { + throw Exception("Wrote too few bytes (%ld/%lu).", + (int)bytesWritten, (int)size); + } + } + } + + off_t FileSize() + { + off_t currentPos = lseek(fFD, 0, SEEK_END); + if (currentPos < 0) + return -1; + + return lseek(fFD, currentPos, SEEK_SET); + } + + // GetInt16 + int16_t GetInt16(int16_t value) + { + return (fHostEndianess ? value : _SwapUInt16(value)); + } + + // GetUInt16 + uint16_t GetUInt16(uint16_t value) + { + return (fHostEndianess ? value : _SwapUInt16(value)); + } + + // GetInt32 + int32_t GetInt32(int32_t value) + { + return (fHostEndianess ? value : _SwapUInt32(value)); + } + + // GetUInt32 + uint32_t GetUInt32(uint32_t value) + { + return (fHostEndianess ? value : _SwapUInt32(value)); + } + +private: + bool _ReadSectionHeader(int index, SectionInfo& info) + { + uint32_t shOffset = fSectionHeaderTableOffset + + index * fSectionHeaderSize; + Elf32_Shdr sectionHeader; + Read(shOffset, §ionHeader, sizeof(Elf32_Shdr), + "Failed to read ELF section header."); + + // get the header values + uint32_t type = GetUInt32(sectionHeader.sh_type); + uint32_t offset = GetUInt32(sectionHeader.sh_offset); + uint32_t size = GetUInt32(sectionHeader.sh_size); + uint32_t nameIndex = GetUInt32(sectionHeader.sh_name); + + // check the values + // SHT_NULL marks the header unused, + if (type == SHT_NULL) + return false; + + // SHT_NOBITS sections take no space in the file + if (type != SHT_NOBITS) { + if (offset < fELFHeaderSize || offset > fFileSize) { + throw Exception(EIO, "Invalid ELF section header: " + "invalid section offset: %lu.", offset); + } + uint32_t sectionEnd = offset + size; + if (sectionEnd > fFileSize) { + throw Exception(EIO, "Invalid ELF section header: " + "section exceeds file: %lu.", sectionEnd); + } + } + + // get name, if we have a string section + if (fSectionHeaderStrings) { + if (nameIndex >= (uint32_t)fSectionHeaderStringsLength) { + throw Exception(EIO, "Invalid ELF section header: " + "invalid name index: %lu.", nameIndex); + } + info.name = fSectionHeaderStrings + nameIndex; + } else { + info.name = ""; + } + + info.type = type; + info.offset = offset; + info.size = size; + + + return true; + } + + // _SwapUInt16 + static inline uint16_t _SwapUInt16(uint16_t value) + { + return ((value & 0xff) << 8) | (value >> 8); + } + + // _SwapUInt32 + static inline uint32_t _SwapUInt32(uint32_t value) + { + return ((uint32_t)_SwapUInt16(value & 0xffff) << 16) + | _SwapUInt16(uint16_t(value >> 16)); + } + +private: + int fFD; + bool fHostEndianess; + off_t fFileSize; + uint32_t fELFHeaderSize; + uint32_t fSectionHeaderTableOffset; + uint32_t fSectionHeaderSize; + uint32_t fSectionHeaderCount; + char* fSectionHeaderStrings; + int fSectionHeaderStringsLength; +}; + + +// main +int +main(int argc, const char* const* argv) +{ + sArgc = argc; + sArgv = argv; + + if (argc < 3) + print_usage_and_exit(true); + + // parameters + const char* fileName = argv[1]; + const char* revisionString = argv[2]; + uint32_t revision = atol(revisionString); + + try { + ELFObject elfObject; + elfObject.SetTo(fileName); + + // find haiku revision section + SectionInfo info; + if (!elfObject.FindSectionByName("_haiku_revision", info)) { + fprintf(stderr, "haiku revision section not found\n"); + exit(1); + } + + // convert revision number to object endianess and write to section + uint32_t revisionBuffer = elfObject.GetUInt32(revision); + elfObject.Write(info.offset, &revisionBuffer, sizeof(revisionBuffer), + "Failed to write revision."); + + } catch (Exception exception) { + if (exception.Description() == "") { + fprintf(stderr, "%s\n", strerror(exception.Error())); + } else { + fprintf(stderr, "%s: %s\n", exception.Description().c_str(), + strerror(exception.Error())); + } + exit(1); + } + + return 0; +} From bonefish at mail.berlios.de Tue Feb 6 17:37:36 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 6 Feb 2007 17:37:36 +0100 Subject: [Haiku-commits] r20081 - haiku/trunk/src/tools Message-ID: <200702061637.l16GbaAI027278@sheep.berlios.de> Author: bonefish Date: 2007-02-06 17:37:36 +0100 (Tue, 06 Feb 2007) New Revision: 20081 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20081&view=rev Modified: haiku/trunk/src/tools/set_haiku_revision.cpp Log: Fixed build on R5. Modified: haiku/trunk/src/tools/set_haiku_revision.cpp =================================================================== --- haiku/trunk/src/tools/set_haiku_revision.cpp 2007-02-06 16:30:26 UTC (rev 20080) +++ haiku/trunk/src/tools/set_haiku_revision.cpp 2007-02-06 16:37:36 UTC (rev 20081) @@ -14,7 +14,12 @@ #include #include -#include +// We use htonl(), which is defined in on BeOS R5. +#ifdef HAIKU_HOST_PLATFORM_BEOS + #include +#else + #include +#endif using std::string; From bonefish at mail.berlios.de Tue Feb 6 17:51:30 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 6 Feb 2007 17:51:30 +0100 Subject: [Haiku-commits] r20082 - in haiku/trunk: build/jam src/apps/abouthaiku src/system/libroot src/system/libroot/posix/sys Message-ID: <200702061651.l16GpUMo028076@sheep.berlios.de> Author: bonefish Date: 2007-02-06 17:51:29 +0100 (Tue, 06 Feb 2007) New Revision: 20082 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20082&view=rev Modified: haiku/trunk/build/jam/FileRules haiku/trunk/build/jam/HaikuImage haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp haiku/trunk/src/apps/abouthaiku/Jamfile haiku/trunk/src/system/libroot/Jamfile haiku/trunk/src/system/libroot/posix/sys/uname.c Log: * We do now have a special "_haiku_revision" section in our libroot, containing the Haiku SVN revision number which is used by uname(). The value is 0 when built, but updated by the build system before copying libroot to the image (new rule CopySetHaikuRevision). * For AboutHaiku we no longer write the SVN revision number into a resource. Instead we use the uname() info. Modified: haiku/trunk/build/jam/FileRules =================================================================== --- haiku/trunk/build/jam/FileRules 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/build/jam/FileRules 2007-02-06 16:51:29 UTC (rev 20082) @@ -217,3 +217,35 @@ } } +rule CopySetHaikuRevision target : source +{ + # CopySetHaikuRevision : + # + # Copy to , writing the SVN revision of the working root + # directory into the haiku revision section of . + # + # - Output file target. Gristed and located target. + # - ELF object to be copied. Gristed and located target. + + # If existent, make the target depend on the .svn/entries file in the + # root directory, so it gets updated when the revision changes due to + # "svn up". + if [ Glob [ FDirName $(HAIKU_TOP) .svn ] : entries ] { + local svnEntries = entries ; + SEARCH on $(svnEntries) = [ FDirName $(HAIKU_TOP) .svn ] ; + Depends $(target) : $(svnEntries) ; + } + + Depends $(target) : copyattr set_haiku_revision $(source) ; + CopySetHaikuRevision1 $(target) + : copyattr set_haiku_revision $(source) ; +} + +actions CopySetHaikuRevision1 +{ + $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) + revision=`(svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | + grep Revision | awk '{printf $2}'` + $(2[1]) --data $(2[3]) $(1) && + $(2[2]) $(1) ${revision} +} Modified: haiku/trunk/build/jam/HaikuImage =================================================================== --- haiku/trunk/build/jam/HaikuImage 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/build/jam/HaikuImage 2007-02-06 16:51:29 UTC (rev 20082) @@ -48,8 +48,8 @@ BEOS_SYSTEM_LIB = libbe.so $(HAIKU_LIBSTDC++) libmedia.so libtracker.so libtranslation.so libnetwork.so libdebug.so libbsd.so libmail.so libtextencoding.so libz.so libfreetype.so libpng.so libmidi.so libmidi2.so - libdevice.so libgame.so libscreensaver.so libroot.so $(X86_ONLY)libGL.so - libfluidsynth.so libqoca.so + libdevice.so libgame.so libscreensaver.so libroot.so + $(X86_ONLY)libGL.so libfluidsynth.so libqoca.so ; BEOS_SYSTEM_SERVERS = registrar debug_server syslog_daemon media_server net_server media_addon_server input_server app_server fake_app_server midi_server print_server Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 16:51:29 UTC (rev 20082) @@ -31,6 +31,7 @@ #include #include +#include #define SCROLL_CREDITS_VIEW 'mviv' @@ -178,18 +179,17 @@ strcpy(string, versionInfo.short_info); } - // Add revision from resources - BResources* resources = be_app->AppResources(); - char version[32]; - size_t size; - const char* versionResource = (const char *)resources->LoadResource( - B_STRING_TYPE, "SVN:REVISION", &size); - if (versionResource != NULL) - strlcpy(version, versionResource, min_c(size + 1, sizeof(version))); - if (versionResource != NULL && strcmp(version, "unknown") != 0) { - strlcat(string, " (Revision ", sizeof(string)); - strlcat(string, version, sizeof(string)); - strlcat(string, ")", sizeof(string)); + // Add revision from uname() info + utsname unameInfo; + if (uname(&unameInfo) == 0) { + long revision; + if (sscanf(unameInfo.version, "r%ld", &revision) == 1) { + char version[16]; + snprintf(version, sizeof(version), "%ld", revision); + strlcat(string, " (Revision ", sizeof(string)); + strlcat(string, version, sizeof(string)); + strlcat(string, ")", sizeof(string)); + } } stringView = new BStringView(r, "ostext", string); Modified: haiku/trunk/src/apps/abouthaiku/Jamfile =================================================================== --- haiku/trunk/src/apps/abouthaiku/Jamfile 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/src/apps/abouthaiku/Jamfile 2007-02-06 16:51:29 UTC (rev 20082) @@ -6,25 +6,6 @@ SubDirC++Flags -DR5_COMPATIBLE ; } -rule GenerateRevisionFile -{ - MakeLocateCommonPlatform $(1) ; - Always $(1) ; - # we want to rebuild the resources everytime AboutHaiku - # is built to keep them up-to-date -} - -actions GenerateRevisionFile -{ - (svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: unknown) | - grep Revision | awk '{printf $2}' > $(1) -} - -local revisionFile = [ FGristFiles haiku-revision ] ; -GenerateRevisionFile $(revisionFile) ; - -AddFileDataResource AboutHaiku : CSTR:201:SVN:REVISION : $(revisionFile) ; - Application AboutHaiku : AboutHaiku.cpp : libbe.so libtranslation.so libroot.so Modified: haiku/trunk/src/system/libroot/Jamfile =================================================================== --- haiku/trunk/src/system/libroot/Jamfile 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/src/system/libroot/Jamfile 2007-02-06 16:51:29 UTC (rev 20082) @@ -48,5 +48,16 @@ $(librootObjects:G=nogrist) ; + +# Copy libroot.so and update the copy's revision section. We link everything +# against the original, but the copy will end up on the disk image (this way +# we avoid unnecessary dependencies). The copy will be located in a subdirectory. +if $(TARGET_PLATFORM) = haiku { + MakeLocate libroot.so + : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; + CopySetHaikuRevision libroot.so : libroot.so ; +} + + SubInclude HAIKU_TOP src system libroot os ; SubInclude HAIKU_TOP src system libroot posix ; Modified: haiku/trunk/src/system/libroot/posix/sys/uname.c =================================================================== --- haiku/trunk/src/system/libroot/posix/sys/uname.c 2007-02-06 16:37:36 UTC (rev 20081) +++ haiku/trunk/src/system/libroot/posix/sys/uname.c 2007-02-06 16:51:29 UTC (rev 20082) @@ -12,6 +12,12 @@ #include +// Haiku SVN revision. Will be set when copying libroot.so to the image. +// Lives in a separate section so that it can easily be found. +extern uint32 _gHaikuRevision __attribute__((section("_haiku_revision"))); +uint32 _gHaikuRevision = 0; + + int uname(struct utsname *info) { @@ -28,13 +34,15 @@ strlcpy(info->sysname, "Haiku", sizeof(info->sysname)); info->version[0] = '\0'; -#ifdef HAIKU_REVISION - snprintf(info->version, sizeof(info->version), "r%d ", HAIKU_REVISION); -#endif + if (_gHaikuRevision) { + snprintf(info->version, sizeof(info->version), "r%ld ", + _gHaikuRevision); + } strlcat(info->version, systemInfo.kernel_build_date, sizeof(info->version)); strlcat(info->version, " ", sizeof(info->version)); strlcat(info->version, systemInfo.kernel_build_time, sizeof(info->version)); - snprintf(info->release, sizeof(info->release), "%lld", systemInfo.kernel_version); + snprintf(info->release, sizeof(info->release), "%lld", + systemInfo.kernel_version); // TODO: make this better switch (systemInfo.platform_type) { From bonefish at cs.tu-berlin.de Tue Feb 6 18:13:07 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Tue, 06 Feb 2007 18:13:07 +0100 Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <6191979630-BeMail@zon> References: <6191979630-BeMail@zon> Message-ID: <20070206181307.15445.3@cs.tu-berlin.de> On 2007-02-04 at 14:02:46 [+0100], Axel D?rfler wrote: > Ingo Weinhold wrote: > > > It's really a pity that Jam cannot fill variables with the results > > > of > > > shell commands. Maybe we could it extend it to do that? Or would > > > that > > > break its whole philosophy? :-) > > > > > > SVN_REVISION = [ FExecute svn info --get-my-repository-revision- > > > right- > > > now ] ; > > I actually even have a patch ready for this (submitted and rejected > > years > > ago), it just won't change anything in this case. If we want to build > > the > > It could still be handy to have that feature built-in, I suppose :-) If we ever happen to need it, I can throw it in. :-) [...] > > > In any way, I find adding it to a file that has to be read from the > > > kernel even more ugly. > > Indeed. Our options are limited though. Either we build the revision > > number > > into the code or it must be read at runtime from somewhere. Well, > > another > > option might be to inject the revision number into libroot/kernel > > right > > before being copied onto the image, using black objcopy magic. > > We could also make it a build option wether to include the revision or > not. > This way, the build factories could have it alway on, while you can > decide yourself wether or not your system is fast enough for this. > Anyway, black magic sounds like a somewhat good option as well :-) As it seems objcopy can manipulate object files in a couple of ways, but directly setting symbol values or changing data in sections isn't among its features. Instead I started with a combo of readelf and dd, but decided that this is way to scary (when the readelf output format changed we would probably overwrite data at some other position and might get weird crashes), and rather wrote a little tool to do the trick. CU, Ingo From bonefish at cs.tu-berlin.de Tue Feb 6 18:16:54 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Tue, 06 Feb 2007 18:16:54 +0100 Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <23671021850-BeMail@zon> References: <23671021850-BeMail@zon> Message-ID: <20070206181654.15498.4@cs.tu-berlin.de> On 2007-02-05 at 17:54:55 [+0100], Axel D?rfler wrote: > bonefish at BerliOS wrote: > > Log: > > * In the BMessage assignment operator we do now clear some of the > > message > > header flags after copying the header of the original message. > > Before > > cloning a message that still needed a reply would result in the > > clone > > also needing a reply, which, in the end, led to two replies being > > sent, > > thus screwing up the cached reply ports used for synchronous > > messaging. > > Fixes bug #1008. > > Nice work, I also had a look at the cached reply port implementation, > but that seems to be pretty error proof :-) > Anyway, didn't we recently have a similar bug to fix? If we had, I can't remember having seen it. So it probably wasn't CCed to me or you're just imagining it. ;-) > > BTW, also clearing the reply info breaks Tracker and Deskbar, so I > > suppose > > R5 keeps it and Tracker and Deskbar rely on that behavior. > > I'm pretty sure I wrote code that relies on this as well. I suppose in Tracker and Deskbar? ;-) > > * Added TODO in BMessage::~BMessage(). ATM, we only send a > > B_NO_REPLY in the destructor, but not in case the message is > > overwritten > > using the assignment operator or Flatten(). > > I think those are just oversights - I can't think of any reason why you > would want to let the (then unknown) sender wait forever. OK, I will change that then. CU, Ingo From stefano.ceccherini at gmail.com Tue Feb 6 18:30:46 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Tue, 6 Feb 2007 18:30:46 +0100 Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <20070206181654.15498.4@cs.tu-berlin.de> References: <23671021850-BeMail@zon> <20070206181654.15498.4@cs.tu-berlin.de> Message-ID: <894b9700702060930i3ea4d0bfkfc81de2eb42ac2f8@mail.gmail.com> 2007/2/6, Ingo Weinhold : > > > > BTW, also clearing the reply info breaks Tracker and Deskbar, so I > > > suppose > > > R5 keeps it and Tracker and Deskbar rely on that behavior. > > > > I'm pretty sure I wrote code that relies on this as well. Isn't this a radical change in the semantics of the class ? Do we really want to change that ? Shouldn't this be documented somewhere, anyway ? From bonefish at mail.berlios.de Tue Feb 6 18:31:00 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 6 Feb 2007 18:31:00 +0100 Subject: [Haiku-commits] r20083 - haiku/trunk/src/kits/app Message-ID: <200702061731.l16HV0c7031346@sheep.berlios.de> Author: bonefish Date: 2007-02-06 18:30:54 +0100 (Tue, 06 Feb 2007) New Revision: 20083 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20083&view=rev Modified: haiku/trunk/src/kits/app/Message.cpp Log: Moved sending the B_NO_REPLY reply from the destructor to the more general _Clear(), so that the assignment operator and Flatten() will trigger such a reply as well. Modified: haiku/trunk/src/kits/app/Message.cpp =================================================================== --- haiku/trunk/src/kits/app/Message.cpp 2007-02-06 16:51:29 UTC (rev 20082) +++ haiku/trunk/src/kits/app/Message.cpp 2007-02-06 17:30:54 UTC (rev 20083) @@ -102,9 +102,6 @@ BMessage::~BMessage() { DEBUG_FUNCTION_ENTER; - // TODO: Check why we don't do that in _Clear() and fix or comment it. - if (IsSourceWaiting()) - SendReply(B_NO_REPLY); _Clear(); } @@ -219,6 +216,12 @@ BMessage::_Clear() { DEBUG_FUNCTION_ENTER; + // We're going to destroy all information of this message. If there's + // still someone waiting for a reply to this message, we have to send + // one now. + if (IsSourceWaiting()) + SendReply(B_NO_REPLY); + if (fClonedArea >= B_OK) _Dereference(); From axeld at mail.berlios.de Tue Feb 6 19:01:45 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 6 Feb 2007 19:01:45 +0100 Subject: [Haiku-commits] r20084 - haiku/trunk/src/kits/interface Message-ID: <200702061801.l16I1jj2013793@sheep.berlios.de> Author: axeld Date: 2007-02-06 19:01:42 +0100 (Tue, 06 Feb 2007) New Revision: 20084 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20084&view=rev Modified: haiku/trunk/src/kits/interface/Picture.cpp Log: Fixed flattening/unflattening BPictures. Unfortunately, this does not fix bug #1014. Note: endianness is completely ignored. Modified: haiku/trunk/src/kits/interface/Picture.cpp =================================================================== --- haiku/trunk/src/kits/interface/Picture.cpp 2007-02-06 17:30:54 UTC (rev 20083) +++ haiku/trunk/src/kits/interface/Picture.cpp 2007-02-06 18:01:42 UTC (rev 20084) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006, Haiku Inc. + * Copyright 2001-2007, Haiku Inc. * Distributed under the terms of the MIT License. * * Authors: @@ -9,15 +9,15 @@ //! BPicture records a series of drawing instructions that can be "replayed" later. +#include +#include +#include + #include #include #include #include -#include -#include -#include - #include #include #include @@ -262,59 +262,78 @@ status_t BPicture::Flatten(BDataIO *stream) { + // TODO: what about endianess? + if (!assert_local_copy()) return B_ERROR; const picture_header header = { 2, 0 }; - status_t status = stream->Write(&header, sizeof(header)); - if (status < B_OK) - return status; + ssize_t bytesWritten = stream->Write(&header, sizeof(header)); + if (bytesWritten < B_OK) + return bytesWritten; + if (bytesWritten != (ssize_t)sizeof(header)) + return B_IO_ERROR; int32 count = extent->CountPictures(); - if (count > 0) { - status = stream->Write(&count, sizeof(count)); + bytesWritten = stream->Write(&count, sizeof(count)); + if (bytesWritten < B_OK) + return bytesWritten; + if (bytesWritten != (ssize_t)sizeof(count)) + return B_IO_ERROR; + + for (int32 i = 0; i < count; i++) { + status_t status = extent->PictureAt(i)->Flatten(stream); if (status < B_OK) return status; - - for (int32 i = 0; i < extent->CountPictures(); i++) { - status = extent->PictureAt(i)->Flatten(stream); - if (status < B_OK) - return status; - } } int32 size = extent->Size(); - status = stream->Write(&size, sizeof(size)); - if (status == B_OK) - status = stream->Write(extent->Data(), extent->Size()); + bytesWritten = stream->Write(&size, sizeof(size)); + if (bytesWritten < B_OK) + return bytesWritten; + if (bytesWritten != (ssize_t)sizeof(size)) + return B_IO_ERROR; - return status; + bytesWritten = stream->Write(extent->Data(), size); + if (bytesWritten < B_OK) + return bytesWritten; + if (bytesWritten != size) + return B_IO_ERROR; + + return B_OK; } status_t BPicture::Unflatten(BDataIO *stream) { + // TODO: clear current picture data? + picture_header header; - if (stream->Read(&header, sizeof(header)) < (ssize_t)sizeof(header) + ssize_t bytesRead = stream->Read(&header, sizeof(header)); + if (bytesRead < B_OK) + return bytesRead; + if (bytesRead != (ssize_t)sizeof(header) || header.magic1 != 2 || header.magic2 != 0) - return B_ERROR; + return B_BAD_TYPE; int32 count = 0; - status_t status = stream->Read(&count, sizeof(count)); - if (status < B_OK) - return status; + bytesRead = stream->Read(&count, sizeof(count)); + if (bytesRead < B_OK) + return bytesRead; + if (bytesRead != (ssize_t)sizeof(count)) + return B_BAD_DATA; for (int32 i = 0; i < count; i++) { - BPicture *pic = new BPicture; - status = pic->Unflatten(stream); + BPicture* picture = new BPicture; + status_t status = picture->Unflatten(stream); if (status < B_OK) return status; - extent->AddPicture(pic); + extent->AddPicture(picture); } - status = extent->ImportData(stream); + status_t status = extent->ImportData(stream); if (status < B_OK) return status; From axeld at pinc-software.de Tue Feb 6 19:20:38 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 19:20:38 +0100 CET Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <894b9700702060930i3ea4d0bfkfc81de2eb42ac2f8@mail.gmail.com> Message-ID: <22950165642-BeMail@zon> "Stefano Ceccherini" wrote: > 2007/2/6, Ingo Weinhold : > > > > BTW, also clearing the reply info breaks Tracker and Deskbar, > > > > so I > > > > suppose R5 keeps it and Tracker and Deskbar rely on that > > > > behavior. > > > I'm pretty sure I wrote code that relies on this as well. > Isn't this a radical change in the semantics of the class ? Do we > really want to change that ? Shouldn't this be documented somewhere, > anyway ? It would be if we had changed it - but we didn't change it :-) Bye, Axel. From laplace at mail.berlios.de Tue Feb 6 19:21:53 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Tue, 6 Feb 2007 19:21:53 +0100 Subject: [Haiku-commits] r20085 - haiku/trunk/src/tests/kits/interface/pictureprint Message-ID: <200702061821.l16ILr8U010332@sheep.berlios.de> Author: laplace Date: 2007-02-06 19:21:53 +0100 (Tue, 06 Feb 2007) New Revision: 20085 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20085&view=rev Modified: haiku/trunk/src/tests/kits/interface/pictureprint/Jamfile Log: Link against libprintutils.a to fix linking errors. Modified: haiku/trunk/src/tests/kits/interface/pictureprint/Jamfile =================================================================== --- haiku/trunk/src/tests/kits/interface/pictureprint/Jamfile 2007-02-06 18:01:42 UTC (rev 20084) +++ haiku/trunk/src/tests/kits/interface/pictureprint/Jamfile 2007-02-06 18:21:53 UTC (rev 20085) @@ -12,7 +12,7 @@ LinkAgainst TestPictureApp : be root - libprint.a + libprintutils.a ; SimpleTest DumpPrintJob : @@ -22,7 +22,7 @@ LinkAgainst DumpPrintJob : be root - libprint.a + libprintutils.a ; SimpleTest ShowPrintJob : @@ -32,5 +32,5 @@ LinkAgainst ShowPrintJob : be root - libprint.a + libprintutils.a ; From wkornewald at mail.berlios.de Tue Feb 6 19:33:11 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Tue, 6 Feb 2007 19:33:11 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker Message-ID: <200702061833.l16IXB4Q011306@sheep.berlios.de> Author: wkornewald Date: 2007-02-06 19:33:10 +0100 (Tue, 06 Feb 2007) New Revision: 20086 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20086&view=rev Modified: haiku/trunk/src/kits/tracker/SettingsViews.cpp Log: The Defaults button had a different default than Tracker has internally. Modified: haiku/trunk/src/kits/tracker/SettingsViews.cpp =================================================================== --- haiku/trunk/src/kits/tracker/SettingsViews.cpp 2007-02-06 18:21:53 UTC (rev 20085) +++ haiku/trunk/src/kits/tracker/SettingsViews.cpp 2007-02-06 18:33:10 UTC (rev 20086) @@ -540,7 +540,7 @@ TrackerSettings settings; if (settings.ShowFullPathInTitleBar()) { - settings.SetShowFullPathInTitleBar(false); + settings.SetShowFullPathInTitleBar(true); tracker->SendNotices(kWindowsShowFullPathChanged); } From stefano.ceccherini at gmail.com Tue Feb 6 19:57:37 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Tue, 6 Feb 2007 19:57:37 +0100 Subject: [Haiku-commits] r20084 - haiku/trunk/src/kits/interface In-Reply-To: <200702061801.l16I1jj2013793@sheep.berlios.de> References: <200702061801.l16I1jj2013793@sheep.berlios.de> Message-ID: <894b9700702061057s6eafc200hd25a64452a15e995@mail.gmail.com> 2007/2/6, axeld at BerliOS : > Log: > Fixed flattening/unflattening BPictures. Unfortunately, this does not fix bug #1014. > Note: endianness is completely ignored. Yeah, that should be taken into account too. From axeld at pinc-software.de Tue Feb 6 20:02:05 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 20:02:05 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <200702061833.l16IXB4Q011306@sheep.berlios.de> Message-ID: <25438021837-BeMail@zon> wkornewald at BerliOS wrote: > Author: wkornewald > Date: 2007-02-06 19:33:10 +0100 (Tue, 06 Feb 2007) > New Revision: 20086 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20086&view=rev > > Modified: > haiku/trunk/src/kits/tracker/SettingsViews.cpp > Log: > The Defaults button had a different default than Tracker has > internally. This must have been Jon's fault; unfortunately, you did the wrong change. Could you please revert this and fix it in TrackerSettings.cpp instead? "Full path in title bar" definitely defaults to off. Bye, Axel. From axeld at pinc-software.de Tue Feb 6 20:05:49 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 20:05:49 +0100 CET Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <20070206181307.15445.3@cs.tu-berlin.de> Message-ID: <25661639922-BeMail@zon> Ingo Weinhold wrote: > > > > SVN_REVISION = [ FExecute svn info --get-my-repository-revision > > > > - > > > > right-now ] ; > > > I actually even have a patch ready for this (submitted and > > > rejected > > > years ago), it just won't change anything in this case. If we > > > want to build > > It could still be handy to have that feature built-in, I suppose :- > > ) > If we ever happen to need it, I can throw it in. :-) Fine by me :-) > [...] > > Anyway, black magic sounds like a somewhat good option as well :-) > As it seems objcopy can manipulate object files in a couple of ways, > but > directly setting symbol values or changing data in sections isn't > among its > features. Instead I started with a combo of readelf and dd, but > decided > that this is way to scary (when the readelf output format changed we > would > probably overwrite data at some other position and might get weird > crashes), and rather wrote a little tool to do the trick. Nice :-) BTW is it not possible to set the ELF segment for static variables? Or did you made _gHaikuRevision global by intention (which would be fine with me, too, but then AboutHaiku could just use that one instead :-)). Bye, Axel. From axeld at pinc-software.de Tue Feb 6 20:15:15 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 20:15:15 +0100 CET Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <20070206181654.15498.4@cs.tu-berlin.de> Message-ID: <26227965117-BeMail@zon> Ingo Weinhold wrote: > > Nice work, I also had a look at the cached reply port > > implementation, > > but that seems to be pretty error proof :-) > > Anyway, didn't we recently have a similar bug to fix? > If we had, I can't remember having seen it. So it probably wasn't > CCed to > me or you're just imagining it. ;-) http://svn.berlios.de/viewcvs/haiku?rev=17584&view=rev You probably just didn't notice it :-) > > > BTW, also clearing the reply info breaks Tracker and Deskbar, > > > so I > > > suppose R5 keeps it and Tracker and Deskbar rely on that > > > behavior. > > I'm pretty sure I wrote code that relies on this as well. > I suppose in Tracker and Deskbar? ;-) No, I think it was DiskProbe or Capture :-) > > > * Added TODO in BMessage::~BMessage(). ATM, we only send a > > > B_NO_REPLY in the destructor, but not in case the message is > > > overwritten using the assignment operator or Flatten(). > > I think those are just oversights - I can't think of any reason why > > you > > would want to let the (then unknown) sender wait forever. > OK, I will change that then. Great, thanks! Bye, Axel. From wkornewald at haiku-os.org Tue Feb 6 20:18:28 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Tue, 6 Feb 2007 20:18:28 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <25438021837-BeMail@zon> References: <200702061833.l16IXB4Q011306@sheep.berlios.de> <25438021837-BeMail@zon> Message-ID: On 2/6/07, Axel D?rfler wrote: > > The Defaults button had a different default than Tracker has > > internally. > > This must have been Jon's fault; unfortunately, you did the wrong > change. Could you please revert this and fix it in TrackerSettings.cpp > instead? > "Full path in title bar" definitely defaults to off. I just believed the comment in r19895: > Label tweaks as agreed upon on list > "List folders first" and "Show Full Path" default to on now Did we not agree on it? I can't find it in my the huge pile of emails... Bye, Waldemar Kornewald From axeld at pinc-software.de Tue Feb 6 20:23:08 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 20:23:08 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: Message-ID: <26700935896-BeMail@zon> "Waldemar Kornewald" wrote: > On 2/6/07, Axel D?rfler wrote: > > This must have been Jon's fault; unfortunately, you did the wrong > > change. Could you please revert this and fix it in > > TrackerSettings.cpp > > instead? > > "Full path in title bar" definitely defaults to off. > I just believed the comment in r19895: > > Label tweaks as agreed upon on list > > "List folders first" and "Show Full Path" default to on now > Did we not agree on it? I can't find it in my the huge pile of > emails... No, we did not, trust me; that must have slipped my attention. Maybe it would simplify things to restrict write access of Deskbar & Tracker to me, and let me accept patches and apply them (or not). Bye, Axel. From bga at bug-br.org.br Tue Feb 6 20:26:40 2007 From: bga at bug-br.org.br (Bruno G. Albuquerque) Date: Tue, 6 Feb 2007 17:26:40 -0200 (BRST) Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: References: <200702061833.l16IXB4Q011306@sheep.berlios.de> <25438021837-BeMail@zon> Message-ID: <16989.72.14.228.89.1170790000.squirrel@www.bug-br.org.br> Em Ter, Fevereiro 6, 2007 5:18 pm, Waldemar Kornewald escreveu: >> Label tweaks as agreed upon on list >> "List folders first" and "Show Full Path" default to on now > > Did we not agree on it? I can't find it in my the huge pile of emails... That's exactly why I think we should not be doing this kind o change. For example, I do not enable this by default at all and the eraosn is simple. I use lots of queries and I prefer the query window to display the query name only (for instance, "Online Contacts" for a im kit query) than the path ("/boot/home/queries/Online Contacts" in the same case). Please, assuming stuff like that on behalf of the user is worng without *EXTENSIVE* research. So, if you want my opinion, this option should be left as it is. -Bruno From bga at bug-br.org.br Tue Feb 6 20:29:17 2007 From: bga at bug-br.org.br (Bruno G. Albuquerque) Date: Tue, 6 Feb 2007 17:29:17 -0200 (BRST) Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <26700935896-BeMail@zon> References: <26700935896-BeMail@zon> Message-ID: <11996.72.14.228.89.1170790157.squirrel@www.bug-br.org.br> Em Ter, Fevereiro 6, 2007 5:23 pm, Axel D?rfler escreveu: > Maybe it would simplify things to restrict write access of Deskbar & > Tracker to me, and let me accept patches and apply them (or not). Although I am as frustrated as you are with this, I don't think restricting access to the repository is the solution. -Bruno From laplace at mail.berlios.de Tue Feb 6 21:52:49 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Tue, 6 Feb 2007 21:52:49 +0100 Subject: [Haiku-commits] r20087 - haiku/trunk/src/tests/kits/interface/pictureprint Message-ID: <200702062052.l16KqnT0025325@sheep.berlios.de> Author: laplace Date: 2007-02-06 21:52:48 +0100 (Tue, 06 Feb 2007) New Revision: 20087 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20087&view=rev Modified: haiku/trunk/src/tests/kits/interface/pictureprint/DumpPrintJob.cpp Log: Added argument --pictures to print contents of unflattened pictures in spool file. Clean up. Modified: haiku/trunk/src/tests/kits/interface/pictureprint/DumpPrintJob.cpp =================================================================== --- haiku/trunk/src/tests/kits/interface/pictureprint/DumpPrintJob.cpp 2007-02-06 18:33:10 UTC (rev 20086) +++ haiku/trunk/src/tests/kits/interface/pictureprint/DumpPrintJob.cpp 2007-02-06 20:52:48 UTC (rev 20087) @@ -1,124 +1,82 @@ /* + * Copyright 2002-2007, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * Michael Pfeiffer + */ -DumpPrintJob - -Copyright (c) 2002 OpenBeOS. - -Author: - Michael Pfeiffer - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - #include #include #include "PicturePrinter.h" #include "PrintJobReader.h" -void print(char* s) { - fprintf(stderr, s); +void printArguments(const char* application) { + printf("Usage: %s [--pictures] files\n", application); + printf("Prints the contents of the specified spool files to stdout.\n" + "Arguments:\n" + " --pictures print contents of pictures\n"); } -void print(char* argv[]) { - fprintf(stderr, "%s: ", argv[0]); -} +int main(int argc, char* argv[]) { + BApplication app("application/x-vnd.Haiku.dump-print-job"); + + bool printPicture = false; + bool hasFiles = false; + + for (int i = 1; i < argc; i ++) { + const char* arg = argv[i]; + if (strcmp(arg, "--pictures") == 0) { + printPicture = true; + continue; + } -status_t dump_page(BFile* jobFile) { - int32 pictureCount; - status_t rc = B_OK; - jobFile->Read(&pictureCount, sizeof(pictureCount)); - printf("Pictures %ld\n", pictureCount); - for (int i = 0; rc == B_OK && i < pictureCount; i ++) { - BPoint p; BRect r; - off_t v; - jobFile->Read(&v, sizeof(v)); - printf("next picture %Lx %Lx %Lx\n", jobFile->Position(), v, v + jobFile->Position()); - jobFile->Seek(40, SEEK_CUR); + hasFiles = true; + BFile jobFile(arg, B_READ_WRITE); + if (jobFile.InitCheck() != B_OK) { + fprintf(stderr, "Error opening file %s!\n", arg); + continue; + } - jobFile->Read(&p, sizeof(p)); - jobFile->Read(&r, sizeof(r)); - BPicture picture; - rc = picture.Unflatten(jobFile); - if (rc == B_OK) { - PicturePrinter printer; - printf("Picture point (%f, %f) rect [l: %f t: %f r: %f b: %f]\n", - p.x, p.y, - r.left, r.top, r.right, r.bottom); - // printer.Iterate(&picture); - printf("==========================\n"); - } else { - fprintf(stderr, "Error unflattening picture\n"); + PrintJobReader reader(&jobFile); + if (reader.InitCheck() != B_OK) { + fprintf(stderr, "Error reading spool file %s!", arg); + continue; } - } - return rc; -} - -int main(int argc, char* argv[]) { - BApplication app("application/x-vnd.obos.dump-print-job"); - for (int i = 1; i < argc; i ++) { - BFile jobFile(argv[i], B_READ_WRITE); - if (jobFile.InitCheck() == B_OK) { - PrintJobReader reader(&jobFile); - if (reader.InitCheck() == B_OK) { - printf("%s: JobMessage\n", argv[0]); - reader.JobSettings()->PrintToStream(); - int32 pages = reader.NumberOfPages(); - for (int page = 0; page < pages; page ++) { - printf("Page %d\n", page+1); - PrintJobPage pjp; - if (reader.GetPage(page, pjp) == B_OK) { - BPicture picture; BPoint p; BRect r; - printf("Number of pictures %ld\n", pjp.NumberOfPictures()); - while (pjp.NextPicture(picture, p, r) == B_OK) { - printf("Picture point (%f, %f) rect [l: %f t: %f r: %f b: %f]\n", - p.x, p.y, - r.left, r.top, r.right, r.bottom); - - PicturePrinter printer; - printer.Iterate(&picture); - } - } - } + + printf("Spool file: %s\n", arg); + printf("Job settings message:\n"); + reader.JobSettings()->PrintToStream(); + + int32 pages = reader.NumberOfPages(); + printf("Number of pages: %d\n", (int)pages); + for (int page = 0; page < pages; page ++) { + printf("Page: %d\n", page+1); + PrintJobPage pjp; + if (reader.GetPage(page, pjp) != B_OK) { + fprintf(stderr, "Error reading page!\n"); + break; } -/* - print_file_header header; - if (jobFile.Read(&header, sizeof(header)) == sizeof(header)) { - BMessage jobMsg; - if (jobMsg.Unflatten(&jobFile) == B_OK) { - printf("%s: JobMessage\n", argv[0]); - jobMsg.PrintToStream(); - int32 pages = header.page_count; - for (int page = 0; page < pages; page ++) { - printf("Page %d offset %lx\n", page+1, jobFile.Position()); - if (dump_page(&jobFile) != B_OK) break; - } - } else { - print(argv); print("Could not unflatten job message\n"); + + BPicture picture; + BPoint pos; + BRect rect; + printf("Number of pictures: %ld\n", pjp.NumberOfPictures()); + while (pjp.NextPicture(picture, pos, rect) == B_OK) { + printf("Picture position = (%f, %f) bounds = [l: %f t: %f r: %f b: %f]\n", + pos.x, pos.y, + rect.left, rect.top, rect.right, rect.bottom); + + if (printPicture) { + printf("Picture:\n"); + PicturePrinter printer; + printer.Iterate(&picture); } - } else { - print(argv); print("Could not read print_job_header\n"); } - */ - } else { - print(argv); print("Error opening file!\n"); } } + + if (!hasFiles) + printArguments(argv[0]); } From wkornewald at mail.berlios.de Tue Feb 6 22:41:40 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Tue, 6 Feb 2007 22:41:40 +0100 Subject: [Haiku-commits] r20088 - haiku/trunk/src/kits/tracker Message-ID: <200702062141.l16Lfe3a030325@sheep.berlios.de> Author: wkornewald Date: 2007-02-06 22:41:40 +0100 (Tue, 06 Feb 2007) New Revision: 20088 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20088&view=rev Modified: haiku/trunk/src/kits/tracker/SettingsViews.cpp haiku/trunk/src/kits/tracker/TrackerSettings.cpp Log: "Show Folder Location in Title Bar" is now disabled, by default. Modified: haiku/trunk/src/kits/tracker/SettingsViews.cpp =================================================================== --- haiku/trunk/src/kits/tracker/SettingsViews.cpp 2007-02-06 20:52:48 UTC (rev 20087) +++ haiku/trunk/src/kits/tracker/SettingsViews.cpp 2007-02-06 21:41:40 UTC (rev 20088) @@ -540,7 +540,7 @@ TrackerSettings settings; if (settings.ShowFullPathInTitleBar()) { - settings.SetShowFullPathInTitleBar(true); + settings.SetShowFullPathInTitleBar(false); tracker->SendNotices(kWindowsShowFullPathChanged); } Modified: haiku/trunk/src/kits/tracker/TrackerSettings.cpp =================================================================== --- haiku/trunk/src/kits/tracker/TrackerSettings.cpp 2007-02-06 20:52:48 UTC (rev 20087) +++ haiku/trunk/src/kits/tracker/TrackerSettings.cpp 2007-02-06 21:41:40 UTC (rev 20088) @@ -178,7 +178,7 @@ Add(fEjectWhenUnmounting = new BooleanValueSetting("EjectWhenUnmounting", true)); Add(fDesktopFilePanelRoot = new BooleanValueSetting("DesktopFilePanelRoot", true)); - Add(fShowFullPathInTitleBar = new BooleanValueSetting("ShowFullPathInTitleBar", true)); + Add(fShowFullPathInTitleBar = new BooleanValueSetting("ShowFullPathInTitleBar", false)); Add(fShowSelectionWhenInactive = new BooleanValueSetting("ShowSelectionWhenInactive", true)); Add(fTransparentSelection = new BooleanValueSetting("TransparentSelection", true)); Add(fSortFolderNamesFirst = new BooleanValueSetting("SortFolderNamesFirst", true)); From wkornewald at haiku-os.org Tue Feb 6 22:46:22 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Tue, 6 Feb 2007 22:46:22 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <26700935896-BeMail@zon> References: <26700935896-BeMail@zon> Message-ID: On 2/6/07, Axel D?rfler wrote: > > Did we not agree on it? I can't find it in my the huge pile of > > emails... > > No, we did not, trust me; that must have slipped my attention. I'm pretty sure we discussed *something* and you suggested that it would be the best solution to dynamically only show a snippet of the path if necessary to disambiguate the case when multiple folders have the same name. I just can't find the discussion, anymore. > Maybe it would simplify things to restrict write access of Deskbar & > Tracker to me, and let me accept patches and apply them (or not). I think this would be an over-reaction. Bye, Waldemar Kornewald From axeld at pinc-software.de Tue Feb 6 23:09:42 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Tue, 06 Feb 2007 23:09:42 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: Message-ID: <36694911899-BeMail@zon> "Waldemar Kornewald" wrote: > On 2/6/07, Axel D?rfler wrote: > > > Did we not agree on it? I can't find it in my the huge pile of > > > emails... > > No, we did not, trust me; that must have slipped my attention. > I'm pretty sure we discussed *something* and you suggested that it > would be the best solution to dynamically only show a snippet of the > path if necessary to disambiguate the case when multiple folders have > the same name. I just can't find the discussion, anymore. That's right, but I definitely never agreed on making it the default (without the above patch). Thanks for having fixed this now, anyway. > > Maybe it would simplify things to restrict write access of Deskbar > > & > > Tracker to me, and let me accept patches and apply them (or not). > I think this would be an over-reaction. Not really; OpenTracker had a very limited pool of developers with write access, and I wouldn't mind keeping it that way (I wouldn't mind if that is only an imaginary border, though, as long as it's followed). The recent burst of changes (started with the vector icon stuff) at least made it clear that it's very impractical to keep both repositories around; however, I didn't even import the SF repository into ours yet. OpenTracker is still a project independent from Haiku - its main target audience is BeOS until Haiku releases something worthwhile. And at least until then, I consider myself being its maintainer. Most of the recent changes needed at least a second commit that fixed problems introduced with the first one. If someone knowledgeable of Tracker internals would have had a look before, this wouldn't have happened. I try to keep OT as stable as possible at all times, bigger changes would need to go into a branch. If that's not possible in the Haiku repository, it's not ready to host OpenTracker. Bye, Axel. From mmu_man at mail.berlios.de Tue Feb 6 23:22:08 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Tue, 6 Feb 2007 23:22:08 +0100 Subject: [Haiku-commits] r20089 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702062222.l16MM8em002204@sheep.berlios.de> Author: mmu_man Date: 2007-02-06 23:22:07 +0100 (Tue, 06 Feb 2007) New Revision: 20089 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20089&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: Not really a bug, but make sure the credits view doesn't overlap the other one by 1 pix on the left side. Make sure string views don't overlap the border (suppresses the flickering on uptime update, though it's mostly due to app_server being slow in qemu). Add urls (in blue, but TextView isn't clickable yet...) for several projects. Use B_UTF8_COPYRIGHT instead of "(c)". Add obvious copyright text for several stuff (GNU libc, tools, bash, zip, bzip2, some libs... vim). Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 21:41:40 UTC (rev 20088) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 22:22:07 UTC (rev 20089) @@ -149,7 +149,7 @@ BStringView *stringView; // OS Version - r.Set(5, 5, 225, labelHeight + 5); + r.Set(5, 5, 224, labelHeight + 5); stringView = new BStringView(r, "oslabel", "Version:"); stringView->SetFont(be_bold_font); fInfoView->AddChild(stringView); @@ -289,7 +289,7 @@ // Begin construction of the credits view r = Bounds(); - r.left += fInfoView->Bounds().right; + r.left += fInfoView->Bounds().right + 1; r.right -= B_V_SCROLL_BAR_WIDTH; fCreditsView = new BTextView(r, "credits", @@ -307,6 +307,7 @@ rgb_color haikuGreen = { 42, 131, 36, 255 }; rgb_color haikuOrange = { 255, 69, 0, 255 }; rgb_color haikuYellow = { 255, 176, 0, 255 }; + rgb_color linkBlue = { 80, 80, 200, 255 }; BFont font(be_bold_font); font.SetSize(font.Size() + 4); @@ -323,11 +324,14 @@ if (year < 2007) year = 2007; snprintf(string, sizeof(string), - "Copyright " B_UTF8_COPYRIGHT "2001-%ld Haiku, Inc.\n\n", year); + "Copyright " B_UTF8_COPYRIGHT "2001-%ld Haiku, Inc.\n", year); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert(string); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.haiku-os.org\n\n"); + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuOrange); fCreditsView->Insert("Team Leads:\n"); @@ -435,39 +439,71 @@ font.SetSize(be_bold_font->Size()); font.SetFace(B_BOLD_FACE | B_ITALIC_FACE); + // GNU copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("The GNU Project\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert("Contains software from the GNU Project, " + "released under the GPL and LGPL licences:\n"); + fCreditsView->Insert(" - GNU C Library,\n"); + fCreditsView->Insert(" - GNU coretools, diffutils, findutils, gawk, bison, m4, make,\n"); + fCreditsView->Insert(" - Bourne Again Shell.\n"); + fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " The Free Software Foundation.\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.gnu.org\n\n"); + + // FFMpeg copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("FFMpeg libavcodec\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " 2000-2007 Fabrice Bellard, et al.\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.ffmpeg.org\n\n"); + + // AGG copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("AntiGrain Geometry\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); - fCreditsView->Insert("Copyright (C) 2002-2006 Maxim Shemanarev (McSeem)\n\n"); + fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " 2002-2006 Maxim Shemanarev (McSeem).\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.antigrain.com\n\n"); + // PDFLib copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("PDFLib\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright (c) 1997-2006 PDFlib GmbH and Thomas Merz. " + "Copyright " B_UTF8_ELLIPSIS " 1997-2006 PDFlib GmbH and Thomas Merz. " "All rights reserved.\n" - "PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n\n"); + "PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.pdflib.com\n\n"); + // FreeType copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("FreeType2\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); - fCreditsView->Insert("Portions of this software are copyright (C) 1996-2006 The FreeType" - " Project (www.freetype.org). All rights reserved.\n\n"); + fCreditsView->Insert("Portions of this software are copyright " B_UTF8_ELLIPSIS " 1996-2006 The FreeType" + " Project. All rights reserved.\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.freetype.org\n\n"); // Mesa3D (http://www.mesa3d.org) copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("Mesa\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright (c) 1999-2006 Brian Paul. " - "Mesa3D project (www.mesa3d.org). All rights reserved.\n\n"); + "Copyright " B_UTF8_ELLIPSIS " 1999-2006 Brian Paul. " + "Mesa3D project. All rights reserved.\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); + fCreditsView->Insert(" www.mesa3d.org\n\n"); // SGI's GLU implementation copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("GLU\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright (c) 1991-2000 Silicon Graphics, Inc. " + "Copyright " B_UTF8_ELLIPSIS " 1991-2000 Silicon Graphics, Inc. " "SGI's Software FreeB license. All rights reserved.\n\n"); // GLUT implementation copyrights @@ -475,18 +511,55 @@ fCreditsView->Insert("GLUT\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright (c) 1994-1997 Mark Kilgard. " + "Copyright " B_UTF8_ELLIPSIS " 1994-1997 Mark Kilgard. " "All rights reserved.\n" - "Copyright (c) 1997 Be Inc.\n" - "Copyright (c) 1999 Jake Hamby. \n\n"); + "Copyright " B_UTF8_ELLIPSIS " 1997 Be Inc.\n" + "Copyright " B_UTF8_ELLIPSIS " 1999 Jake Hamby. \n\n"); // Konatu font fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("Konatu font\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright (C) 2002- MASUDA mitiya.\n" + "Copyright " B_UTF8_ELLIPSIS " 2002- MASUDA mitiya.\n" "MIT license. All rights reserved.\n\n"); + + // expat copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("expat\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert( + "Copyright " B_UTF8_ELLIPSIS " 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper.\n" + "Copyright " B_UTF8_ELLIPSIS " 2001, 2002, 2003 Expat maintainers.\n\n"); + + // zlib copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("zlib\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert( + "Copyright " B_UTF8_ELLIPSIS " 1995-2004 Jean-loup Gailly and Mark Adler.\n\n"); + + // zip copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("Info-ZIP\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert( + "Copyright " B_UTF8_ELLIPSIS " 1990-2002 Info-ZIP. All rights reserved.\n\n"); + + // bzip2 copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("bzip2\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert( + "Copyright " B_UTF8_ELLIPSIS " 1996-2005 Julian R Seward. All rights reserved.\n\n"); + + // VIM copyrights + fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); + fCreditsView->Insert("Vi IMproved\n"); + fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); + fCreditsView->Insert( + "Copyright " B_UTF8_ELLIPSIS " Bram Moolenaar et al.\n\n"); + } From mmu_man at mail.berlios.de Tue Feb 6 23:26:25 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Tue, 6 Feb 2007 23:26:25 +0100 Subject: [Haiku-commits] r20090 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702062226.l16MQP1X002459@sheep.berlios.de> Author: mmu_man Date: 2007-02-06 23:26:25 +0100 (Tue, 06 Feb 2007) New Revision: 20090 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20090&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: I should go to bed... I meant B_UTF8_COPYRIGHT of course! Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 22:22:07 UTC (rev 20089) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 22:26:25 UTC (rev 20090) @@ -448,7 +448,7 @@ fCreditsView->Insert(" - GNU C Library,\n"); fCreditsView->Insert(" - GNU coretools, diffutils, findutils, gawk, bison, m4, make,\n"); fCreditsView->Insert(" - Bourne Again Shell.\n"); - fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " The Free Software Foundation.\n"); + fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " The Free Software Foundation.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); fCreditsView->Insert(" www.gnu.org\n\n"); @@ -456,7 +456,7 @@ fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("FFMpeg libavcodec\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); - fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " 2000-2007 Fabrice Bellard, et al.\n"); + fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " 2000-2007 Fabrice Bellard, et al.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); fCreditsView->Insert(" www.ffmpeg.org\n\n"); @@ -464,7 +464,7 @@ fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("AntiGrain Geometry\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); - fCreditsView->Insert("Copyright " B_UTF8_ELLIPSIS " 2002-2006 Maxim Shemanarev (McSeem).\n"); + fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " 2002-2006 Maxim Shemanarev (McSeem).\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); fCreditsView->Insert(" www.antigrain.com\n\n"); @@ -473,7 +473,7 @@ fCreditsView->Insert("PDFLib\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1997-2006 PDFlib GmbH and Thomas Merz. " + "Copyright " B_UTF8_COPYRIGHT " 1997-2006 PDFlib GmbH and Thomas Merz. " "All rights reserved.\n" "PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); @@ -483,7 +483,7 @@ fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("FreeType2\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); - fCreditsView->Insert("Portions of this software are copyright " B_UTF8_ELLIPSIS " 1996-2006 The FreeType" + fCreditsView->Insert("Portions of this software are copyright " B_UTF8_COPYRIGHT " 1996-2006 The FreeType" " Project. All rights reserved.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); fCreditsView->Insert(" www.freetype.org\n\n"); @@ -493,7 +493,7 @@ fCreditsView->Insert("Mesa\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1999-2006 Brian Paul. " + "Copyright " B_UTF8_COPYRIGHT " 1999-2006 Brian Paul. " "Mesa3D project. All rights reserved.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); fCreditsView->Insert(" www.mesa3d.org\n\n"); @@ -503,7 +503,7 @@ fCreditsView->Insert("GLU\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1991-2000 Silicon Graphics, Inc. " + "Copyright " B_UTF8_COPYRIGHT " 1991-2000 Silicon Graphics, Inc. " "SGI's Software FreeB license. All rights reserved.\n\n"); // GLUT implementation copyrights @@ -511,17 +511,17 @@ fCreditsView->Insert("GLUT\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1994-1997 Mark Kilgard. " + "Copyright " B_UTF8_COPYRIGHT " 1994-1997 Mark Kilgard. " "All rights reserved.\n" - "Copyright " B_UTF8_ELLIPSIS " 1997 Be Inc.\n" - "Copyright " B_UTF8_ELLIPSIS " 1999 Jake Hamby. \n\n"); + "Copyright " B_UTF8_COPYRIGHT " 1997 Be Inc.\n" + "Copyright " B_UTF8_COPYRIGHT " 1999 Jake Hamby. \n\n"); // Konatu font fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("Konatu font\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 2002- MASUDA mitiya.\n" + "Copyright " B_UTF8_COPYRIGHT " 2002- MASUDA mitiya.\n" "MIT license. All rights reserved.\n\n"); // expat copyrights @@ -529,36 +529,36 @@ fCreditsView->Insert("expat\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper.\n" - "Copyright " B_UTF8_ELLIPSIS " 2001, 2002, 2003 Expat maintainers.\n\n"); + "Copyright " B_UTF8_COPYRIGHT " 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper.\n" + "Copyright " B_UTF8_COPYRIGHT " 2001, 2002, 2003 Expat maintainers.\n\n"); // zlib copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("zlib\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1995-2004 Jean-loup Gailly and Mark Adler.\n\n"); + "Copyright " B_UTF8_COPYRIGHT " 1995-2004 Jean-loup Gailly and Mark Adler.\n\n"); // zip copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("Info-ZIP\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1990-2002 Info-ZIP. All rights reserved.\n\n"); + "Copyright " B_UTF8_COPYRIGHT " 1990-2002 Info-ZIP. All rights reserved.\n\n"); // bzip2 copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("bzip2\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " 1996-2005 Julian R Seward. All rights reserved.\n\n"); + "Copyright " B_UTF8_COPYRIGHT " 1996-2005 Julian R Seward. All rights reserved.\n\n"); // VIM copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); fCreditsView->Insert("Vi IMproved\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( - "Copyright " B_UTF8_ELLIPSIS " Bram Moolenaar et al.\n\n"); + "Copyright " B_UTF8_COPYRIGHT " Bram Moolenaar et al.\n\n"); } From darkwyrm at earthlink.net Wed Feb 7 00:06:18 2007 From: darkwyrm at earthlink.net (DarkWyrm) Date: Tue, 06 Feb 2007 18:06:18 -0500 EST Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <36694911899-BeMail@zon> Message-ID: <2146371786-BeMail@sapphire> > That's right, but I definitely never agreed on making it the default > (without the above patch). > Thanks for having fixed this now, anyway. The default value patch would be my doing. I thought it had been agreed upon, but apparently I misunderstood. Sorry about that. > Not really; OpenTracker had a very limited pool of developers with > write access, and I wouldn't mind keeping it that way (I wouldn't > mind > if that is only an imaginary border, though, as long as it's > followed). > The recent burst of changes (started with the vector icon stuff) at > least made it clear that it's very impractical to keep both > repositories around; however, I didn't even import the SF repository > into ours yet. > OpenTracker is still a project independent from Haiku - its main > target > audience is BeOS until Haiku releases something worthwhile. And at > least until then, I consider myself being its maintainer. > Most of the recent changes needed at least a second commit that fixed > problems introduced with the first one. If someone knowledgeable of > Tracker internals would have had a look before, this wouldn't have > happened. > I try to keep OT as stable as possible at all times, bigger changes > would need to go into a branch. If that's not possible in the Haiku > repository, it's not ready to host OpenTracker. I would say, yes, it *is* an overreaction to set permissions and lock everyone out. I find it offensive that we can't ask someone to not do something with the expectation that they will listen. We have never operated that way, nor do I think we should start. At the same time, the current situation is not working either. I'd say that it simply has come from a lack of clear expectations. Right now everyone is working on lots of different things all over the tree. This is not necessarily a bad thing unless someone just decides to go on their own and start making well-intentioned "extra" changes which not everyone agrees on or has unintended side effects. I'll be the first to admit guilt on this part and also point out that I haven't been the only one to do this. Waldemar and I have agreed to just hit critical usability issues (like the Revert button thing) and nail bugs. I'm also working on tying up loose ends I've left like ResEdit and the outstanding bug on CDPlayer. Can we simply just run things past you except in the most minor of changes (typo fixes, etc) ? --DW From mmu_man at mail.berlios.de Wed Feb 7 01:10:40 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Wed, 7 Feb 2007 01:10:40 +0100 Subject: [Haiku-commits] r20091 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702070010.l170Ae0k032356@sheep.berlios.de> Author: mmu_man Date: 2007-02-07 01:10:39 +0100 (Wed, 07 Feb 2007) New Revision: 20091 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20091&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: Add info about used RAM. Use sizeof(string) everywhere. Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-06 22:26:25 UTC (rev 20090) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-07 00:10:39 UTC (rev 20091) @@ -38,6 +38,7 @@ static const char *UptimeToString(char string[], size_t size); +static const char *MemUsageToString(char string[], size_t size); class AboutApp : public BApplication { @@ -65,6 +66,7 @@ virtual void MouseDown(BPoint pt); private: + BStringView *fMemView; BStringView *fUptimeView; BView *fInfoView; BTextView *fCreditsView; @@ -245,12 +247,12 @@ r.OffsetBy(0, labelHeight); r.bottom = r.top + textHeight; - sprintf(string, "%d MB total", int(systemInfo.max_pages / 256.0f + 0.5f)); + fMemView = new BStringView(r, "ramtext", ""); + fInfoView->AddChild(fMemView); + //fMemView->ResizeToPreferred(); + + fMemView->SetText(MemUsageToString(string, sizeof(string))); - stringView = new BStringView(r, "ramtext", string); - fInfoView->AddChild(stringView); - stringView->ResizeToPreferred(); - // Kernel build time/date r.OffsetBy(0, textHeight * 1.5); r.bottom = r.top + labelHeight; @@ -284,8 +286,7 @@ fInfoView->AddChild(fUptimeView); // string width changes, so we don't do ResizeToPreferred() - char uptimeString[255]; - fUptimeView->SetText(UptimeToString(uptimeString, 255)); + fUptimeView->SetText(UptimeToString(string, sizeof(string))); // Begin construction of the credits view r = Bounds(); @@ -614,9 +615,11 @@ void AboutView::Pulse(void) { - char uptime[255]; - fUptimeView->SetText(UptimeToString(uptime, 255)); + char string[255]; + fUptimeView->SetText(UptimeToString(string, sizeof(string))); + fMemView->SetText(MemUsageToString(string, sizeof(string))); + if (fScrollRunner == NULL && (system_time() > fLastActionTime + 10000000)) { BMessage message(SCROLL_CREDITS_VIEW); //fScrollRunner = new BMessageRunner(this, &message, 300000, -1); @@ -652,6 +655,23 @@ static const char * +MemUsageToString(char string[], size_t size) +{ + system_info systemInfo; + + if (get_system_info(&systemInfo) < B_OK) + return "Unknown"; + + snprintf(string, size, "%d MB total, %d MB used (%d%%)", + int(systemInfo.max_pages / 256.0f + 0.5f), + int(systemInfo.used_pages / 256.0f + 0.5f), + 100 * systemInfo.used_pages / systemInfo.max_pages); + + return string; +} + + +static const char * UptimeToString(char string[], size_t size) { int64 days, hours, minutes, seconds, remainder; From axeld at pinc-software.de Wed Feb 7 08:37:53 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Wed, 07 Feb 2007 08:37:53 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <2146371786-BeMail@sapphire> Message-ID: <1352687516-BeMail@zon> "DarkWyrm" wrote: > > Not really; OpenTracker had a very limited pool of developers with > > write access, and I wouldn't mind keeping it that way (I wouldn't > > mind if that is only an imaginary border, though, as long as it's > > followed). [...] > I would say, yes, it *is* an overreaction to set permissions and lock > everyone out. I find it offensive that we can't ask someone to not do > something with the expectation that they will listen. We have never I've stated several times in the past that I prefer to get patches to OT instead of clobbering the mirrored repository in Haiku directly. Obviously, it did not work. It's my fault, too, as I did not mention it anymore in the recent past - because I won't merge Haiku's changes back SF OT again, and I probably also wanted to see where it would go. [...] > Can we simply just run things past you except in the most minor of > changes (typo fixes, etc) ? I don't mind bug fixes, refactoring, cleanup changes etc. - if you're familiar with the code, I don't mind seeing it applied directly (since I don't have any extra work with the OT repository anymore now). But as long as you're not familiar with it, or make eventually questionable patches (like usability changes), I would still like to get a patch instead. You could also open a branch, do your changes there, and ask me to merge it back, whatever you prefer. Of course, I could also maintain current OT in a branch instead of the main Haiku repository - but since I don't see the need for any major Tracker changes (besides the eventual rewrite), I would like to save this extra work. Bye, Axel. From axeld at mail.berlios.de Wed Feb 7 09:00:02 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 09:00:02 +0100 Subject: [Haiku-commits] r20092 - haiku/trunk/src/libs/pdflib/libs/flate Message-ID: <200702070800.l17802TQ017443@sheep.berlios.de> Author: axeld Date: 2007-02-07 09:00:01 +0100 (Wed, 07 Feb 2007) New Revision: 20092 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20092&view=rev Modified: haiku/trunk/src/libs/pdflib/libs/flate/zconf.h Log: Fixed some warnings when build with GCC 4. Modified: haiku/trunk/src/libs/pdflib/libs/flate/zconf.h =================================================================== --- haiku/trunk/src/libs/pdflib/libs/flate/zconf.h 2007-02-07 00:10:39 UTC (rev 20091) +++ haiku/trunk/src/libs/pdflib/libs/flate/zconf.h 2007-02-07 08:00:01 UTC (rev 20092) @@ -292,7 +292,7 @@ # endif #endif -#if defined (__BEOS__) +#if defined (__BEOS__) && !defined(__HAIKU__) # if defined (ZLIB_DLL) # define ZEXTERN extern __declspec(dllexport) # else From revol at free.fr Wed Feb 7 10:12:44 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Wed, 07 Feb 2007 10:12:44 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <2146371786-BeMail@sapphire> Message-ID: <2144524591-BeMail@laptop> > > Most of the recent changes needed at least a second commit that > > fixed > > problems introduced with the first one. If someone knowledgeable of > > Tracker internals would have had a look before, this wouldn't have > > happened. > > I try to keep OT as stable as possible at all times, bigger changes > > would need to go into a branch. If that's not possible in the Haiku > > repository, it's not ready to host OpenTracker. > > Right now everyone is working on lots of different things all over > the > tree. This is not necessarily a bad thing unless someone just decides > to go on their own and start making well-intentioned "extra" changes > which not everyone agrees on or has unintended side effects. I'll be > the first to admit guilt on this part and also point out that I > haven't > been the only one to do this. I know I myself already stepped onto someone's shoe at least once. May I suggest that we use the same method the ffmpeg team has ? When someone wants to make a change to some part he doesn't maintain, he posts the diff on the mailing list (this commit list ?), and ask for approval of the maintainer, who either says "apply" or "rejected, because...". This way you can also tell something like "good idea but you could do cleaner by this and that...", or "could you care also fixing foo", without having to edit the source yourself, revert or fix, test, commit. I found it a bit frustrating at first, but it seems logical now, and I know I wouldn't want someone to tamper with the beos code I have there... Besides it seems to work quite well so far (but it's a smaller project). Fran?ois. From stefano.ceccherini at gmail.com Wed Feb 7 10:22:43 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Wed, 7 Feb 2007 10:22:43 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <2144524591-BeMail@laptop> References: <2146371786-BeMail@sapphire> <2144524591-BeMail@laptop> Message-ID: <894b9700702070122v29356e37rd480c14df4601637@mail.gmail.com> 2007/2/7, Fran?ois Revol : > May I suggest that we use the same method the ffmpeg team has ? > > When someone wants to make a change to some part he doesn't maintain, > he posts the diff on the mailing list (this commit list ?), and ask for > approval of the maintainer, who either says "apply" or "rejected, > because...". I'm all for it, especially if the changes are many, or they aren't obvious bug fixes. From stefano.ceccherini at gmail.com Wed Feb 7 10:49:20 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Wed, 7 Feb 2007 10:49:20 +0100 Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <22950165642-BeMail@zon> References: <894b9700702060930i3ea4d0bfkfc81de2eb42ac2f8@mail.gmail.com> <22950165642-BeMail@zon> Message-ID: <894b9700702070149o2522f3abl7fef41428b81d96e@mail.gmail.com> 2007/2/6, Axel D?rfler : > > Isn't this a radical change in the semantics of the class ? Do we > > really want to change that ? Shouldn't this be documented somewhere, > > anyway ? > > It would be if we had changed it - but we didn't change it :-) Heh, seems like I totally misunderstood then... I thought Ingo said that Deskbar & Tracker were broken after his commit :) From stefano.ceccherini at gmail.com Wed Feb 7 11:02:00 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Wed, 7 Feb 2007 11:02:00 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <894b9700702070122v29356e37rd480c14df4601637@mail.gmail.com> References: <2146371786-BeMail@sapphire> <2144524591-BeMail@laptop> <894b9700702070122v29356e37rd480c14df4601637@mail.gmail.com> Message-ID: <894b9700702070202n6266c680p91bc3f9f88799dc5@mail.gmail.com> 2007/2/7, Stefano Ceccherini : > 2007/2/7, Fran?ois Revol : > > > May I suggest that we use the same method the ffmpeg team has ? > > > > When someone wants to make a change to some part he doesn't maintain, > > he posts the diff on the mailing list (this commit list ?), and ask for > > approval of the maintainer, who either says "apply" or "rejected, > > because...". > > I'm all for it, especially if the changes are many, or they aren't > obvious bug fixes. > Of course, who maintains what isn't always obvious :) From wkornewald at haiku-os.org Wed Feb 7 12:03:41 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Wed, 7 Feb 2007 12:03:41 +0100 Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <2144524591-BeMail@laptop> References: <2146371786-BeMail@sapphire> <2144524591-BeMail@laptop> Message-ID: On 2/7/07, Fran?ois Revol wrote: > When someone wants to make a change to some part he doesn't maintain, > he posts the diff on the mailing list (this commit list ?), and ask for > approval of the maintainer, who either says "apply" or "rejected, > because...". > This way you can also tell something like "good idea but you could do > cleaner by this and that...", or "could you care also fixing foo", > without having to edit the source yourself, revert or fix, test, > commit. Sounds good. Bye, Waldemar Kornewald From axeld at pinc-software.de Wed Feb 7 13:28:20 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Wed, 07 Feb 2007 13:28:20 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <2144524591-BeMail@laptop> Message-ID: <18779343327-BeMail@zon> "Fran?ois Revol" wrote: > When someone wants to make a change to some part he doesn't maintain, > he posts the diff on the mailing list (this commit list ?), and ask > for > approval of the maintainer, who either says "apply" or "rejected, > because...". I think all actively maintained sub-projects with stable releases for R5 could be handled this way. I don't think the commit list is right for this, though; it should either go to the appropriate lists (for Tracker, that would be http://lists.sourceforge.net/lists/listinfo/opentracker-develop ), or to the maintainer directly. For me, it always depends on the type of the changes (bugfix vs. enhancements vs. usability) - I surely wouldn't mind if DarkWyrm fixes a bug in DiskProbe, but I would mind if he changed the way the user interacts with it without consulting me first. With the Tracker changes he actually did everything right except that one misunderstanding. However, he also introduced minor bugs that wouldn't have happened if he provided a patch for this; Tracker is a complex codebase, and I don't expect anyone to get everything right on first try - and that makes a patch preferable for this one. Bye, Axel. From bonefish at cs.tu-berlin.de Wed Feb 7 13:49:48 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Wed, 07 Feb 2007 13:49:48 +0100 Subject: [Haiku-commits] r20023 - haiku/trunk/src/system/libroot/posix/sys In-Reply-To: <25661639922-BeMail@zon> References: <25661639922-BeMail@zon> Message-ID: <20070207134948.2958.3@cs.tu-berlin.de> On 2007-02-06 at 20:05:49 [+0100], Axel D?rfler wrote: > Ingo Weinhold wrote: > > [...] > > > Anyway, black magic sounds like a somewhat good option as well :-) > > As it seems objcopy can manipulate object files in a couple of ways, > > but > > directly setting symbol values or changing data in sections isn't > > among its > > features. Instead I started with a combo of readelf and dd, but > > decided > > that this is way to scary (when the readelf output format changed we > > would > > probably overwrite data at some other position and might get weird > > crashes), and rather wrote a little tool to do the trick. > > Nice :-) > BTW is it not possible to set the ELF segment for static variables? Or > did you made _gHaikuRevision global by intention I was basically copying an example of how to put something into a dedicated section. I'll have a look whether it is possible to make the variable static. > (which would be fine > with me, too, but then AboutHaiku could just use that one instead :-)). Using internals of other components -- baeh, that'd be ugly! :-) CU, Ingo From bonefish at cs.tu-berlin.de Wed Feb 7 13:51:03 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Wed, 07 Feb 2007 13:51:03 +0100 Subject: [Haiku-commits] r20074 - haiku/trunk/src/kits/app In-Reply-To: <26227965117-BeMail@zon> References: <26227965117-BeMail@zon> Message-ID: <20070207135103.3067.4@cs.tu-berlin.de> On 2007-02-06 at 20:15:15 [+0100], Axel D?rfler wrote: > Ingo Weinhold wrote: > > > Nice work, I also had a look at the cached reply port > > > implementation, > > > but that seems to be pretty error proof :-) > > > Anyway, didn't we recently have a similar bug to fix? > > If we had, I can't remember having seen it. So it probably wasn't > > CCed to > > me or you're just imagining it. ;-) > > http://svn.berlios.de/viewcvs/haiku?rev=17584&view=rev > You probably just didn't notice it :-) Ah, now that you mention it... :-) CU, Ingo From bonefish at mail.berlios.de Wed Feb 7 14:01:28 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Wed, 7 Feb 2007 14:01:28 +0100 Subject: [Haiku-commits] r20093 - haiku/trunk/src/system/libroot/posix/sys Message-ID: <200702071301.l17D1SpK018818@sheep.berlios.de> Author: bonefish Date: 2007-02-07 14:01:28 +0100 (Wed, 07 Feb 2007) New Revision: 20093 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20093&view=rev Modified: haiku/trunk/src/system/libroot/posix/sys/uname.c Log: Made _gHaikuRevision static and renamed it to sHaikuRevision. Modified: haiku/trunk/src/system/libroot/posix/sys/uname.c =================================================================== --- haiku/trunk/src/system/libroot/posix/sys/uname.c 2007-02-07 08:00:01 UTC (rev 20092) +++ haiku/trunk/src/system/libroot/posix/sys/uname.c 2007-02-07 13:01:28 UTC (rev 20093) @@ -14,8 +14,8 @@ // Haiku SVN revision. Will be set when copying libroot.so to the image. // Lives in a separate section so that it can easily be found. -extern uint32 _gHaikuRevision __attribute__((section("_haiku_revision"))); -uint32 _gHaikuRevision = 0; +static uint32 sHaikuRevision __attribute__((section("_haiku_revision"))); +static uint32 sHaikuRevision = 0; int @@ -34,9 +34,9 @@ strlcpy(info->sysname, "Haiku", sizeof(info->sysname)); info->version[0] = '\0'; - if (_gHaikuRevision) { + if (sHaikuRevision) { snprintf(info->version, sizeof(info->version), "r%ld ", - _gHaikuRevision); + sHaikuRevision); } strlcat(info->version, systemInfo.kernel_build_date, sizeof(info->version)); strlcat(info->version, " ", sizeof(info->version)); From axeld at mail.berlios.de Wed Feb 7 14:27:37 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 14:27:37 +0100 Subject: [Haiku-commits] r20094 - haiku/trunk/build/jam Message-ID: <200702071327.l17DRbt6020870@sheep.berlios.de> Author: axeld Date: 2007-02-07 14:27:37 +0100 (Wed, 07 Feb 2007) New Revision: 20094 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20094&view=rev Modified: haiku/trunk/build/jam/HaikuImage Log: Disabled the VMware graphics driver again, until it's remaining issues are solved (see bug #994). Modified: haiku/trunk/build/jam/HaikuImage =================================================================== --- haiku/trunk/build/jam/HaikuImage 2007-02-07 13:01:28 UTC (rev 20093) +++ haiku/trunk/build/jam/HaikuImage 2007-02-07 13:27:37 UTC (rev 20094) @@ -62,7 +62,7 @@ BEOS_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant $(X86_ONLY)nv.accelerant $(X86_ONLY)mga.accelerant $(X86_ONLY)nm.accelerant $(X86_ONLY)intel_extreme.accelerant - vesa.accelerant $(X86_ONLY)vmware.accelerant + vesa.accelerant #$(X86_ONLY)vmware.accelerant ; BEOS_ADD_ONS_TRANSLATORS = BMPTranslator GIFTranslator JPEGTranslator JPEG2000Translator TIFFTranslator PNGTranslator PPMTranslator @@ -93,7 +93,7 @@ BEOS_ADD_ONS_DRIVERS_AUDIO = auich auvia emuxki ; BEOS_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon.driver $(X86_ONLY)nv.driver $(X86_ONLY)nm.driver $(X86_ONLY)mga.driver $(X86_ONLY)intel_extreme vesa - $(X86_ONLY)vmware + #$(X86_ONLY)vmware ; BEOS_ADD_ONS_DRIVERS_MIDI = emuxki ; BEOS_ADD_ONS_DRIVERS_NET = etherpci ipro1000 rtl8139 rtl8169 sis900 From wkornewald at mail.berlios.de Wed Feb 7 14:32:30 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Wed, 7 Feb 2007 14:32:30 +0100 Subject: [Haiku-commits] r20095 - haiku/trunk/src/kits/interface Message-ID: <200702071332.l17DWUfK021788@sheep.berlios.de> Author: wkornewald Date: 2007-02-07 14:32:29 +0100 (Wed, 07 Feb 2007) New Revision: 20095 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20095&view=rev Modified: haiku/trunk/src/kits/interface/Screen.cpp Log: Changed from B_ALL_WORKSPACES to ~0 because that's more readable. :) Can't we have something like B_CURRENT_WORKSPACE_INDEX? Modified: haiku/trunk/src/kits/interface/Screen.cpp =================================================================== --- haiku/trunk/src/kits/interface/Screen.cpp 2007-02-07 13:27:37 UTC (rev 20094) +++ haiku/trunk/src/kits/interface/Screen.cpp 2007-02-07 13:32:29 UTC (rev 20095) @@ -168,7 +168,7 @@ } -/*! \brief Returns the "inversion" ov the given 8-bit color. +/*! \brief Returns the "inversion" of the given 8-bit color. \param index An 8-bit color index. \return An 8-bit color index that represents the "inversion" of the given color. */ @@ -233,7 +233,7 @@ BScreen::DesktopColor() { if (fScreen != NULL) - return fScreen->DesktopColor(B_ALL_WORKSPACES); + return fScreen->DesktopColor(~0); return rgb_color(); } @@ -261,7 +261,7 @@ BScreen::SetDesktopColor(rgb_color rgb, bool stick) { if (fScreen != NULL) - fScreen->SetDesktopColor(rgb, B_ALL_WORKSPACES, stick); + fScreen->SetDesktopColor(rgb, ~0, stick); } @@ -322,7 +322,7 @@ BScreen::GetMode(display_mode *mode) { if (fScreen != NULL) - return fScreen->GetMode(B_ALL_WORKSPACES, mode); + return fScreen->GetMode(~0, mode); return B_ERROR; } @@ -350,7 +350,7 @@ BScreen::SetMode(display_mode *mode, bool makeDefault) { if (fScreen != NULL) - return fScreen->SetMode(current_workspace(), mode, makeDefault); + return fScreen->SetMode(~0, mode, makeDefault); return B_ERROR; } From axeld at pinc-software.de Wed Feb 7 14:38:31 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Wed, 07 Feb 2007 14:38:31 +0100 CET Subject: [Haiku-commits] r20095 - haiku/trunk/src/kits/interface In-Reply-To: <200702071332.l17DWUfK021788@sheep.berlios.de> Message-ID: <22990931252-BeMail@zon> wkornewald at BerliOS wrote: > Log: > Changed from B_ALL_WORKSPACES to ~0 because that's more readable. :) > Can't we have something like B_CURRENT_WORKSPACE_INDEX? It's used internally only, so a kCurrentWorkspaceIndex could be used. Bye, Axel. From wkornewald at mail.berlios.de Wed Feb 7 14:48:59 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Wed, 7 Feb 2007 14:48:59 +0100 Subject: [Haiku-commits] r20096 - haiku/trunk/src/preferences/screen Message-ID: <200702071348.l17DmxTj023080@sheep.berlios.de> Author: wkornewald Date: 2007-02-07 14:48:59 +0100 (Wed, 07 Feb 2007) New Revision: 20096 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20096&view=rev Modified: haiku/trunk/src/preferences/screen/AlertView.cpp haiku/trunk/src/preferences/screen/AlertWindow.cpp haiku/trunk/src/preferences/screen/MonitorView.cpp haiku/trunk/src/preferences/screen/ScreenMode.cpp haiku/trunk/src/preferences/screen/ScreenMode.h haiku/trunk/src/preferences/screen/ScreenWindow.cpp haiku/trunk/src/preferences/screen/ScreenWindow.h Log: Made the Screen preflet's behavior consistent with the other preflets. * Moved Apply button into controls box (resolution, etc.), so its meaning is more obvious. * Revert now resets the whole screen settings for all workspaces to the configuration at the start of the preflet. * In confirmation window, renamed Revert to Undo because that's what it actually does (it has nothing to do with the Revert in the main dialog). * Disabled Defaults button (for now) since it doesn't use the screen's preferred settings and added a few TODOs. * This should fix bug #321. Note: Unfortunately, it won't work correctly on R5 because BScreen can only access the active workspace, it seems (locally, I used activate_workspace() for testing the preflet). Also, Haiku doesn't yet support setting screen preferences for each workspace individually, so I couldn't test it. I hope my code isn't too terrible. :) Modified: haiku/trunk/src/preferences/screen/AlertView.cpp =================================================================== --- haiku/trunk/src/preferences/screen/AlertView.cpp 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/AlertView.cpp 2007-02-07 13:48:59 UTC (rev 20096) @@ -51,8 +51,8 @@ keepButton->ResizeToPreferred(); AddChild(keepButton); - BButton* button = new BButton(rect, "revert", "Revert", - new BMessage(BUTTON_REVERT_MSG), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); + BButton* button = new BButton(rect, "undo", "Undo", + new BMessage(SET_INITIAL_MODE_MSG), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); button->ResizeToPreferred(); AddChild(button); @@ -107,7 +107,7 @@ AlertView::Pulse() { if (--fSeconds == 0) - Window()->PostMessage(BUTTON_REVERT_MSG); + Window()->PostMessage(SET_INITIAL_MODE_MSG); else UpdateCountdownView(); } @@ -117,7 +117,7 @@ AlertView::KeyDown(const char* bytes, int32 numBytes) { if (numBytes == 1 && bytes[0] == B_ESCAPE) - Window()->PostMessage(BUTTON_REVERT_MSG); + Window()->PostMessage(SET_INITIAL_MODE_MSG); } Modified: haiku/trunk/src/preferences/screen/AlertWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/AlertWindow.cpp 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/AlertWindow.cpp 2007-02-07 13:48:59 UTC (rev 20096) @@ -17,7 +17,7 @@ AlertWindow::AlertWindow(BMessenger target) - : BWindow(BRect(100.0, 100.0, 400.0, 193.0), "Revert", + : BWindow(BRect(100.0, 100.0, 400.0, 193.0), "Undo", B_MODAL_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_ZOOMABLE, B_ALL_WORKSPACES), fTarget(target) @@ -43,7 +43,7 @@ PostMessage(B_QUIT_REQUESTED); break; - case BUTTON_REVERT_MSG: + case SET_INITIAL_MODE_MSG: fTarget.SendMessage(SET_INITIAL_MODE_MSG); PostMessage(B_QUIT_REQUESTED); break; Modified: haiku/trunk/src/preferences/screen/MonitorView.cpp =================================================================== --- haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/MonitorView.cpp 2007-02-07 13:48:59 UTC (rev 20096) @@ -18,9 +18,10 @@ #ifndef __HAIKU__ -inline bool operator!=(const rgb_color& x, const rgb_color& y) +inline bool +operator!=(const rgb_color& x, const rgb_color& y) { - return (x.red!=y.red || x.blue!=y.blue || x.green!=y.green); + return x.red != y.red || x.blue != y.blue || x.green != y.green; } #endif Modified: haiku/trunk/src/preferences/screen/ScreenMode.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenMode.cpp 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/ScreenMode.cpp 2007-02-07 13:48:59 UTC (rev 20096) @@ -9,6 +9,8 @@ #include "ScreenMode.h" +#include + #include #include @@ -152,7 +154,7 @@ ScreenMode::ScreenMode(BWindow* window) : fWindow(window), - fUpdatedMode(false) + fUpdatedModes(false) { BScreen screen(window); if (screen.GetModeList(&fModeList, &fModeCount) == B_OK) { @@ -173,12 +175,17 @@ status_t -ScreenMode::Set(const screen_mode& mode) +ScreenMode::Set(const screen_mode& mode, int32 workspace) { - if (!fUpdatedMode) - UpdateOriginalMode(); + if (!fUpdatedModes) + UpdateOriginalModes(); BScreen screen(fWindow); + + if (workspace == ~0) + workspace = current_workspace(); + + // TODO: our app_server doesn't fully support workspaces, yet SetSwapDisplays(&screen, mode.swap_displays); SetUseLaptopPanel(&screen, mode.use_laptop_panel); SetTVStandard(&screen, mode.tv_standard); @@ -187,20 +194,25 @@ if (!GetDisplayMode(mode, displayMode)) return B_ENTRY_NOT_FOUND; - return screen.SetMode(&displayMode, true); + return screen.SetMode(workspace, &displayMode, true); } status_t -ScreenMode::Get(screen_mode& mode) +ScreenMode::Get(screen_mode& mode, int32 workspace) const { display_mode displayMode; BScreen screen(fWindow); - if (screen.GetMode(&displayMode) != B_OK) + + if (workspace == ~0) + workspace = current_workspace(); + + if (screen.GetMode(workspace, &displayMode) != B_OK) return B_ERROR; - + mode.SetTo(displayMode); - + + // TODO: our app_server doesn't fully support workspaces, yet if (GetSwapDisplays(&screen, &mode.swap_displays) != B_OK) mode.swap_displays = false; if (GetUseLaptopPanel(&screen, &mode.use_laptop_panel) != B_OK) @@ -213,31 +225,59 @@ status_t +ScreenMode::GetOriginalMode(screen_mode& mode, int32 workspace) const +{ + if (workspace == ~0) + workspace = current_workspace(); + else if(workspace > 31) + return B_BAD_INDEX; + + mode = fOriginal[workspace]; + + return B_OK; +} + + +// this method assumes that you already reverted to the correct number of workspaces +status_t ScreenMode::Revert() { - if (!fUpdatedMode) - return B_OK; + if (!fUpdatedModes) + return B_ERROR; + status_t result = B_OK; screen_mode current; - if (Get(current) == B_OK && fOriginal == current) - return B_OK; + for (int32 workspace = 0; workspace < count_workspaces(); workspace++) { + if (Get(current, workspace) == B_OK && fOriginal[workspace] == current) + continue; - BScreen screen(fWindow); - SetSwapDisplays(&screen, fOriginal.swap_displays); - SetUseLaptopPanel(&screen, fOriginal.use_laptop_panel); - SetTVStandard(&screen, fOriginal.tv_standard); + BScreen screen(fWindow); - return screen.SetMode(&fOriginalDisplayMode, true); + // TODO: our app_server doesn't fully support workspaces, yet + if (workspace == current_workspace()) { + SetSwapDisplays(&screen, fOriginal[workspace].swap_displays); + SetUseLaptopPanel(&screen, fOriginal[workspace].use_laptop_panel); + SetTVStandard(&screen, fOriginal[workspace].tv_standard); + } + + result = screen.SetMode(workspace, &fOriginalDisplayMode[workspace], true); + if (result != B_OK) + break; + } + + return result; } void -ScreenMode::UpdateOriginalMode() +ScreenMode::UpdateOriginalModes() { BScreen screen(fWindow); - if (screen.GetMode(&fOriginalDisplayMode) == B_OK) { - fUpdatedMode = true; - Get(fOriginal); + for (int32 workspace = 0; workspace < count_workspaces(); workspace++) { + if (screen.GetMode(workspace, &fOriginalDisplayMode[workspace]) == B_OK) { + Get(fOriginal[workspace], workspace); + fUpdatedModes = true; + } } } Modified: haiku/trunk/src/preferences/screen/ScreenMode.h =================================================================== --- haiku/trunk/src/preferences/screen/ScreenMode.h 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/ScreenMode.h 2007-02-07 13:48:59 UTC (rev 20096) @@ -41,12 +41,13 @@ ScreenMode(BWindow* window); ~ScreenMode(); - status_t Set(const screen_mode& mode); - status_t Get(screen_mode& mode); + status_t Set(const screen_mode& mode, int32 workspace = ~0); + status_t Get(screen_mode& mode, int32 workspace = ~0) const; + status_t GetOriginalMode(screen_mode &mode, int32 workspace = ~0) const; + status_t Revert(); + void UpdateOriginalModes(); - void UpdateOriginalMode(); - bool SupportsColorSpace(const screen_mode& mode, color_space space); status_t GetRefreshLimits(const screen_mode& mode, float& min, float& max); @@ -60,9 +61,10 @@ display_mode* fModeList; uint32 fModeCount; - bool fUpdatedMode; - display_mode fOriginalDisplayMode; - screen_mode fOriginal; + bool fUpdatedModes; + // TODO: hard-coded to the current workspace limit + display_mode fOriginalDisplayMode[32]; + screen_mode fOriginal[32]; }; #endif /* SCREEN_MODE_H */ Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-07 13:48:59 UTC (rev 20096) @@ -214,7 +214,8 @@ fIsVesa(false), fVesaApplied(false), fScreenMode(this), - fChangingAllWorkspaces(false) + fTempScreenMode(this), + fModified(false) { BScreen screen(this); @@ -222,7 +223,7 @@ if (screen.GetDeviceInfo(&info) == B_OK && !strcasecmp(info.chipset, "VESA")) fIsVesa = true; - fScreenMode.Get(fOriginal); + UpdateOriginal(); fActive = fSelected = fOriginal; BView *view = new BView(Bounds(), "ScreenView", B_FOLLOW_ALL, B_WILL_DRAW); @@ -482,9 +483,10 @@ fBackgroundsButton->SetFontSize(be_plain_font->Size() * 0.9); fScreenBox->AddChild(fBackgroundsButton); - fDefaultsButton = new BButton(buttonRect, "DefaultsButton", "Defaults", + // TODO: we don't support getting the screen's preferred settings + /* fDefaultsButton = new BButton(buttonRect, "DefaultsButton", "Defaults", new BMessage(BUTTON_DEFAULTS_MSG)); - view->AddChild(fDefaultsButton); + view->AddChild(fDefaultsButton); */ fRevertButton = new BButton(buttonRect, "RevertButton", "Revert", new BMessage(BUTTON_REVERT_MSG)); @@ -494,7 +496,7 @@ fApplyButton = new BButton(buttonRect, "ApplyButton", "Apply", new BMessage(BUTTON_APPLY_MSG)); fApplyButton->SetEnabled(false); - view->AddChild(fApplyButton); + fControlsBox->AddChild(fApplyButton); UpdateControls(); @@ -765,19 +767,9 @@ void ScreenWindow::WorkspaceActivated(int32 workspace, bool state) { - if (fChangingAllWorkspaces) { - // we're currently changing all workspaces, so there is no need - // to update the interface - return; - } - - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); - - // only override current settings if they have not been changed yet - if (fSelected == fActive) - UpdateActiveMode(); - + fScreenMode.GetOriginalMode(fOriginal, workspace); + UpdateActiveMode(); + BMessage message(UPDATE_DESKTOP_COLOR_MSG); PostMessage(&message, fMonitorView); } @@ -793,19 +785,19 @@ case POP_WORKSPACE_CHANGED_MSG: { + // update checkpoint state int32 index; - if (message->FindInt32("index", &index) == B_OK) + if (message->FindInt32("index", &index) == B_OK) { set_workspace_count(index + 1); + CheckApplyEnabled(); + } break; } case POP_RESOLUTION_MSG: { - int32 oldWidth = fSelected.width, oldHeight = fSelected.height; message->FindInt32("width", &fSelected.width); message->FindInt32("height", &fSelected.height); - if (fSelected.width == oldWidth && fSelected.height == oldHeight) - break; CheckColorMenu(); CheckRefreshMenu(); @@ -813,42 +805,29 @@ UpdateMonitorView(); UpdateRefreshControl(); - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; } case POP_COLORS_MSG: { - color_space old = fSelected.space; message->FindInt32("space", (int32 *)&fSelected.space); - if (fSelected.space == old) - break; BString string; string << fSelected.BitsPerPixel() << " Bits/Pixel"; fColorsMenu->Superitem()->SetLabel(string.String()); - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; } case POP_REFRESH_MSG: { - float old = fSelected.refresh; message->FindFloat("refresh", &fSelected.refresh); fOtherRefresh->SetLabel("Other" B_UTF8_ELLIPSIS); // revert "Other?" label - it might have had a refresh rate prefix - if (fSelected.refresh == old) - break; - - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); - CheckApplyEnabled(); + CheckApplyEnabled(); break; } @@ -874,13 +853,8 @@ { // user pressed "done" in "Other?" refresh dialog; // select the refresh rate chosen - float old = fSelected.refresh; message->FindFloat("refresh", &fSelected.refresh); - if (fSelected.refresh != old) - break; - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); UpdateRefreshControl(); CheckApplyEnabled(); break; @@ -893,8 +867,6 @@ if (message->FindInt32("mode", &mode) == B_OK) fSelected.combine = (combine_mode)mode; - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckResolutionMenu(); CheckApplyEnabled(); break; @@ -902,22 +874,16 @@ case POP_SWAP_DISPLAYS_MSG: message->FindBool("swap", &fSelected.swap_displays); - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; case POP_USE_LAPTOP_PANEL_MSG: message->FindBool("use", &fSelected.use_laptop_panel); - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; case POP_TV_STANDARD_MSG: message->FindInt32("tv_standard", (int32 *)&fSelected.tv_standard); - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); CheckApplyEnabled(); break; @@ -941,61 +907,45 @@ fSelected.use_laptop_panel = false; fSelected.tv_standard = 0; - fScreenMode.Get(fOriginal); - fScreenMode.UpdateOriginalMode(); + BMenuItem *item; + item = fWorkspaceCountField->Menu()->ItemAt(3); + if (item != NULL) + item->SetMarked(true); + UpdateControls(); break; } - case BUTTON_REVERT_MSG: case SET_INITIAL_MODE_MSG: + fTempScreenMode.Revert(); + UpdateActiveMode(); + break; + + case BUTTON_REVERT_MSG: + { + fModified = false; + BMenuItem *item; + item = fWorkspaceCountField->Menu()->ItemAt(fOriginalWorkspaceCount - 1); + if (item != NULL) + item->SetMarked(true); + + // ScreenMode::Revert() assumes that we first set the correct number + // of workspaces + set_workspace_count(fOriginalWorkspaceCount); fScreenMode.Revert(); UpdateActiveMode(); break; + } case BUTTON_APPLY_MSG: Apply(); break; - case MAKE_INITIAL_MSG: { - // user pressed "keep" in confirmation box; - // select this mode in dialog and mark it as - // previous mode; if "all workspaces" is selected, - // distribute mode to all workspaces - - // use the mode that has eventually been set and - // thus we know to be working; it can differ from - // the mode selected by user due to hardware limitation - display_mode newMode; - BScreen screen(this); - screen.GetMode(&newMode); - - if (fAllWorkspacesItem->IsMarked()) { - int32 originatingWorkspace; - - // the original panel activates each workspace in turn; - // this is disguisting and there is a SetMode - // variant that accepts a workspace id, so let's take - // this one - originatingWorkspace = current_workspace(); - - // well, this "cannot be reverted" message is not - // entirely true - at least, you can revert it - // for current workspace; to not overwrite original - // mode during workspace switch, we use this flag - fChangingAllWorkspaces = true; - - for (int32 i = 0; i < count_workspaces(); i++) { - if (i != originatingWorkspace) - screen.SetMode(i, &newMode, true); - } - - fChangingAllWorkspaces = false; - } - + case MAKE_INITIAL_MSG: + // user pressed "keep" in confirmation dialog + fModified = true; UpdateActiveMode(); break; - } default: BWindow::MessageReceived(message); @@ -1045,8 +995,8 @@ bool ScreenWindow::CanRevert() const { - return (fActive != fOriginal && !fAllWorkspacesItem->IsMarked()) - || fSelected != fActive; + return fSelected != fActive || count_workspaces() != fOriginalWorkspaceCount + || fModified; } @@ -1059,6 +1009,15 @@ void +ScreenWindow::UpdateOriginal() +{ + fOriginalWorkspaceCount = count_workspaces(); + fScreenMode.Get(fOriginal); + fScreenMode.UpdateOriginalModes(); +} + + +void ScreenWindow::Apply() { if (_IsVesa()) { @@ -1071,21 +1030,29 @@ fActive = fSelected; return; } - - if (fAllWorkspacesItem->IsMarked()) { - BAlert *workspacesAlert = new BAlert("WorkspacesAlert", - "Change all workspaces? This action cannot be reverted.", "Okay", "Cancel", - NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); - - if (workspacesAlert->Go() == 1) - return; - } - + + // make checkpoint, so we can undo these changes + fTempScreenMode.UpdateOriginalModes(); status_t status = fScreenMode.Set(fSelected); if (status == B_OK) { + // use the mode that has eventually been set and + // thus we know to be working; it can differ from + // the mode selected by user due to hardware limitation + display_mode newMode; + BScreen screen(this); + screen.GetMode(&newMode); + + if (fAllWorkspacesItem->IsMarked()) { + int32 originatingWorkspace = current_workspace(); + for (int32 i = 0; i < count_workspaces(); i++) { + if (i != originatingWorkspace) + screen.SetMode(i, &newMode, true); + } + } + fActive = fSelected; - - // ToDo: only show alert when this is an unknown mode + + // TODO: only show alert when this is an unknown mode BWindow* window = new AlertWindow(this); window->Show(); } else { @@ -1162,18 +1129,22 @@ BRect boxFrame = fScreenBox->Frame() | fControlsBox->Frame(); // layout rest of buttons - fDefaultsButton->ResizeToPreferred(); - fDefaultsButton->MoveTo(boxFrame.left, boxFrame.bottom + 8); - + // TODO: we don't support getting the screen's preferred settings +// fDefaultsButton->ResizeToPreferred(); +// fDefaultsButton->MoveTo(boxFrame.left, boxFrame.bottom + 8); + fRevertButton->ResizeToPreferred(); - fRevertButton->MoveTo(fDefaultsButton->Frame().right + 10, - fDefaultsButton->Frame().top); - + fRevertButton->MoveTo(boxFrame.left, boxFrame.bottom + 8); +// fRevertButton->MoveTo(fDefaultsButton->Frame().right + 10, +// fDefaultsButton->Frame().top); + fApplyButton->ResizeToPreferred(); - fApplyButton->MoveTo(boxFrame.right - fApplyButton->Bounds().Width(), - fDefaultsButton->Frame().top); + float resolutionFieldRight = fResolutionField->Frame().right; + fApplyButton->MoveTo(resolutionFieldRight - fApplyButton->Bounds().Width(), + fControlsBox->Bounds().bottom - fApplyButton->Bounds().Height() + - (fControlsBox->Bounds().right - resolutionFieldRight)); - ResizeTo(boxFrame.right + 10, fDefaultsButton->Frame().bottom + 10); + ResizeTo(boxFrame.right + 10, fRevertButton->Frame().bottom + 10); } Modified: haiku/trunk/src/preferences/screen/ScreenWindow.h =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.h 2007-02-07 13:32:29 UTC (rev 20095) +++ haiku/trunk/src/preferences/screen/ScreenWindow.h 2007-02-07 13:48:59 UTC (rev 20096) @@ -46,6 +46,7 @@ void UpdateRefreshControl(); void UpdateMonitorView(); void UpdateControls(); + void UpdateOriginal(); void Apply(); @@ -93,9 +94,12 @@ BButton* fBackgroundsButton; - ScreenMode fScreenMode; - bool fChangingAllWorkspaces; + ScreenMode fScreenMode, fTempScreenMode; + // screen modes for all workspaces + int32 fOriginalWorkspaceCount; screen_mode fActive, fSelected, fOriginal; + // screen modes for the current workspace + bool fModified; }; #endif /* SCREEN_WINDOW_H */ From axeld at mail.berlios.de Wed Feb 7 14:49:51 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 14:49:51 +0100 Subject: [Haiku-commits] r20097 - haiku/trunk/src/system/kernel/vm Message-ID: <200702071349.l17Dnpv5023130@sheep.berlios.de> Author: axeld Date: 2007-02-07 14:49:50 +0100 (Wed, 07 Feb 2007) New Revision: 20097 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20097&view=rev Modified: haiku/trunk/src/system/kernel/vm/vm.cpp Log: Flushing the translation map is done automatically on unlock. Modified: haiku/trunk/src/system/kernel/vm/vm.cpp =================================================================== --- haiku/trunk/src/system/kernel/vm/vm.cpp 2007-02-07 13:48:59 UTC (rev 20096) +++ haiku/trunk/src/system/kernel/vm/vm.cpp 2007-02-07 13:49:50 UTC (rev 20097) @@ -1437,7 +1437,6 @@ vm_translation_map *map = &addressSpace->translation_map; map->ops->lock(map); map->ops->unmap(map, area->base, area->base + (area->size - 1)); - map->ops->flush(map); map->ops->unlock(map); // ToDo: do that only for vnode stores @@ -3650,7 +3649,6 @@ map->ops->lock(map); map->ops->unmap(map, current->base + newSize, current->base + oldSize - 1); - map->ops->flush(map); map->ops->unlock(map); } } From axeld at mail.berlios.de Wed Feb 7 14:50:51 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 14:50:51 +0100 Subject: [Haiku-commits] r20098 - haiku/trunk/src/system/kernel/debug Message-ID: <200702071350.l17Dop26023280@sheep.berlios.de> Author: axeld Date: 2007-02-07 14:50:50 +0100 (Wed, 07 Feb 2007) New Revision: 20098 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20098&view=rev Modified: haiku/trunk/src/system/kernel/debug/frame_buffer_console.cpp Log: The mutex was created too early, before semaphores could be used. Modified: haiku/trunk/src/system/kernel/debug/frame_buffer_console.cpp =================================================================== --- haiku/trunk/src/system/kernel/debug/frame_buffer_console.cpp 2007-02-07 13:49:50 UTC (rev 20097) +++ haiku/trunk/src/system/kernel/debug/frame_buffer_console.cpp 2007-02-07 13:50:50 UTC (rev 20098) @@ -394,8 +394,6 @@ if (sConsole.area < B_OK) return sConsole.area; - mutex_init(&sConsole.lock, "console_lock"); - int32 bytesPerRow = args->frame_buffer.width; switch (args->frame_buffer.depth) { case 1: @@ -431,6 +429,8 @@ status_t frame_buffer_console_init_post_modules(kernel_args *args) { + mutex_init(&sConsole.lock, "console_lock"); + // TODO: enable MTRR in VESA mode! // if (sConsole.frame_buffer == NULL) return B_OK; From axeld at pinc-software.de Wed Feb 7 15:02:28 2007 From: axeld at pinc-software.de (Axel =?iso-8859-15?q?D=F6rfler?=) Date: Wed, 07 Feb 2007 15:02:28 +0100 CET Subject: [Haiku-commits] r20096 - haiku/trunk/src/preferences/screen In-Reply-To: <200702071348.l17DmxTj023080@sheep.berlios.de> Message-ID: <24427576531-BeMail@zon> wkornewald at BerliOS wrote: > @@ -107,7 +107,7 @@ > AlertView::Pulse() > { > if (--fSeconds == 0) > - Window()->PostMessage(BUTTON_REVERT_MSG); > + Window()->PostMessage(SET_INITIAL_MODE_MSG); > else > UpdateCountdownView(); > } > @@ -117,7 +117,7 @@ > AlertView::KeyDown(const char* bytes, int32 numBytes) > { > if (numBytes == 1 && bytes[0] == B_ESCAPE) > - Window()->PostMessage(BUTTON_REVERT_MSG); > + Window()->PostMessage(SET_INITIAL_MODE_MSG); > } Is this an accidental change? It would be quite rude to let the user stay in the dark (in case his monitor doesn't support the frequency chosen). Or am I missing something? > + // TODO: hard-coded to the current workspace limit > + display_mode fOriginalDisplayMode[32]; > + screen_mode fOriginal[32]; The whole Be API relies on 32 workspaces (because of the 32 bits used for the workspaces mask at several places), so it's hardly worth a TODO comment. Maybe we should introduce a B_MAX_WORKSPACES_COUNT definition? Bye, Axel. From axeld at mail.berlios.de Wed Feb 7 15:07:32 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 15:07:32 +0100 Subject: [Haiku-commits] r20099 - in haiku/trunk: headers/private/kernel headers/private/kernel/util src/system/kernel src/system/kernel/arch/x86 Message-ID: <200702071407.l17E7WJv024509@sheep.berlios.de> Author: axeld Date: 2007-02-07 15:07:31 +0100 (Wed, 07 Feb 2007) New Revision: 20099 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20099&view=rev Modified: haiku/trunk/headers/private/kernel/lock.h haiku/trunk/headers/private/kernel/util/AutoLock.h haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c haiku/trunk/src/system/kernel/lock.c haiku/trunk/src/system/kernel/sem.c Log: * mutex_lock() and recursive_lock_lock() now return a status_t and report failure. * recursive_lock_unlock() now returns a void to mirror it's counterpart better; use recursive_lock_get_recursion() if you're interested in the lock depth. * switch_sem(), and release_sem() now don't do anything anymore in kernel startup mode. Modified: haiku/trunk/headers/private/kernel/lock.h =================================================================== --- haiku/trunk/headers/private/kernel/lock.h 2007-02-07 13:50:50 UTC (rev 20098) +++ haiku/trunk/headers/private/kernel/lock.h 2007-02-07 14:07:31 UTC (rev 20099) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2004, Axel D?rfler, axeld at pinc-software.de. + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. * Distributed under the terms of the MIT License. * * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. @@ -52,13 +52,13 @@ extern status_t recursive_lock_init(recursive_lock *lock, const char *name); extern void recursive_lock_destroy(recursive_lock *lock); -extern bool recursive_lock_lock(recursive_lock *lock); -extern bool recursive_lock_unlock(recursive_lock *lock); -extern int recursive_lock_get_recursion(recursive_lock *lock); +extern status_t recursive_lock_lock(recursive_lock *lock); +extern void recursive_lock_unlock(recursive_lock *lock); +extern int32 recursive_lock_get_recursion(recursive_lock *lock); extern status_t mutex_init(mutex *m, const char *name); extern void mutex_destroy(mutex *m); -extern void mutex_lock(mutex *m); +extern status_t mutex_lock(mutex *m); extern void mutex_unlock(mutex *m); extern status_t benaphore_init(benaphore *ben, const char *name); Modified: haiku/trunk/headers/private/kernel/util/AutoLock.h =================================================================== --- haiku/trunk/headers/private/kernel/util/AutoLock.h 2007-02-07 13:50:50 UTC (rev 20098) +++ haiku/trunk/headers/private/kernel/util/AutoLock.h 2007-02-07 14:07:31 UTC (rev 20099) @@ -1,13 +1,14 @@ -/* - * Copyright 2005, Ingo Weinhold, bonefish at users.sf.net. All rights reserved. +/* + * Copyright 2005-2007, Ingo Weinhold, bonefish at users.sf.net. All rights reserved. * Distributed under the terms of the MIT License. */ - #ifndef KERNEL_UTIL_AUTO_LOCKER_H #define KERNEL_UTIL_AUTO_LOCKER_H + #include + namespace BPrivate { // AutoLockerStandardLocking @@ -165,8 +166,7 @@ public: inline bool Lock(mutex *lockable) { - mutex_lock(lockable); - return true; + return mutex_lock(lockable) == B_OK; } inline void Unlock(mutex *lockable) @@ -183,8 +183,7 @@ public: inline bool Lock(recursive_lock *lockable) { - recursive_lock_lock(lockable); - return true; + return recursive_lock_lock(lockable) == B_OK; } inline void Unlock(recursive_lock *lockable) Modified: haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c 2007-02-07 13:50:50 UTC (rev 20098) +++ haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.c 2007-02-07 14:07:31 UTC (rev 20099) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2006, Axel D?rfler, axeld at pinc-software.de. All rights reserved. + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. * * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. @@ -188,13 +188,14 @@ { TRACE(("lock_tmap: map %p\n", map)); - if (recursive_lock_lock(&map->lock) == true) { + recursive_lock_lock(&map->lock); + if (recursive_lock_get_recursion(&map->lock) == 1) { // we were the first one to grab the lock TRACE(("clearing invalidated page count\n")); map->arch_data->num_invalidate_pages = 0; } - return 0; + return B_OK; } @@ -209,7 +210,7 @@ } recursive_lock_unlock(&map->lock); - return 0; + return B_OK; } @@ -393,8 +394,8 @@ { page_table_entry *pt; page_directory_entry *pd = map->arch_data->pgdir_virt; + status_t status; int index; - int err; start = ROUNDOWN(start, B_PAGE_SIZE); end = ROUNDUP(end, B_PAGE_SIZE); @@ -403,7 +404,7 @@ restart: if (start >= end) - return 0; + return B_OK; index = VADDR_TO_PDENT(start); if (pd[index].present == 0) { @@ -413,10 +414,12 @@ } do { - err = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), (addr_t *)&pt, PHYSICAL_PAGE_NO_WAIT); - } while (err < 0); + status = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), + (addr_t *)&pt, PHYSICAL_PAGE_NO_WAIT); + } while (status < B_OK); - for (index = VADDR_TO_PTENT(start); (index < 1024) && (start < end); index++, start += B_PAGE_SIZE) { + for (index = VADDR_TO_PTENT(start); (index < 1024) && (start < end); + index++, start += B_PAGE_SIZE) { if (pt[index].present == 0) { // page mapping not valid continue; @@ -474,7 +477,7 @@ index = VADDR_TO_PTENT(va); *_physical = ADDR_REVERSE_SHIFT(pt[index].addr); - return 0; + return B_OK; } @@ -517,7 +520,7 @@ TRACE(("query_tmap: returning pa 0x%lx for va 0x%lx\n", *_physical, va)); - return 0; + return B_OK; } @@ -533,8 +536,8 @@ { page_table_entry *pt; page_directory_entry *pd = map->arch_data->pgdir_virt; + status_t status; int index; - int err; start = ROUNDOWN(start, B_PAGE_SIZE); end = ROUNDUP(end, B_PAGE_SIZE); @@ -543,7 +546,7 @@ restart: if (start >= end) - return 0; + return B_OK; index = VADDR_TO_PDENT(start); if (pd[index].present == 0) { @@ -553,9 +556,9 @@ } do { - err = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), + status = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), (addr_t *)&pt, PHYSICAL_PAGE_NO_WAIT); - } while (err < 0); + } while (status < B_OK); for (index = VADDR_TO_PTENT(start); index < 1024 && start < end; index++, start += B_PAGE_SIZE) { if (pt[index].present == 0) { @@ -588,19 +591,20 @@ { page_table_entry *pt; page_directory_entry *pd = map->arch_data->pgdir_virt; + status_t status; int index; - int err; int tlb_flush = false; index = VADDR_TO_PDENT(va); if (pd[index].present == 0) { // no pagetable here - return B_NO_ERROR; + return B_OK; } do { - err = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), (addr_t *)&pt, PHYSICAL_PAGE_NO_WAIT); - } while (err < 0); + status = get_physical_page_tmap(ADDR_REVERSE_SHIFT(pd[index].addr), + (addr_t *)&pt, PHYSICAL_PAGE_NO_WAIT); + } while (status < B_OK); index = VADDR_TO_PTENT(va); // clear out the flags we've been requested to clear Modified: haiku/trunk/src/system/kernel/lock.c =================================================================== --- haiku/trunk/src/system/kernel/lock.c 2007-02-07 13:50:50 UTC (rev 20098) +++ haiku/trunk/src/system/kernel/lock.c 2007-02-07 14:07:31 UTC (rev 20099) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2005, Axel D?rfler, axeld at pinc-software.de. All rights reserved. + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. * * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. @@ -18,12 +18,10 @@ #include -int +int32 recursive_lock_get_recursion(recursive_lock *lock) { - thread_id thid = thread_get_current_thread_id(); - - if (lock->holder == thid) + if (lock->holder == thread_get_current_thread_id()) return lock->recursion; return -1; @@ -61,41 +59,36 @@ } -bool +status_t recursive_lock_lock(recursive_lock *lock) { - thread_id thid = thread_get_current_thread_id(); - bool retval = false; + thread_id thread = thread_get_current_thread_id(); if (!kernel_startup && !are_interrupts_enabled()) panic("recursive_lock_lock: called with interrupts disabled for lock %p, sem %#lx\n", lock, lock->sem); - if (thid != lock->holder) { - acquire_sem(lock->sem); - - lock->holder = thid; - retval = true; + if (thread != lock->holder) { + status_t status = acquire_sem(lock->sem); + if (status < B_OK) + return status; + + lock->holder = thread; } lock->recursion++; - return retval; + return B_OK; } -bool +void recursive_lock_unlock(recursive_lock *lock) { - thread_id thid = thread_get_current_thread_id(); - bool retval = false; - - if (thid != lock->holder) + if (thread_get_current_thread_id() != lock->holder) panic("recursive_lock %p unlocked by non-holder thread!\n", lock); if (--lock->recursion == 0) { lock->holder = -1; release_sem(lock->sem); - retval = true; } - return retval; } @@ -135,22 +128,24 @@ } -void +status_t mutex_lock(mutex *mutex) { thread_id me = thread_get_current_thread_id(); + status_t status; - if (!kernel_startup && !are_interrupts_enabled()) - panic("mutex_lock: called with interrupts disabled for mutex %p, sem %#lx\n", mutex, mutex->sem); + if (kernel_startup) + return B_OK; - // ToDo: if acquire_sem() fails, we shouldn't panic - but we should definitely - // change the mutex API to actually return the status code - if (acquire_sem(mutex->sem) == B_OK) { - if (me == mutex->holder) - panic("mutex_lock failure: mutex %p (sem = 0x%lx) acquired twice by thread 0x%lx\n", mutex, mutex->sem, me); - } + status = acquire_sem(mutex->sem); + if (status < B_OK) + return status; + if (me == mutex->holder) + panic("mutex_lock failure: mutex %p (sem = 0x%lx) acquired twice by thread 0x%lx\n", mutex, mutex->sem, me); + mutex->holder = me; + return B_OK; } @@ -159,9 +154,13 @@ { thread_id me = thread_get_current_thread_id(); - if (me != mutex->holder) + if (kernel_startup) + return; + + if (me != mutex->holder) { panic("mutex_unlock failure: thread 0x%lx is trying to release mutex %p (current holder 0x%lx)\n", me, mutex, mutex->holder); + } mutex->holder = -1; release_sem(mutex->sem); Modified: haiku/trunk/src/system/kernel/sem.c =================================================================== --- haiku/trunk/src/system/kernel/sem.c 2007-02-07 13:50:50 UTC (rev 20098) +++ haiku/trunk/src/system/kernel/sem.c 2007-02-07 14:07:31 UTC (rev 20099) @@ -1,5 +1,5 @@ /* - * Copyright 2002-2006, Axel D?rfler, axeld at pinc-software.de. All rights reserved. + * Copyright 2002-2007, Axel D?rfler, axeld at pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. * * Copyright 2001, Travis Geiselbrecht. All rights reserved. @@ -521,10 +521,12 @@ int state; status_t status = B_OK; + if (kernel_startup) + return B_OK; if (sSemsActive == false) return B_NO_MORE_SEMS; - if (!kernel_startup && !are_interrupts_enabled()) + if (!are_interrupts_enabled()) panic("acquire_sem_etc: called with interrupts disabled for sem %#lx\n", id); if (id < 0) @@ -691,6 +693,8 @@ cpu_status state; status_t status = B_OK; + if (kernel_startup) + return B_OK; if (sSemsActive == false) return B_NO_MORE_SEMS; if (id < 0) From revol at free.fr Wed Feb 7 15:13:36 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Wed, 07 Feb 2007 15:13:36 +0100 CET Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <894b9700702070202n6266c680p91bc3f9f88799dc5@mail.gmail.com> Message-ID: <1213271061-BeMail@laptop> > > > When someone wants to make a change to some part he doesn't > > > maintain, > > > he posts the diff on the mailing list (this commit list ?), and > > > ask for > > > approval of the maintainer, who either says "apply" or "rejected, > > > because...". > > > > I'm all for it, especially if the changes are many, or they aren't > > obvious bug fixes. > > > Of course, who maintains what isn't always obvious :) Usually, if noone answered you for a week you can suppose noone opposes the patch. For non-obvious stuff it also leaves you some time to mature it and change your mind :) Fran?ois. From axeld at mail.berlios.de Wed Feb 7 15:13:37 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 15:13:37 +0100 Subject: [Haiku-commits] r20100 - haiku/trunk/src/add-ons/kernel/network/protocols/tcp Message-ID: <200702071413.l17EDbJD024813@sheep.berlios.de> Author: axeld Date: 2007-02-07 15:13:37 +0100 (Wed, 07 Feb 2007) New Revision: 20100 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20100&view=rev Modified: haiku/trunk/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp haiku/trunk/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp Log: * Fixed a race condition between deletion of the endpoint and canceling its timers; the timer functions could access invalid memory. * The endpoint manager now panics if a bound endpoint is not in the hash. Modified: haiku/trunk/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp 2007-02-07 14:07:31 UTC (rev 20099) +++ haiku/trunk/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp 2007-02-07 14:13:37 UTC (rev 20100) @@ -314,11 +314,14 @@ TCPEndpoint *other = _LookupEndpoint(gAddressModule->get_port((sockaddr *)&endpoint->socket->address)); if (other != endpoint) { // remove endpoint from the list of endpoints with the same port - while (other->fEndpointNextWithSamePort != endpoint) { + while (other != NULL && other->fEndpointNextWithSamePort != endpoint) { other = other->fEndpointNextWithSamePort; } - other->fEndpointNextWithSamePort = endpoint->fEndpointNextWithSamePort; + if (other != NULL) + other->fEndpointNextWithSamePort = endpoint->fEndpointNextWithSamePort; + else + panic("bound endpoint %p not in hash!", endpoint); } else { // we need to replace the first endpoint in the list hash_remove(fEndpointHash, endpoint); Modified: haiku/trunk/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp 2007-02-07 14:07:31 UTC (rev 20099) +++ haiku/trunk/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp 2007-02-07 14:13:37 UTC (rev 20100) @@ -102,6 +102,8 @@ TCPEndpoint::~TCPEndpoint() { + recursive_lock_lock(&fLock); + gStackModule->cancel_timer(&fRetransmitTimer); gStackModule->cancel_timer(&fPersistTimer); gStackModule->cancel_timer(&fDelayedAcknowledgeTimer); @@ -1215,6 +1217,8 @@ TCPEndpoint *endpoint = (TCPEndpoint *)data; RecursiveLocker locker(endpoint->Lock()); + if (!locker.IsLocked()) + return; endpoint->fSendNext = endpoint->fSendUnacknowledged; endpoint->_SendQueued(); @@ -1228,6 +1232,9 @@ TCPEndpoint *endpoint = (TCPEndpoint *)data; RecursiveLocker locker(endpoint->Lock()); + if (!locker.IsLocked()) + return; + endpoint->_SendQueued(true); } @@ -1238,6 +1245,9 @@ TCPEndpoint *endpoint = (TCPEndpoint *)data; RecursiveLocker locker(endpoint->Lock()); + if (!locker.IsLocked()) + return; + endpoint->_SendQueued(true); } @@ -1247,7 +1257,9 @@ { TCPEndpoint *endpoint = (TCPEndpoint *)data; - recursive_lock_lock(&endpoint->Lock()); + if (recursive_lock_lock(&endpoint->Lock()) < B_OK) + return; + gSocketModule->delete_socket(endpoint->socket); } From darkwyrm at earthlink.net Wed Feb 7 15:14:54 2007 From: darkwyrm at earthlink.net (DarkWyrm) Date: Wed, 07 Feb 2007 09:14:54 -0500 EST Subject: [Haiku-commits] r20086 - haiku/trunk/src/kits/tracker In-Reply-To: <18779343327-BeMail@zon> Message-ID: <547967471-BeMail@sapphire> > With the Tracker changes he actually did everything right except that > one misunderstanding. However, he also introduced minor bugs that > wouldn't have happened if he provided a patch for this; Tracker is a > complex codebase, and I don't expect anyone to get everything right > on > first try - and that makes a patch preferable for this one. Wow. Considering my lack of familiarity with the OT code, I'd say I did OK, then. A lesson for all of us to learn from. I already did. :-) --DW From wkornewald at haiku-os.org Wed Feb 7 15:22:08 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Wed, 7 Feb 2007 15:22:08 +0100 Subject: [Haiku-commits] r20096 - haiku/trunk/src/preferences/screen In-Reply-To: <24427576531-BeMail@zon> References: <200702071348.l17DmxTj023080@sheep.berlios.de> <24427576531-BeMail@zon> Message-ID: Hi Axel, On 2/7/07, Axel D?rfler wrote: > wkornewald at BerliOS wrote: > > @@ -107,7 +107,7 @@ > > AlertView::Pulse() > > { > > if (--fSeconds == 0) > > - Window()->PostMessage(BUTTON_REVERT_MSG); > > + Window()->PostMessage(SET_INITIAL_MODE_MSG); > > else > > UpdateCountdownView(); > > } > > @@ -117,7 +117,7 @@ > > AlertView::KeyDown(const char* bytes, int32 numBytes) > > { > > if (numBytes == 1 && bytes[0] == B_ESCAPE) > > - Window()->PostMessage(BUTTON_REVERT_MSG); > > + Window()->PostMessage(SET_INITIAL_MODE_MSG); > > } > > Is this an accidental change? It would be quite rude to let the user > stay in the dark (in case his monitor doesn't support the frequency > chosen). Or am I missing something? Maybe I should have changed the name of the constant (it already existed). SET_INITIAL_MODE_MSG is the new message constant for the Undo button, so when you press ESC or the countdown ends your changes will be reverted to the state before the user pressed Apply (which is the original behavior, BTW). Only the Revert button in the main dialog uses BUTTON_REVERT_MSG which resets to the state at program start. > > + // TODO: hard-coded to the current workspace limit > > + display_mode fOriginalDisplayMode[32]; > > + screen_mode fOriginal[32]; > > The whole Be API relies on 32 workspaces (because of the 32 bits used > for the workspaces mask at several places), so it's hardly worth a TODO > comment. > Maybe we should introduce a B_MAX_WORKSPACES_COUNT definition? Yes, that could be useful. Thanks for looking over the code! Bye, Waldemar Kornewald From wkornewald at mail.berlios.de Wed Feb 7 15:39:09 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Wed, 7 Feb 2007 15:39:09 +0100 Subject: [Haiku-commits] r20101 - haiku/trunk/src/preferences/screen Message-ID: <200702071439.l17Ed93w027133@sheep.berlios.de> Author: wkornewald Date: 2007-02-07 15:39:08 +0100 (Wed, 07 Feb 2007) New Revision: 20101 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20101&view=rev Modified: haiku/trunk/src/preferences/screen/AlertView.cpp haiku/trunk/src/preferences/screen/AlertWindow.cpp haiku/trunk/src/preferences/screen/Constants.h haiku/trunk/src/preferences/screen/ScreenApplication.cpp haiku/trunk/src/preferences/screen/ScreenMode.h haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: Renamed SET_INITIAL_MODE_MSG to BUTTON_UNDO_MSG. Modified: haiku/trunk/src/preferences/screen/AlertView.cpp =================================================================== --- haiku/trunk/src/preferences/screen/AlertView.cpp 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/AlertView.cpp 2007-02-07 14:39:08 UTC (rev 20101) @@ -52,7 +52,7 @@ AddChild(keepButton); BButton* button = new BButton(rect, "undo", "Undo", - new BMessage(SET_INITIAL_MODE_MSG), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); + new BMessage(BUTTON_UNDO_MSG), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); button->ResizeToPreferred(); AddChild(button); @@ -107,7 +107,7 @@ AlertView::Pulse() { if (--fSeconds == 0) - Window()->PostMessage(SET_INITIAL_MODE_MSG); + Window()->PostMessage(BUTTON_UNDO_MSG); else UpdateCountdownView(); } @@ -117,7 +117,7 @@ AlertView::KeyDown(const char* bytes, int32 numBytes) { if (numBytes == 1 && bytes[0] == B_ESCAPE) - Window()->PostMessage(SET_INITIAL_MODE_MSG); + Window()->PostMessage(BUTTON_UNDO_MSG); } Modified: haiku/trunk/src/preferences/screen/AlertWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/AlertWindow.cpp 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/AlertWindow.cpp 2007-02-07 14:39:08 UTC (rev 20101) @@ -43,8 +43,8 @@ PostMessage(B_QUIT_REQUESTED); break; - case SET_INITIAL_MODE_MSG: - fTarget.SendMessage(SET_INITIAL_MODE_MSG); + case BUTTON_UNDO_MSG: + fTarget.SendMessage(BUTTON_UNDO_MSG); PostMessage(B_QUIT_REQUESTED); break; Modified: haiku/trunk/src/preferences/screen/Constants.h =================================================================== --- haiku/trunk/src/preferences/screen/Constants.h 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/Constants.h 2007-02-07 14:39:08 UTC (rev 20101) @@ -21,6 +21,7 @@ static const uint32 BUTTON_APPLY_MSG = 'bapl'; static const uint32 BUTTON_DONE_MSG = 'bdon'; static const uint32 BUTTON_KEEP_MSG = 'bkep'; +static const uint32 BUTTON_UNDO_MSG = 'bund'; static const uint32 POP_WORKSPACE_CHANGED_MSG = 'pwsc'; static const uint32 POP_RESOLUTION_MSG = 'pres'; static const uint32 POP_COLORS_MSG = 'pclr'; @@ -34,7 +35,6 @@ static const uint32 UPDATE_DESKTOP_MSG = 'udsk'; static const uint32 SLIDER_MODIFICATION_MSG = 'sldm'; static const uint32 SLIDER_INVOKE_MSG = 'sldi'; -static const uint32 SET_INITIAL_MODE_MSG = 'sinm'; static const uint32 SET_CUSTOM_REFRESH_MSG = 'scrf'; static const uint32 DIM_COUNT_MSG = 'scrf'; static const uint32 MAKE_INITIAL_MSG = 'mkin'; Modified: haiku/trunk/src/preferences/screen/ScreenApplication.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenApplication.cpp 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/ScreenApplication.cpp 2007-02-07 14:39:08 UTC (rev 20101) @@ -43,7 +43,6 @@ ScreenApplication::MessageReceived(BMessage* message) { switch (message->what) { - case SET_INITIAL_MODE_MSG: case SET_CUSTOM_REFRESH_MSG: case MAKE_INITIAL_MSG: fScreenWindow->PostMessage(message); Modified: haiku/trunk/src/preferences/screen/ScreenMode.h =================================================================== --- haiku/trunk/src/preferences/screen/ScreenMode.h 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/ScreenMode.h 2007-02-07 14:39:08 UTC (rev 20101) @@ -62,7 +62,6 @@ uint32 fModeCount; bool fUpdatedModes; - // TODO: hard-coded to the current workspace limit display_mode fOriginalDisplayMode[32]; screen_mode fOriginal[32]; }; Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-07 14:13:37 UTC (rev 20100) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-07 14:39:08 UTC (rev 20101) @@ -916,7 +916,7 @@ break; } - case SET_INITIAL_MODE_MSG: + case BUTTON_UNDO_MSG: fTempScreenMode.Revert(); UpdateActiveMode(); break; From marcusoverhagen at arcor.de Wed Feb 7 15:40:12 2007 From: marcusoverhagen at arcor.de (Marcus Overhagen) Date: Wed, 7 Feb 2007 15:40:12 +0100 (CET) Subject: [Haiku-commits] r20095 - haiku/trunk/src/kits/interface In-Reply-To: <200702071332.l17DWUfK021788@sheep.berlios.de> References: <200702071332.l17DWUfK021788@sheep.berlios.de> Message-ID: <922866.1170859212164.JavaMail.ngmail@webmail17> wkornewald at BerliOS wrote: > Changed from B_ALL_WORKSPACES to ~0 because that's more readable. :) > - return fScreen->DesktopColor(B_ALL_WORKSPACES); > + return fScreen->DesktopColor(~0); > - fScreen->SetDesktopColor(rgb, B_ALL_WORKSPACES, stick); > + fScreen->SetDesktopColor(rgb, ~0, stick); etc. This is a really stupid change. Please revert it. Marcus Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: g?nstig und schnell mit DSL - das All-Inclusive-Paket f?r clevere Doppel-Sparer, nur 44,85 ? inkl. DSL- und ISDN-Grundgeb?hr! http://www.arcor.de/rd/emf-dsl-2 From wkornewald at mail.berlios.de Wed Feb 7 15:42:33 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Wed, 7 Feb 2007 15:42:33 +0100 Subject: [Haiku-commits] r20102 - haiku/trunk/src/kits/interface Message-ID: <200702071442.l17EgX60027301@sheep.berlios.de> Author: wkornewald Date: 2007-02-07 15:42:33 +0100 (Wed, 07 Feb 2007) New Revision: 20102 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20102&view=rev Modified: haiku/trunk/src/kits/interface/Screen.cpp Log: Changed from ~0 to kCurrentWorkspaceIndex which is actually readable. Modified: haiku/trunk/src/kits/interface/Screen.cpp =================================================================== --- haiku/trunk/src/kits/interface/Screen.cpp 2007-02-07 14:39:08 UTC (rev 20101) +++ haiku/trunk/src/kits/interface/Screen.cpp 2007-02-07 14:42:33 UTC (rev 20102) @@ -16,6 +16,8 @@ #include +static const uint32 kCurrentWorkspaceIndex = ~0; + /*! \brief Creates a BScreen object which represents the display with the given screen_id \param id The screen_id of the screen to get. @@ -233,7 +235,7 @@ BScreen::DesktopColor() { if (fScreen != NULL) - return fScreen->DesktopColor(~0); + return fScreen->DesktopColor(kCurrentWorkspaceIndex); return rgb_color(); } @@ -261,7 +263,7 @@ BScreen::SetDesktopColor(rgb_color rgb, bool stick) { if (fScreen != NULL) - fScreen->SetDesktopColor(rgb, ~0, stick); + fScreen->SetDesktopColor(rgb, kCurrentWorkspaceIndex, stick); } @@ -322,7 +324,7 @@ BScreen::GetMode(display_mode *mode) { if (fScreen != NULL) - return fScreen->GetMode(~0, mode); + return fScreen->GetMode(kCurrentWorkspaceIndex, mode); return B_ERROR; } @@ -350,7 +352,7 @@ BScreen::SetMode(display_mode *mode, bool makeDefault) { if (fScreen != NULL) - return fScreen->SetMode(~0, mode, makeDefault); + return fScreen->SetMode(kCurrentWorkspaceIndex, mode, makeDefault); return B_ERROR; } From wkornewald at haiku-os.org Wed Feb 7 15:43:29 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Wed, 7 Feb 2007 14:43:29 +0000 Subject: [Haiku-commits] r20095 - haiku/trunk/src/kits/interface In-Reply-To: <922866.1170859212164.JavaMail.ngmail@webmail17> References: <200702071332.l17DWUfK021788@sheep.berlios.de> <922866.1170859212164.JavaMail.ngmail@webmail17> Message-ID: On 2/7/07, Marcus Overhagen wrote: > wkornewald at BerliOS wrote: > > > Changed from B_ALL_WORKSPACES to ~0 because that's more readable. :) > > > - return fScreen->DesktopColor(B_ALL_WORKSPACES); > > + return fScreen->DesktopColor(~0); > > > - fScreen->SetDesktopColor(rgb, B_ALL_WORKSPACES, stick); > > + fScreen->SetDesktopColor(rgb, ~0, stick); > > etc. > > This is a really stupid change. Please revert it. I've changed it to kCurrentWorkspaceIndex because B_ALL_WORKSPACES actually means "current workspace" in this context. Bye, Waldemar Kornewald From axeld at mail.berlios.de Wed Feb 7 17:46:43 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 7 Feb 2007 17:46:43 +0100 Subject: [Haiku-commits] r20103 - haiku/trunk/src/add-ons/kernel/file_systems/bfs Message-ID: <200702071646.l17GkhrI003442@sheep.berlios.de> Author: axeld Date: 2007-02-07 17:46:42 +0100 (Wed, 07 Feb 2007) New Revision: 20103 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20103&view=rev Modified: haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.cpp haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.h Log: * Fixed a bug that would not remove an existing attribute from the small data section when the new attribute data was too large to fit into the small data section at all. This fixes the Trash icon update with a block size of 1024 bytes. * This also fixes a bug where AddSmallData() required you to write back the inode even if it failed with B_DEVICE_FULL, but no one did it. * _RemoveSmallData() no longer requires you to write the inode back on success. * Made most small data methods private. * WriteAttribute() now tries to put the data into the small data section even if it existed as a separate file before (the file is then removed). Modified: haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.cpp 2007-02-07 14:42:33 UTC (rev 20102) +++ haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.cpp 2007-02-07 16:46:42 UTC (rev 20103) @@ -355,7 +355,7 @@ */ status_t -Inode::MakeSpaceForSmallData(Transaction &transaction, bfs_inode *node, const char *name, +Inode::_MakeSpaceForSmallData(Transaction &transaction, bfs_inode *node, const char *name, int32 bytes) { ASSERT(fSmallDataLock.IsLocked()); @@ -454,12 +454,11 @@ /** Removes the given attribute from the small_data section. - * Note that you need to write back the inode yourself after having called - * that method. */ status_t -Inode::RemoveSmallData(Transaction &transaction, NodeGetter &nodeGetter, const char *name) +Inode::_RemoveSmallData(Transaction &transaction, NodeGetter &nodeGetter, + const char *name) { if (name == NULL) return B_BAD_VALUE; @@ -480,16 +479,20 @@ return B_ENTRY_NOT_FOUND; nodeGetter.MakeWritable(transaction); - return _RemoveSmallData(node, item, index); + status_t status = _RemoveSmallData(node, item, index); + if (status == B_OK) + status = WriteBack(transaction); + + return status; } /** Try to place the given attribute in the small_data section - if the * new attribute is too big to fit in that section, it returns B_DEVICE_FULL. * In that case, the attribute should be written to a real attribute file; - * if the attribute was already part of the small_data section, but the new - * one wouldn't fit, the old one is automatically removed from the small_data - * section. + * it's the caller's responsibility to remove any existing attributes in the small + * data section if that's the case. + * * Note that you need to write back the inode yourself after having called that * method - it's a bad API decision that it needs a transaction but enforces you * to write back the inode all by yourself, but it's just more efficient in most @@ -497,8 +500,8 @@ */ status_t -Inode::AddSmallData(Transaction &transaction, NodeGetter &nodeGetter, const char *name, - uint32 type, const uint8 *data, size_t length, bool force) +Inode::_AddSmallData(Transaction &transaction, NodeGetter &nodeGetter, + const char *name, uint32 type, const uint8 *data, size_t length, bool force) { bfs_inode *node = nodeGetter.WritableNode(); @@ -542,7 +545,7 @@ uint32 needed = length - item->DataSize() - (uint32)((uint8 *)node + fVolume->InodeSize() - (uint8 *)last); - if (MakeSpaceForSmallData(transaction, node, name, needed) < B_OK) + if (_MakeSpaceForSmallData(transaction, node, name, needed) < B_OK) return B_ERROR; // reset our pointers @@ -582,11 +585,6 @@ return B_OK; } - // Could not replace the old attribute, so remove it to let - // let the calling function create an attribute file for it - if (_RemoveSmallData(node, item, index) < B_OK) - return B_ERROR; - return B_DEVICE_FULL; } @@ -598,7 +596,7 @@ return B_DEVICE_FULL; // make room for the new attribute - if (MakeSpaceForSmallData(transaction, node, name, spaceNeeded) < B_OK) + if (_MakeSpaceForSmallData(transaction, node, name, spaceNeeded) < B_OK) return B_ERROR; // get new last item! @@ -644,7 +642,7 @@ */ status_t -Inode::GetNextSmallData(bfs_inode *node, small_data **_smallData) const +Inode::_GetNextSmallData(bfs_inode *node, small_data **_smallData) const { if (node == NULL) RETURN_ERROR(B_BAD_VALUE); @@ -680,7 +678,7 @@ ASSERT(fSmallDataLock.IsLocked()); small_data *smallData = NULL; - while (GetNextSmallData(const_cast(node), &smallData) == B_OK) { + while (_GetNextSmallData(const_cast(node), &smallData) == B_OK) { if (!strcmp(smallData->Name(), name)) return smallData; } @@ -699,7 +697,7 @@ ASSERT(fSmallDataLock.IsLocked()); small_data *smallData = NULL; - while (GetNextSmallData((bfs_inode *)node, &smallData) == B_OK) { + while (_GetNextSmallData((bfs_inode *)node, &smallData) == B_OK) { if (*smallData->Name() == FILE_NAME_NAME && smallData->NameSize() == FILE_NAME_NAME_LENGTH) return (const char *)smallData->Data(); @@ -743,11 +741,58 @@ NodeGetter node(fVolume, transaction, this); const char nameTag[2] = {FILE_NAME_NAME, 0}; - return AddSmallData(transaction, node, nameTag, FILE_NAME_TYPE, + return _AddSmallData(transaction, node, nameTag, FILE_NAME_TYPE, (uint8 *)name, strlen(name), true); } +status_t +Inode::_RemoveAttribute(Transaction &transaction, const char *name, + bool hasIndex, Index *index) +{ + // remove the attribute file if it exists + Vnode vnode(fVolume, Attributes()); + Inode *attributes; + status_t status = vnode.Get(&attributes); + if (status < B_OK) + return status; + + // update index + if (index != NULL) { + Inode *attribute; + if ((hasIndex || fVolume->CheckForLiveQuery(name)) + && GetAttribute(name, &attribute) == B_OK) { + uint8 data[BPLUSTREE_MAX_KEY_LENGTH]; + size_t length = BPLUSTREE_MAX_KEY_LENGTH; + if (attribute->ReadAt(0, data, &length) == B_OK) { + index->Update(transaction, name, attribute->Type(), data, + length, NULL, 0, this); + } + + ReleaseAttribute(attribute); + } + } + + if ((status = attributes->Remove(transaction, name)) < B_OK) + return status; + + if (attributes->IsEmpty()) { + // remove attribute directory (don't fail if that can't be done) + if (remove_vnode(fVolume->ID(), attributes->ID()) == B_OK) { + // update the inode, so that no one will ever doubt it's deleted :-) + attributes->Node().flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_DELETED); + if (attributes->WriteBack(transaction) == B_OK) { + Attributes().SetTo(0, 0, 0); + WriteBack(transaction); + } else + unremove_vnode(fVolume->ID(), attributes->ID()); + } + } + + return status; +} + + /** Reads data from the specified attribute. * This is a high-level attribute function that understands attributes * in the small_data section as well as real attribute files. @@ -838,9 +883,17 @@ // if the attribute doesn't exist yet (as a file), try to put it in the // small_data section first - if that fails (due to insufficent space), // create a real attribute file - status = AddSmallData(transaction, node, name, type, buffer, *_length); + status = _AddSmallData(transaction, node, name, type, buffer, *_length); if (status == B_DEVICE_FULL) { - status = CreateAttribute(transaction, name, type, &attribute); + if (smallData != NULL) { + // remove the old attribute from the small data section - there + // is no space left for the new data + status = _RemoveSmallData(transaction, node, name); + } else + status = B_OK; + + if (status == B_OK) + status = CreateAttribute(transaction, name, type, &attribute); if (status < B_OK) RETURN_ERROR(status); } else if (status == B_OK) @@ -855,15 +908,23 @@ if (attribute->ReadAt(0, oldBuffer, &oldLength) == B_OK) oldData = oldBuffer; } - // ToDo: check if the data fits in the inode now and delete the attribute file if so - status = attribute->WriteAt(transaction, pos, buffer, _length); + + // check if the data fits into the small_data section again + NodeGetter node(fVolume, transaction, this); + status = _AddSmallData(transaction, node, name, type, buffer, *_length); if (status == B_OK) { - // The attribute type might have been changed - we need to adopt - // the new one - the attribute's inode will be written back on close - attribute->Node().type = HOST_ENDIAN_TO_BFS_INT32(type); + // it does - remove its file + status = _RemoveAttribute(transaction, name, false, NULL); + } else { + status = attribute->WriteAt(transaction, pos, buffer, _length); + if (status == B_OK) { + // The attribute type might have been changed - we need to adopt + // the new one - the attribute's inode will be written back on close + attribute->Node().type = HOST_ENDIAN_TO_BFS_INT32(type); + } + + attribute->Lock().UnlockWrite(); } - - attribute->Lock().UnlockWrite(); } else status = B_ERROR; @@ -914,43 +975,10 @@ fSmallDataLock.Unlock(); } - status_t status = RemoveSmallData(transaction, node, name); - if (status == B_OK) { - WriteBack(transaction); - } else if (status == B_ENTRY_NOT_FOUND && !Attributes().IsZero()) { + status_t status = _RemoveSmallData(transaction, node, name); + if (status == B_ENTRY_NOT_FOUND && !Attributes().IsZero()) { // remove the attribute file if it exists - Vnode vnode(fVolume, Attributes()); - Inode *attributes; - if ((status = vnode.Get(&attributes)) < B_OK) - return status; - - // update index - Inode *attribute; - if ((hasIndex || fVolume->CheckForLiveQuery(name)) - && GetAttribute(name, &attribute) == B_OK) { - uint8 data[BPLUSTREE_MAX_KEY_LENGTH]; - size_t length = BPLUSTREE_MAX_KEY_LENGTH; - if (attribute->ReadAt(0, data, &length) == B_OK) - index.Update(transaction, name, attribute->Type(), data, length, NULL, 0, this); - - ReleaseAttribute(attribute); - } - - if ((status = attributes->Remove(transaction, name)) < B_OK) - return status; - - if (attributes->IsEmpty()) { - // remove attribute directory (don't fail if that can't be done) - if (remove_vnode(fVolume->ID(), attributes->ID()) == B_OK) { - // update the inode, so that no one will ever doubt it's deleted :-) - attributes->Node().flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_DELETED); - if (attributes->WriteBack(transaction) == B_OK) { - Attributes().SetTo(0, 0, 0); - WriteBack(transaction); - } else - unremove_vnode(fVolume->ID(), attributes->ID()); - } - } + status = _RemoveAttribute(transaction, name, hasIndex, &index); } return status; } Modified: haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.h =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.h 2007-02-07 14:42:33 UTC (rev 20102) +++ haiku/trunk/src/add-ons/kernel/file_systems/bfs/Inode.h 2007-02-07 16:46:42 UTC (rev 20103) @@ -1,5 +1,4 @@ -/* Inode - inode access functions - * +/* * Copyright 2001-2007, Axel D?rfler, axeld at pinc-software.de. * This file may be used under the terms of the MIT License. */ @@ -31,6 +30,7 @@ class BPlusTree; class TreeIterator; class AttributeIterator; +class Index; class InodeAllocator; class NodeGetter; @@ -94,11 +94,6 @@ status_t CheckPermissions(int accessMode) const; // small_data access methods - status_t MakeSpaceForSmallData(Transaction &transaction, bfs_inode *node, const char *name, int32 length); - status_t RemoveSmallData(Transaction &transaction, NodeGetter &node, const char *name); - status_t AddSmallData(Transaction &transaction, NodeGetter &node, const char *name, uint32 type, - const uint8 *data, size_t length, bool force = false); - status_t GetNextSmallData(bfs_inode *node, small_data **_smallData) const; small_data *FindSmallData(const bfs_inode *node, const char *name) const; const char *Name(const bfs_inode *node) const; status_t GetName(char *buffer, size_t bufferSize = B_FILE_NAME_LENGTH) const; @@ -159,7 +154,18 @@ friend class AttributeIterator; friend class InodeAllocator; + // small_data access methods + status_t _MakeSpaceForSmallData(Transaction &transaction, bfs_inode *node, + const char *name, int32 length); + status_t _RemoveSmallData(Transaction &transaction, NodeGetter &node, + const char *name); + status_t _AddSmallData(Transaction &transaction, NodeGetter &node, + const char *name, uint32 type, const uint8 *data, size_t length, + bool force = false); + status_t _GetNextSmallData(bfs_inode *node, small_data **_smallData) const; status_t _RemoveSmallData(bfs_inode *node, small_data *item, int32 index); + status_t _RemoveAttribute(Transaction &transaction, const char *name, + bool hasIndex, Index *index); void _AddIterator(AttributeIterator *iterator); void _RemoveIterator(AttributeIterator *iterator); From darkwyrm at mail.berlios.de Wed Feb 7 18:19:36 2007 From: darkwyrm at mail.berlios.de (darkwyrm at BerliOS) Date: Wed, 7 Feb 2007 18:19:36 +0100 Subject: [Haiku-commits] r20104 - haiku/trunk/src/apps/cdplayer Message-ID: <200702071719.l17HJa89005955@sheep.berlios.de> Author: darkwyrm Date: 2007-02-07 18:18:55 +0100 (Wed, 07 Feb 2007) New Revision: 20104 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20104&view=rev Added: haiku/trunk/src/apps/cdplayer/ButtonBitmaps.h haiku/trunk/src/apps/cdplayer/DrawingTidbits.cpp haiku/trunk/src/apps/cdplayer/DrawingTidbits.h haiku/trunk/src/apps/cdplayer/VolumeSlider.cpp haiku/trunk/src/apps/cdplayer/VolumeSlider.h Modified: haiku/trunk/src/apps/cdplayer/CDAudioDevice.cpp haiku/trunk/src/apps/cdplayer/CDAudioDevice.h haiku/trunk/src/apps/cdplayer/CDDBSupport.cpp haiku/trunk/src/apps/cdplayer/CDPlayer.cpp haiku/trunk/src/apps/cdplayer/CDPlayer.h haiku/trunk/src/apps/cdplayer/CDPlayer.rdef haiku/trunk/src/apps/cdplayer/DoubleShotDrawButton.cpp haiku/trunk/src/apps/cdplayer/DoubleShotDrawButton.h haiku/trunk/src/apps/cdplayer/DrawButton.cpp haiku/trunk/src/apps/cdplayer/DrawButton.h haiku/trunk/src/apps/cdplayer/Jamfile haiku/trunk/src/apps/cdplayer/TwoStateDrawButton.cpp haiku/trunk/src/apps/cdplayer/TwoStateDrawButton.h Log: Retooled the GUI for the app - much easier on the eyes, fits in better with MediaPlayer (and looks better ;-) and flicker is no longer a problem. Header has been added to files Style updates to source files, also. I may have missed a bit, but it sure is much closer than before Added: haiku/trunk/src/apps/cdplayer/ButtonBitmaps.h =================================================================== --- haiku/trunk/src/apps/cdplayer/ButtonBitmaps.h 2007-02-07 16:46:42 UTC (rev 20103) +++ haiku/trunk/src/apps/cdplayer/ButtonBitmaps.h 2007-02-07 17:18:55 UTC (rev 20104) @@ -0,0 +1,1399 @@ +/* + * Copyright 2006, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * Stephan A?mus + */ + +// NOTE: The images in here originate from Be Sample code. They have been +// integrated in the BeOS interface for the VLC Media Player code. When I +// worked on VLC during the 0.4.3-0.4.6 times, I reworked the bitmaps, and +// all code left in this file is from my own work on the Be Sample code +// buttons. -Stephan A?mus + +#ifndef BUTTON_BITMAPS_H +#define BUTTON_BITMAPS_H + + +// #pragma mark play + +const int32 kPlayPauseBitmapWidth = 48; +const int32 kPlayPauseBitmapHeight = 21; + +const unsigned char kPlayButtonBitmapBits [] = { + 0xff,0xff,0xff,0xff,0xff,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0x1a,0x18,0x14,0x10,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0xff,0xff,0xff, + 0xff,0xff,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19,0x12,0x12,0x16,0x19,0xff,0xff, + 0xff,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0xff, + 0xff,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x19,0x16,0x19,0xff, + 0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x00,0x00, + 0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x00,0x10,0x1a,0x1a, + 0x00,0x00,0x00,0x10,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1b, + 0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x12,0x1c, + 0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1d, + 0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x10,0x1d, + 0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x3f,0x3f, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x10,0x3f,0x3f,0x3f,0x1a,0x1a, + 0x10,0x3f,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x0c,0x19,0x1d, + 0xff,0xff,0x19,0x17,0x16,0x17,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d, + 0xff,0xff,0xff,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x12,0x0b,0x10,0x1c,0x1d,0x1c, + 0xff,0xff,0xff,0xff,0xff,0x16,0x10,0x10,0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0xff, + 0xff,0xff,0xff,0xff,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f,0x19,0x1e,0x1e,0x1c,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0x1c,0x1c,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0xff,0xff,0xff,0xff,0xff +}; + +const unsigned char kDisabledPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x16,0x16, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x16,0x1b,0x1b,0x1b, + 0x16,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x1c,0x1b,0x1b, + 0x16,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x1c,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1b,0x1b, + 0x1b,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b +}; + +const unsigned char kPressedPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e,0x12,0x14,0x18,0x1a,0x1a,0x1b, + 0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x0f,0x0f,0x13,0x16,0x19,0x1a, + 0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x13,0x18,0x1b, + 0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x00, + 0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x00,0x10,0x13, + 0x13,0x00,0x00,0x00,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x16,0x1c, + 0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x18,0x1c, + 0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x19, + 0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x10,0x19,0x19,0x19,0x13, + 0x13,0x10,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x12,0x11,0x11,0x18,0x1b,0x1c, + 0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10,0x11,0x16,0x1b,0x1c,0x1d,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0e, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1c,0x1d,0x1d,0x1c,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b +}; + +const unsigned char kPlayingPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19,0x12,0x12,0x16,0x19,0x1b,0x1b, + 0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x19,0x16,0x19,0x1a, + 0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x00,0x00, + 0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x00,0x10,0x1a,0x1a, + 0x00,0x00,0x00,0x10,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1b, + 0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x34,0x34,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x12,0x1c, + 0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x34,0x34,0x34,0x34,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x34,0x34,0x34,0x34,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1d, + 0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x34,0x34,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x34, + 0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x3f,0x1a,0x1a, + 0x00,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x10,0x1d, + 0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x3f,0x3f, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x10,0x3f,0x3f,0x3f,0x1a,0x1a, + 0x10,0x3f,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x0c,0x19,0x1d, + 0x1b,0x1b,0x19,0x17,0x16,0x17,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d, + 0x1b,0x1b,0x1b,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x12,0x0b,0x10,0x1c,0x1d,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x10,0x10,0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f,0x19,0x1e,0x1e,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b +}; + +const unsigned char kPressedPlayingPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e,0x12,0x14,0x18,0x1a,0x1a,0x1b, + 0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x0f,0x0f,0x13,0x16,0x19,0x1a, + 0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x13,0x18,0x1b, + 0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x00, + 0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x00,0x10,0x13, + 0x13,0x00,0x00,0x00,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x34,0x34,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x34,0x34,0x34,0x34,0x00,0x00,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x16,0x1c, + 0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x34,0x34,0x34,0x34,0x19,0x19,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x34,0x34,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x18,0x1c, + 0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10,0x19,0x13, + 0x13,0x00,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x19, + 0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x10,0x19,0x19,0x19,0x13, + 0x13,0x10,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x12,0x11,0x11,0x18,0x1b,0x1c, + 0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10,0x11,0x16,0x1b,0x1c,0x1d,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1c,0x1d,0x1d,0x1c,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b +}; + +const unsigned char kPausedPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19,0x12,0x12,0x16,0x19,0x1b,0x1b, + 0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x19,0x16,0x19,0x1a, + 0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x00,0x00, + 0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x00,0x10,0x1a,0x1a, + 0x00,0x00,0x00,0x10,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1b, + 0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x12,0x1c, + 0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1d, + 0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x34,0x34,0x3f,0x1a,0x1a, + 0x00,0x34,0x34,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x10,0x1d, + 0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x3f,0x3f, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x10,0x3f,0x3f,0x3f,0x1a,0x1a, + 0x10,0x3f,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x0c,0x19,0x1d, + 0x1b,0x1b,0x19,0x17,0x16,0x17,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d, + 0x1b,0x1b,0x1b,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x12,0x0b,0x10,0x1c,0x1d,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x10,0x10,0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f,0x19,0x1e,0x1e,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b +}; + +const unsigned char kPressedPausedPlayButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e,0x12,0x14,0x18,0x1a,0x1a,0x1b, + 0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x0f,0x0f,0x13,0x16,0x19,0x1a, + 0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x13,0x18,0x1b, + 0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x00, + 0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x00,0x10,0x13, + 0x13,0x00,0x00,0x00,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x16,0x1c, + 0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x18,0x1c, + 0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x19,0x13, + 0x13,0x00,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x19, + 0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x10,0x19,0x19,0x19,0x13, + 0x13,0x10,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x12,0x11,0x11,0x18,0x1b,0x1c, + 0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10,0x11,0x16,0x1b,0x1c,0x1d,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1c,0x1d,0x1d,0x1c,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b +}; + +// #pragma mark stop + +const int32 kStopBitmapWidth = 31; +const int32 kStopBitmapHeight = 21; + +const unsigned char kStopButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19,0x12,0x12,0x16,0x19,0x1b,0x1b,0x3f, + 0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b,0x3f, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x19,0x16,0x19,0x1a,0x3f, + 0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a,0x3f, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x10,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1b,0x3f, + 0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b,0x3f, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x12,0x1c,0x3f, + 0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c,0x3f, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1d,0x3f, + 0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d,0x3f, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x10,0x1d,0x3f, + 0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x10,0x3f,0x3f,0x3f, + 0x3f,0x3f,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d,0x3f, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x12,0x0c,0x19,0x1d,0x3f, + 0x1b,0x1b,0x19,0x17,0x16,0x17,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d,0x3f, + 0x1b,0x1b,0x1b,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x12,0x0b,0x10,0x1c,0x1d,0x1c,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x10,0x10,0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f,0x19,0x1e,0x1e,0x1c,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f +}; + + +const unsigned char kDisabledStopButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f +}; + + +const unsigned char kPressedStopButtonBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e,0x12,0x14,0x18,0x1a,0x1a,0x1b,0x3f, + 0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d,0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a,0x3f, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x0f,0x0f,0x13,0x16,0x19,0x1a,0x3f, + 0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a,0x3f, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x13,0x18,0x1b,0x3f, + 0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b,0x3f, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c,0x3f, + 0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c,0x3f, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x16,0x1c,0x3f, + 0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c,0x3f, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x18,0x1c,0x3f, + 0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x10,0x10, + 0x10,0x10,0x10,0x10,0x19,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c,0x3f, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x12,0x11,0x11,0x18,0x1b,0x1c,0x3f, + 0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c,0x3f, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10,0x11,0x16,0x1b,0x1c,0x1d,0x1c,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b,0x1c,0x1d,0x1d,0x1c,0x1c,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x3f +}; + +// #pragma mark rewind + +const int32 kRewindBitmapWidth = 38; +const int32 kRewindBitmapHeight = 21; + +const unsigned char kRewindBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16, + 0x19,0x1a,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19, + 0x12,0x12,0x16,0x19,0x1b,0x1b,0x3f,0x3f,0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e, + 0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b,0x3f,0x3f, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1b,0x1b,0x19,0x16,0x19,0x1a,0x3f,0x3f,0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a,0x3f,0x3f, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x17,0x18,0x1b,0x3f,0x3f,0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x00, + 0x00,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b,0x3f,0x3f, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x17,0x17, + 0x17,0x3f,0x1a,0x1a,0x1a,0x00,0x00,0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x16,0x12,0x1c,0x3f,0x3f,0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x00,0x00,0x17,0x17,0x17,0x17,0x17,0x3f,0x1a,0x00,0x00,0x17,0x17,0x17, + 0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c,0x3f,0x3f, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x17,0x17,0x17,0x17, + 0x17,0x3f,0x1a,0x3f,0x3f,0x17,0x17,0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x16,0x0f,0x1d,0x3f,0x3f,0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x17,0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x3f,0x3f,0x17, + 0x17,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d,0x3f,0x3f, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f, + 0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x18,0x12,0x10,0x1d,0x3f,0x3f,0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d,0x3f,0x3f, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x18,0x12,0x0c,0x19,0x1d,0x3f,0x3f,0x1b,0x1b,0x19,0x17,0x16,0x17,0x19,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16, + 0x12,0x0b,0x10,0x1c,0x1d,0x1c,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x10,0x10, + 0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f, + 0x19,0x1e,0x1e,0x1c,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1d, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c, + 0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + + +const unsigned char kDisabledRewindBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16, + 0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f,0x3f,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x16, + 0x16,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f,0x3f, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x19,0x19, + 0x19,0x1c,0x1b,0x1b,0x1b,0x16,0x16,0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f,0x3f,0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x16,0x16,0x19,0x19,0x19,0x19,0x19,0x1c,0x1b,0x16,0x16,0x19,0x19,0x19, + 0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f,0x3f, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x19,0x19,0x19, + 0x19,0x1c,0x1b,0x1c,0x1c,0x19,0x19,0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f,0x3f,0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1c,0x1c,0x19, + 0x19,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f,0x3f, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c, + 0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f,0x3f,0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18, + 0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + + +const unsigned char kPressedRewindBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19, + 0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13, + 0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e, + 0x12,0x14,0x18,0x1a,0x1a,0x1b,0x3f,0x3f,0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d, + 0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a,0x3f,0x3f, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11, + 0x0f,0x0f,0x13,0x16,0x19,0x1a,0x3f,0x3f,0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a,0x3f,0x3f, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x12,0x0f,0x13,0x18,0x1b,0x3f,0x3f,0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b,0x3f,0x3f, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00, + 0x00,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x34,0x19,0x13,0x13,0x13,0x13, + 0x13,0x13,0x12,0x10,0x16,0x1c,0x3f,0x3f,0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x34,0x34,0x34,0x19,0x13,0x13,0x13,0x00,0x00, + 0x34,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c,0x3f,0x3f, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x34,0x34,0x34, + 0x34,0x34,0x19,0x13,0x00,0x00,0x34,0x34,0x34,0x34,0x34,0x19,0x13,0x13,0x13,0x13, + 0x13,0x13,0x12,0x0f,0x16,0x1c,0x3f,0x3f,0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x19,0x19,0x34,0x34,0x34,0x34,0x34,0x19,0x13,0x19,0x19,0x34,0x34, + 0x34,0x34,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c,0x3f,0x3f, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x34, + 0x34,0x34,0x19,0x13,0x13,0x13,0x19,0x19,0x34,0x34,0x34,0x19,0x13,0x13,0x13,0x13, + 0x13,0x13,0x11,0x11,0x18,0x1c,0x3f,0x3f,0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x34,0x19,0x13,0x13,0x13,0x13,0x13, + 0x19,0x19,0x34,0x19,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c,0x3f,0x3f, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13,0x13,0x13,0x13, + 0x12,0x11,0x11,0x18,0x1b,0x1c,0x3f,0x3f,0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10, + 0x11,0x16,0x1b,0x1c,0x1d,0x1c,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b, + 0x1c,0x1d,0x1d,0x1c,0x1c,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + +const unsigned char kForwardBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16, + 0x19,0x1a,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19, + 0x12,0x12,0x16,0x19,0x1b,0x1b,0x3f,0x3f,0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e, + 0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b,0x3f,0x3f, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1b,0x1b,0x19,0x16,0x19,0x1a,0x3f,0x3f,0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a,0x3f,0x3f, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x17,0x18,0x1b,0x3f,0x3f,0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x00, + 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b,0x3f,0x3f, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x00,0x00,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x16,0x12,0x1c,0x3f,0x3f,0x14,0x0f,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17,0x17,0x17,0x00,0x00,0x1a,0x00,0x17,0x17, + 0x17,0x17,0x17,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x0f,0x1c,0x3f,0x3f, + 0x14,0x10,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17, + 0x17,0x17,0x3f,0x3f,0x1a,0x00,0x17,0x17,0x17,0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x16,0x0f,0x1d,0x3f,0x3f,0x16,0x11,0x1b,0x1b,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x17,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x00,0x17,0x17, + 0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x14,0x0e,0x1d,0x3f,0x3f, + 0x17,0x13,0x19,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x3f,0x3f, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x17,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x18,0x12,0x10,0x1d,0x3f,0x3f,0x18,0x16,0x17,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x3f,0x3f,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16,0x0f,0x13,0x1d,0x3f,0x3f, + 0x1a,0x19,0x17,0x18,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x18,0x12,0x0c,0x19,0x1d,0x3f,0x3f,0x1b,0x1b,0x19,0x17,0x16,0x17,0x19,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x18,0x13,0x0c,0x13,0x1e,0x1d,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1a,0x16,0x13,0x16,0x17,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x19,0x16, + 0x12,0x0b,0x10,0x1c,0x1d,0x1c,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x10,0x10, + 0x12,0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14, + 0x14,0x14,0x14,0x14,0x14,0x13,0x11,0x0d,0x0a,0x11,0x1c,0x1e,0x1c,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x19,0x13,0x0f,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, + 0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0f, + 0x19,0x1e,0x1e,0x1c,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1d, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x1c,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c, + 0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + +const unsigned char kDisabledForwardBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18,0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16, + 0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f,0x3f,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x16, + 0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f,0x3f, + 0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x16,0x16,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f,0x3f,0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19,0x19,0x19,0x16,0x16,0x1b,0x16,0x19,0x19, + 0x19,0x19,0x19,0x16,0x16,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f,0x3f, + 0x1b,0x13,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19, + 0x19,0x19,0x1c,0x1c,0x1b,0x16,0x19,0x19,0x19,0x19,0x19,0x1c,0x1c,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x13,0x1b,0x3f,0x3f,0x1b,0x14,0x19,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x19,0x19,0x1c,0x1c,0x1b,0x1b,0x1b,0x16,0x19,0x19, + 0x19,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x19,0x14,0x1b,0x3f,0x3f, + 0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x1c,0x1c, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x19,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x18,0x16,0x1b,0x3f,0x3f,0x1b,0x18,0x16,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x16,0x18,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x18,0x16,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x19,0x16,0x1a,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x16,0x19,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x18,0x16,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x18,0x16,0x18,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x19,0x16,0x16,0x18, + 0x18,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19, + 0x19,0x19,0x19,0x19,0x19,0x18,0x18,0x16,0x16,0x19,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, + 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x18, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + +const unsigned char kPressedForwardBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x19,0x18,0x18,0x18,0x17,0x17,0x17,0x17,0x17, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x18,0x19, + 0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13, + 0x12,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x18,0x14,0x11,0x0d,0x0b,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0c,0x0e, + 0x12,0x14,0x18,0x1a,0x1a,0x1b,0x3f,0x3f,0x1b,0x1a,0x17,0x13,0x0e,0x0b,0x0c,0x0d, + 0x0f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x0f,0x0d,0x0d,0x0f,0x11,0x14,0x18,0x1a,0x1a,0x3f,0x3f, + 0x1a,0x18,0x13,0x0d,0x0c,0x0e,0x11,0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11, + 0x0f,0x0f,0x13,0x16,0x19,0x1a,0x3f,0x3f,0x19,0x14,0x0e,0x0c,0x0f,0x12,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x0f,0x10,0x16,0x18,0x1a,0x3f,0x3f, + 0x17,0x11,0x0c,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x12,0x0f,0x13,0x18,0x1b,0x3f,0x3f,0x16,0x0d,0x0d,0x11,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x00, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x10,0x17,0x1b,0x3f,0x3f, + 0x14,0x0d,0x0e,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x00, + 0x00,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x12,0x10,0x16,0x1c,0x3f,0x3f,0x14,0x0d,0x0f,0x12,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x34,0x00,0x00,0x13,0x13,0x13,0x00,0x34, + 0x34,0x34,0x00,0x00,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x16,0x1c,0x3f,0x3f, + 0x14,0x0e,0x10,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x34,0x34,0x00,0x00,0x13,0x00,0x34,0x34,0x34,0x34,0x34,0x00,0x00,0x13,0x13, + 0x13,0x13,0x12,0x0f,0x16,0x1c,0x3f,0x3f,0x16,0x0e,0x0f,0x12,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34,0x34,0x34,0x34,0x19,0x19,0x13,0x00,0x34, + 0x34,0x34,0x34,0x34,0x19,0x19,0x13,0x13,0x13,0x13,0x12,0x10,0x17,0x1c,0x3f,0x3f, + 0x17,0x10,0x0f,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x34, + 0x34,0x19,0x19,0x13,0x13,0x13,0x00,0x34,0x34,0x34,0x19,0x19,0x13,0x13,0x13,0x13, + 0x13,0x13,0x11,0x11,0x18,0x1c,0x3f,0x3f,0x18,0x12,0x0f,0x10,0x12,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x00,0x34,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x00,0x34, + 0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x10,0x13,0x1a,0x1c,0x3f,0x3f, + 0x1a,0x16,0x11,0x0f,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x12,0x11,0x11,0x18,0x1b,0x1c,0x3f,0x3f,0x1b,0x1a,0x16,0x11,0x0f,0x11,0x12,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13, + 0x13,0x13,0x13,0x13,0x13,0x13,0x12,0x12,0x11,0x10,0x16,0x1b,0x1d,0x1c,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x16,0x12,0x10,0x10,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10, + 0x11,0x16,0x1b,0x1c,0x1d,0x1c,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x18,0x16,0x12,0x10, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x14,0x19,0x1b,0x1d,0x1d,0x1c,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1c,0x1a,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1b, + 0x1c,0x1d,0x1d,0x1c,0x1c,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d, + 0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1d,0x1c,0x1c,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1b,0x1b,0x1b,0x1b,0x3f,0x3f +}; + + +// #pragma mark skip back + +const unsigned char kSkipBackBitmapBits [] = { + 0x1b,0x1b,0x1b,0x1b,0x1a,0x19,0x17,0x14,0x13,0x11,0x10,0x10,0x10,0x10,0x10,0x10, + 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14, + 0x16,0x19,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,0x1b,0x1a,0x18,0x14,0x10,0x0d, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b, + 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0f,0x13,0x17,0x1a,0x1b,0x1b,0x1b,0x3f,0x3f, + 0x1b,0x1b,0x1a,0x17,0x11,0x0b,0x10,0x16,0x1a,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1e, + 0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1d,0x19, + 0x12,0x12,0x16,0x19,0x1b,0x1b,0x3f,0x3f,0x1b,0x1a,0x17,0x10,0x0d,0x16,0x1e,0x1e, + 0x1d,0x1d,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, + 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x18,0x14,0x17,0x1a,0x1b,0x3f,0x3f, + 0x1a,0x18,0x11,0x0d,0x18,0x1e,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1b,0x1b,0x19,0x16,0x19,0x1a,0x3f,0x3f,0x19,0x14,0x0c,0x16,0x1e,0x1c,0x1b,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x17,0x18,0x1a,0x3f,0x3f, + 0x17,0x11,0x10,0x1d,0x1c,0x1b,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x00,0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x1a,0x1a,0x1a, + 0x1a,0x1a,0x1a,0x17,0x18,0x1b,0x3f,0x3f,0x16,0x0f,0x17,0x1d,0x1b,0x1a,0x1a,0x1a, + 0x1a,0x00,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x17,0x3f,0x1a,0x1a,0x1a,0x1a, + 0x1a,0x00,0x00,0x17,0x3f,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x16,0x16,0x1b,0x3f,0x3f, + 0x14,0x0f,0x1b,0x1c,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x3f,0x1a,0x1a,0x1a,0x00,0x00, [... truncated: 5863 lines follow ...] From korli at mail.berlios.de Wed Feb 7 20:46:22 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 20:46:22 +0100 Subject: [Haiku-commits] r20105 - haiku/vendor Message-ID: <200702071946.l17JkMUt026989@sheep.berlios.de> Author: korli Date: 2007-02-07 20:46:22 +0100 (Wed, 07 Feb 2007) New Revision: 20105 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20105&view=rev Added: haiku/vendor/mesa/ Log: a folder for Mesa From korli at mail.berlios.de Wed Feb 7 21:00:44 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:00:44 +0100 Subject: [Haiku-commits] r20106 - in haiku/vendor/mesa: . current current/headers Message-ID: <200702072000.l17K0idv028448@sheep.berlios.de> Author: korli Date: 2007-02-07 21:00:44 +0100 (Wed, 07 Feb 2007) New Revision: 20106 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20106&view=rev Added: haiku/vendor/mesa/current/ haiku/vendor/mesa/current/headers/ haiku/vendor/mesa/current/headers/private/ haiku/vendor/mesa/current/headers/public/ haiku/vendor/mesa/current/src/ Log: copied our current Mesa, supposed to be version 6.3, with little fixes which can be dropped Copied: haiku/vendor/mesa/current/headers/private (from rev 20105, haiku/trunk/headers/private/opengl/GL) Copied: haiku/vendor/mesa/current/headers/public (from rev 20105, haiku/trunk/headers/os/opengl/GL) Copied: haiku/vendor/mesa/current/src (from rev 20105, haiku/trunk/src/kits/opengl/mesa) From korli at mail.berlios.de Wed Feb 7 21:02:27 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:02:27 +0100 Subject: [Haiku-commits] r20107 - haiku/vendor/mesa/current/src Message-ID: <200702072002.l17K2R6E028649@sheep.berlios.de> Author: korli Date: 2007-02-07 21:02:26 +0100 (Wed, 07 Feb 2007) New Revision: 20107 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20107&view=rev Removed: haiku/vendor/mesa/current/src/Jamfile Log: no Jamfile in releases Deleted: haiku/vendor/mesa/current/src/Jamfile From korli at mail.berlios.de Wed Feb 7 21:04:05 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:04:05 +0100 Subject: [Haiku-commits] r20108 - haiku/vendor/mesa Message-ID: <200702072004.l17K45Qd028783@sheep.berlios.de> Author: korli Date: 2007-02-07 21:04:05 +0100 (Wed, 07 Feb 2007) New Revision: 20108 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20108&view=rev Added: haiku/vendor/mesa/6.3/ Log: tagging Mesa 6.3 Copied: haiku/vendor/mesa/6.3 (from rev 20107, haiku/vendor/mesa/current) From korli at mail.berlios.de Wed Feb 7 21:12:53 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:12:53 +0100 Subject: [Haiku-commits] r20109 - in haiku/vendor/mesa/current: . glu glut Message-ID: <200702072012.l17KCrBG029562@sheep.berlios.de> Author: korli Date: 2007-02-07 21:12:52 +0100 (Wed, 07 Feb 2007) New Revision: 20109 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20109&view=rev Added: haiku/vendor/mesa/current/glu/ haiku/vendor/mesa/current/glut/ Removed: haiku/vendor/mesa/current/glu/Jamfile haiku/vendor/mesa/current/glut/Jamfile Log: I obviously forgot to include glu and glut Copied: haiku/vendor/mesa/current/glu (from rev 20108, haiku/trunk/src/kits/opengl/glu) Deleted: haiku/vendor/mesa/current/glu/Jamfile Copied: haiku/vendor/mesa/current/glut (from rev 20108, haiku/trunk/src/kits/opengl/glut) Deleted: haiku/vendor/mesa/current/glut/Jamfile From korli at mail.berlios.de Wed Feb 7 21:20:07 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:20:07 +0100 Subject: [Haiku-commits] r20110 - haiku/vendor/mesa/6.3 Message-ID: <200702072020.l17KK7wf030115@sheep.berlios.de> Author: korli Date: 2007-02-07 21:20:06 +0100 (Wed, 07 Feb 2007) New Revision: 20110 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20110&view=rev Added: haiku/vendor/mesa/6.3/glu/ haiku/vendor/mesa/6.3/glut/ Log: tagging glu and glut from Mesa 6.3 Copied: haiku/vendor/mesa/6.3/glu (from rev 20109, haiku/vendor/mesa/current/glu) Copied: haiku/vendor/mesa/6.3/glut (from rev 20109, haiku/vendor/mesa/current/glut) From korli at mail.berlios.de Wed Feb 7 21:58:19 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 21:58:19 +0100 Subject: [Haiku-commits] r20111 - in haiku/vendor/mesa/current: glu/libnurbs/interface glu/libnurbs/internals glu/libnurbs/nurbtess glu/libtess glu/libutil glut headers/private/internal headers/public src src/array_cache src/drivers/common src/glapi src/main src/math src/ppc src/shader src/shader/grammar src/shader/slang src/shader/slang/library src/sparc src/swrast src/swrast_setup src/tnl src/tnl_dd src/tnl_dd/imm src/x86 src/x86/rtasm src/x86-64 Message-ID: <200702072058.l17KwJ22032078@sheep.berlios.de> Author: korli Date: 2007-02-07 21:51:09 +0100 (Wed, 07 Feb 2007) New Revision: 20111 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20111&view=rev Added: haiku/vendor/mesa/current/src/glapi/dispatch.h haiku/vendor/mesa/current/src/main/arrayobj.c haiku/vendor/mesa/current/src/main/arrayobj.h haiku/vendor/mesa/current/src/main/bitset.h haiku/vendor/mesa/current/src/main/depthstencil.c haiku/vendor/mesa/current/src/main/depthstencil.h haiku/vendor/mesa/current/src/main/execmem.c haiku/vendor/mesa/current/src/main/fbobject.c haiku/vendor/mesa/current/src/main/fbobject.h haiku/vendor/mesa/current/src/main/framebuffer.c haiku/vendor/mesa/current/src/main/framebuffer.h haiku/vendor/mesa/current/src/main/getstring.c haiku/vendor/mesa/current/src/main/mipmap.c haiku/vendor/mesa/current/src/main/mipmap.h haiku/vendor/mesa/current/src/main/mm.c haiku/vendor/mesa/current/src/main/mm.h haiku/vendor/mesa/current/src/main/rbadaptors.c haiku/vendor/mesa/current/src/main/rbadaptors.h haiku/vendor/mesa/current/src/main/renderbuffer.c haiku/vendor/mesa/current/src/main/renderbuffer.h haiku/vendor/mesa/current/src/main/texenvprogram.c haiku/vendor/mesa/current/src/main/texenvprogram.h haiku/vendor/mesa/current/src/main/texrender.c haiku/vendor/mesa/current/src/main/texrender.h haiku/vendor/mesa/current/src/shader/grammar/ haiku/vendor/mesa/current/src/shader/grammar/descrip.mms haiku/vendor/mesa/current/src/shader/grammar/grammar.c haiku/vendor/mesa/current/src/shader/grammar/grammar.h haiku/vendor/mesa/current/src/shader/grammar/grammar_crt.c haiku/vendor/mesa/current/src/shader/grammar/grammar_crt.h haiku/vendor/mesa/current/src/shader/grammar/grammar_mesa.c haiku/vendor/mesa/current/src/shader/grammar/grammar_mesa.h haiku/vendor/mesa/current/src/shader/grammar/grammar_syn.h haiku/vendor/mesa/current/src/shader/grammar/sources haiku/vendor/mesa/current/src/shader/program_instruction.h haiku/vendor/mesa/current/src/shader/programopt.c haiku/vendor/mesa/current/src/shader/programopt.h haiku/vendor/mesa/current/src/shader/shaderobjects_3dlabs.c haiku/vendor/mesa/current/src/shader/shaderobjects_3dlabs.h haiku/vendor/mesa/current/src/shader/slang/ haiku/vendor/mesa/current/src/shader/slang/descrip.mms haiku/vendor/mesa/current/src/shader/slang/library/ haiku/vendor/mesa/current/src/shader/slang/library/gc_to_bin.c haiku/vendor/mesa/current/src/shader/slang/library/slang_builtin_vec4_gc.h haiku/vendor/mesa/current/src/shader/slang/library/slang_common_builtin_gc.h haiku/vendor/mesa/current/src/shader/slang/library/slang_core_gc.h haiku/vendor/mesa/current/src/shader/slang/library/slang_fragment_builtin_gc.h haiku/vendor/mesa/current/src/shader/slang/library/slang_pp_directives_syn.h haiku/vendor/mesa/current/src/shader/slang/library/slang_pp_expression_syn.h haiku/vendor/mesa/current/src/shader/slang/library/slang_pp_version_syn.h haiku/vendor/mesa/current/src/shader/slang/library/slang_shader_syn.h haiku/vendor/mesa/current/src/shader/slang/library/slang_vertex_builtin_gc.h haiku/vendor/mesa/current/src/shader/slang/library/syn_to_c.c haiku/vendor/mesa/current/src/shader/slang/slang_analyse.c haiku/vendor/mesa/current/src/shader/slang/slang_analyse.h haiku/vendor/mesa/current/src/shader/slang/slang_assemble.c haiku/vendor/mesa/current/src/shader/slang/slang_assemble.h haiku/vendor/mesa/current/src/shader/slang/slang_assemble_assignment.c haiku/vendor/mesa/current/src/shader/slang/slang_assemble_assignment.h haiku/vendor/mesa/current/src/shader/slang/slang_assemble_conditional.c haiku/vendor/mesa/current/src/shader/slang/slang_assemble_conditional.h haiku/vendor/mesa/current/src/shader/slang/slang_assemble_constructor.c haiku/vendor/mesa/current/src/shader/slang/slang_assemble_constructor.h haiku/vendor/mesa/current/src/shader/slang/slang_assemble_typeinfo.c haiku/vendor/mesa/current/src/shader/slang/slang_assemble_typeinfo.h haiku/vendor/mesa/current/src/shader/slang/slang_compile.c haiku/vendor/mesa/current/src/shader/slang/slang_compile.h haiku/vendor/mesa/current/src/shader/slang/slang_compile_function.c haiku/vendor/mesa/current/src/shader/slang/slang_compile_function.h haiku/vendor/mesa/current/src/shader/slang/slang_compile_operation.c haiku/vendor/mesa/current/src/shader/slang/slang_compile_operation.h haiku/vendor/mesa/current/src/shader/slang/slang_compile_struct.c haiku/vendor/mesa/current/src/shader/slang/slang_compile_struct.h haiku/vendor/mesa/current/src/shader/slang/slang_compile_variable.c haiku/vendor/mesa/current/src/shader/slang/slang_compile_variable.h haiku/vendor/mesa/current/src/shader/slang/slang_execute.c haiku/vendor/mesa/current/src/shader/slang/slang_execute.h haiku/vendor/mesa/current/src/shader/slang/slang_execute_x86.c haiku/vendor/mesa/current/src/shader/slang/slang_export.c haiku/vendor/mesa/current/src/shader/slang/slang_export.h haiku/vendor/mesa/current/src/shader/slang/slang_library_noise.c haiku/vendor/mesa/current/src/shader/slang/slang_library_noise.h haiku/vendor/mesa/current/src/shader/slang/slang_library_texsample.c haiku/vendor/mesa/current/src/shader/slang/slang_library_texsample.h haiku/vendor/mesa/current/src/shader/slang/slang_link.c haiku/vendor/mesa/current/src/shader/slang/slang_link.h haiku/vendor/mesa/current/src/shader/slang/slang_mesa.h haiku/vendor/mesa/current/src/shader/slang/slang_preprocess.c haiku/vendor/mesa/current/src/shader/slang/slang_preprocess.h haiku/vendor/mesa/current/src/shader/slang/slang_storage.c haiku/vendor/mesa/current/src/shader/slang/slang_storage.h haiku/vendor/mesa/current/src/shader/slang/slang_utility.c haiku/vendor/mesa/current/src/shader/slang/slang_utility.h haiku/vendor/mesa/current/src/shader/slang/sources haiku/vendor/mesa/current/src/shader/slang/traverse_wrap.h haiku/vendor/mesa/current/src/swrast/s_arbshader.c haiku/vendor/mesa/current/src/swrast/s_arbshader.h haiku/vendor/mesa/current/src/swrast/s_blit.c haiku/vendor/mesa/current/src/swrast/s_texcombine.c haiku/vendor/mesa/current/src/swrast/s_texcombine.h haiku/vendor/mesa/current/src/swrast/s_texfilter.c haiku/vendor/mesa/current/src/swrast/s_texfilter.h haiku/vendor/mesa/current/src/tnl/t_vb_arbprogram.c haiku/vendor/mesa/current/src/tnl/t_vb_arbprogram.h haiku/vendor/mesa/current/src/tnl/t_vb_arbprogram_sse.c haiku/vendor/mesa/current/src/tnl/t_vb_arbshader.c haiku/vendor/mesa/current/src/tnl/t_vertex_generic.c haiku/vendor/mesa/current/src/tnl/t_vertex_sse.c haiku/vendor/mesa/current/src/tnl/t_vp_build.c haiku/vendor/mesa/current/src/tnl/t_vp_build.h haiku/vendor/mesa/current/src/x86-64/ haiku/vendor/mesa/current/src/x86-64/Makefile haiku/vendor/mesa/current/src/x86-64/glapi_x86-64.S haiku/vendor/mesa/current/src/x86-64/matypes.h haiku/vendor/mesa/current/src/x86-64/x86-64.c haiku/vendor/mesa/current/src/x86-64/x86-64.h haiku/vendor/mesa/current/src/x86-64/xform4.S haiku/vendor/mesa/current/src/x86/rtasm/ haiku/vendor/mesa/current/src/x86/rtasm/x86sse.c haiku/vendor/mesa/current/src/x86/rtasm/x86sse.h Removed: haiku/vendor/mesa/current/src/glapi/glX_XML.py haiku/vendor/mesa/current/src/glapi/glX_doc.py haiku/vendor/mesa/current/src/glapi/glX_proto_send.py haiku/vendor/mesa/current/src/glapi/gl_API.xml haiku/vendor/mesa/current/src/glapi/gl_SPARC_asm.py haiku/vendor/mesa/current/src/glapi/gl_XML.py haiku/vendor/mesa/current/src/glapi/gl_apitemp.py haiku/vendor/mesa/current/src/glapi/gl_offsets.py haiku/vendor/mesa/current/src/glapi/gl_procs.py haiku/vendor/mesa/current/src/glapi/gl_table.py haiku/vendor/mesa/current/src/glapi/gl_x86_asm.py haiku/vendor/mesa/current/src/glapi/license.py haiku/vendor/mesa/current/src/glapi/mesadef.py haiku/vendor/mesa/current/src/glapi/next_available_offset.sh haiku/vendor/mesa/current/src/main/KNOWN_BUGS haiku/vendor/mesa/current/src/ppc/glapi_ppc.S haiku/vendor/mesa/current/src/shader/arbfragparse.c haiku/vendor/mesa/current/src/shader/arbfragparse.h haiku/vendor/mesa/current/src/shader/arbprogram.syn haiku/vendor/mesa/current/src/shader/arbvertparse.c haiku/vendor/mesa/current/src/shader/arbvertparse.h haiku/vendor/mesa/current/src/shader/asmopcodes.reg haiku/vendor/mesa/current/src/shader/grammar.c haiku/vendor/mesa/current/src/shader/grammar.h haiku/vendor/mesa/current/src/shader/grammar.syn haiku/vendor/mesa/current/src/shader/grammar_mesa.c haiku/vendor/mesa/current/src/shader/grammar_mesa.h haiku/vendor/mesa/current/src/shader/grammar_syn.h haiku/vendor/mesa/current/src/shader/nvfragprog.h haiku/vendor/mesa/current/src/shader/nvvertprog.h haiku/vendor/mesa/current/src/shader/slang_common_builtin.gc haiku/vendor/mesa/current/src/shader/slang_core.gc haiku/vendor/mesa/current/src/shader/slang_fragment_builtin.gc haiku/vendor/mesa/current/src/shader/slang_shader.syn haiku/vendor/mesa/current/src/shader/slang_shader_syn.h haiku/vendor/mesa/current/src/shader/slang_vertex_builtin.gc haiku/vendor/mesa/current/src/swrast/NOTES haiku/vendor/mesa/current/src/swrast/s_alphabuf.c haiku/vendor/mesa/current/src/swrast/s_alphabuf.h haiku/vendor/mesa/current/src/swrast/s_auxbuffer.c haiku/vendor/mesa/current/src/swrast/s_auxbuffer.h haiku/vendor/mesa/current/src/swrast/s_fragprog_to_c.c haiku/vendor/mesa/current/src/swrast/s_pixeltex.c haiku/vendor/mesa/current/src/swrast/s_pixeltex.h haiku/vendor/mesa/current/src/swrast/s_tcc.c haiku/vendor/mesa/current/src/swrast/s_texture.c haiku/vendor/mesa/current/src/swrast/s_texture.h haiku/vendor/mesa/current/src/swrast_setup/NOTES haiku/vendor/mesa/current/src/tnl/NOTES haiku/vendor/mesa/current/src/tnl/t_vertex_c.c haiku/vendor/mesa/current/src/tnl/t_vertex_codegen.c haiku/vendor/mesa/current/src/x86/gen_matypes Modified: haiku/vendor/mesa/current/glu/libnurbs/interface/bezierEval.cc haiku/vendor/mesa/current/glu/libnurbs/interface/glcurveval.cc haiku/vendor/mesa/current/glu/libnurbs/interface/glsurfeval.cc haiku/vendor/mesa/current/glu/libnurbs/interface/mystdio.h haiku/vendor/mesa/current/glu/libnurbs/internals/arc.cc haiku/vendor/mesa/current/glu/libnurbs/internals/arcsorter.cc haiku/vendor/mesa/current/glu/libnurbs/internals/arctess.cc haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.cc haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.h haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.cc haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.h haiku/vendor/mesa/current/glu/libnurbs/internals/bin.cc haiku/vendor/mesa/current/glu/libnurbs/internals/bufpool.h haiku/vendor/mesa/current/glu/libnurbs/internals/cachingeval.h haiku/vendor/mesa/current/glu/libnurbs/internals/ccw.cc haiku/vendor/mesa/current/glu/libnurbs/internals/dataTransform.cc haiku/vendor/mesa/current/glu/libnurbs/internals/flistsorter.h haiku/vendor/mesa/current/glu/libnurbs/internals/intersect.cc haiku/vendor/mesa/current/glu/libnurbs/internals/knotvector.cc haiku/vendor/mesa/current/glu/libnurbs/internals/maplist.cc haiku/vendor/mesa/current/glu/libnurbs/internals/monoTriangulationBackend.cc haiku/vendor/mesa/current/glu/libnurbs/internals/monotonizer.h haiku/vendor/mesa/current/glu/libnurbs/internals/nurbsinterfac.cc haiku/vendor/mesa/current/glu/libnurbs/internals/nurbstess.cc haiku/vendor/mesa/current/glu/libnurbs/internals/patch.cc haiku/vendor/mesa/current/glu/libnurbs/internals/quilt.cc haiku/vendor/mesa/current/glu/libnurbs/internals/slicer.cc haiku/vendor/mesa/current/glu/libnurbs/internals/sorter.cc haiku/vendor/mesa/current/glu/libnurbs/internals/sorter.h haiku/vendor/mesa/current/glu/libnurbs/internals/splitarcs.cc haiku/vendor/mesa/current/glu/libnurbs/internals/tobezier.cc haiku/vendor/mesa/current/glu/libnurbs/internals/trimline.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/monoChain.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/monoTriangulation.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/mystdio.h haiku/vendor/mesa/current/glu/libnurbs/nurbtess/polyDBG.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/sampleComp.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/sampleCompRight.cc haiku/vendor/mesa/current/glu/libnurbs/nurbtess/sampleMonoPoly.cc haiku/vendor/mesa/current/glu/libtess/dict.c haiku/vendor/mesa/current/glu/libutil/error.c haiku/vendor/mesa/current/glu/libutil/mipmap.c haiku/vendor/mesa/current/glu/libutil/project.c haiku/vendor/mesa/current/glu/libutil/quad.c haiku/vendor/mesa/current/glut/glutCallback.cpp haiku/vendor/mesa/current/glut/glutWindow.h haiku/vendor/mesa/current/headers/private/internal/glcore.h haiku/vendor/mesa/current/headers/public/gl.h haiku/vendor/mesa/current/headers/public/glext.h haiku/vendor/mesa/current/headers/public/glu.h haiku/vendor/mesa/current/headers/public/glut.h haiku/vendor/mesa/current/src/array_cache/ac_context.c haiku/vendor/mesa/current/src/array_cache/ac_import.c haiku/vendor/mesa/current/src/drivers/common/driverfuncs.c haiku/vendor/mesa/current/src/glapi/glapi.c haiku/vendor/mesa/current/src/glapi/glapi.h haiku/vendor/mesa/current/src/glapi/glapioffsets.h haiku/vendor/mesa/current/src/glapi/glapitable.h haiku/vendor/mesa/current/src/glapi/glapitemp.h haiku/vendor/mesa/current/src/glapi/glprocs.h haiku/vendor/mesa/current/src/glapi/glthread.c haiku/vendor/mesa/current/src/glapi/glthread.h haiku/vendor/mesa/current/src/main/accum.c haiku/vendor/mesa/current/src/main/api_arrayelt.c haiku/vendor/mesa/current/src/main/api_arrayelt.h haiku/vendor/mesa/current/src/main/api_loopback.c haiku/vendor/mesa/current/src/main/api_noop.c haiku/vendor/mesa/current/src/main/api_noop.h haiku/vendor/mesa/current/src/main/api_validate.c haiku/vendor/mesa/current/src/main/attrib.c haiku/vendor/mesa/current/src/main/blend.c haiku/vendor/mesa/current/src/main/blend.h haiku/vendor/mesa/current/src/main/bufferobj.c haiku/vendor/mesa/current/src/main/bufferobj.h haiku/vendor/mesa/current/src/main/buffers.c haiku/vendor/mesa/current/src/main/buffers.h haiku/vendor/mesa/current/src/main/clip.c haiku/vendor/mesa/current/src/main/colortab.c haiku/vendor/mesa/current/src/main/colortab.h haiku/vendor/mesa/current/src/main/config.h haiku/vendor/mesa/current/src/main/context.c haiku/vendor/mesa/current/src/main/context.h haiku/vendor/mesa/current/src/main/convolve.c haiku/vendor/mesa/current/src/main/dd.h haiku/vendor/mesa/current/src/main/debug.c haiku/vendor/mesa/current/src/main/depth.c haiku/vendor/mesa/current/src/main/depth.h haiku/vendor/mesa/current/src/main/dispatch.c haiku/vendor/mesa/current/src/main/dlist.c haiku/vendor/mesa/current/src/main/dlist.h haiku/vendor/mesa/current/src/main/drawpix.c haiku/vendor/mesa/current/src/main/enable.c haiku/vendor/mesa/current/src/main/enums.c haiku/vendor/mesa/current/src/main/enums.h haiku/vendor/mesa/current/src/main/extensions.c haiku/vendor/mesa/current/src/main/extensions.h haiku/vendor/mesa/current/src/main/fog.c haiku/vendor/mesa/current/src/main/get.c haiku/vendor/mesa/current/src/main/glheader.h haiku/vendor/mesa/current/src/main/hash.c haiku/vendor/mesa/current/src/main/hash.h haiku/vendor/mesa/current/src/main/hint.c haiku/vendor/mesa/current/src/main/histogram.c haiku/vendor/mesa/current/src/main/image.c haiku/vendor/mesa/current/src/main/image.h haiku/vendor/mesa/current/src/main/imports.c haiku/vendor/mesa/current/src/main/imports.h haiku/vendor/mesa/current/src/main/light.c haiku/vendor/mesa/current/src/main/light.h haiku/vendor/mesa/current/src/main/macros.h haiku/vendor/mesa/current/src/main/matrix.c haiku/vendor/mesa/current/src/main/mtypes.h haiku/vendor/mesa/current/src/main/occlude.c haiku/vendor/mesa/current/src/main/occlude.h haiku/vendor/mesa/current/src/main/pixel.c haiku/vendor/mesa/current/src/main/pixel.h haiku/vendor/mesa/current/src/main/points.c haiku/vendor/mesa/current/src/main/points.h haiku/vendor/mesa/current/src/main/polygon.c haiku/vendor/mesa/current/src/main/rastpos.c haiku/vendor/mesa/current/src/main/state.c haiku/vendor/mesa/current/src/main/state.h haiku/vendor/mesa/current/src/main/stencil.c haiku/vendor/mesa/current/src/main/stencil.h haiku/vendor/mesa/current/src/main/texcompress.c haiku/vendor/mesa/current/src/main/texcompress.h haiku/vendor/mesa/current/src/main/texcompress_fxt1.c haiku/vendor/mesa/current/src/main/texcompress_s3tc.c haiku/vendor/mesa/current/src/main/texformat.c haiku/vendor/mesa/current/src/main/texformat.h haiku/vendor/mesa/current/src/main/texformat_tmp.h haiku/vendor/mesa/current/src/main/teximage.c haiku/vendor/mesa/current/src/main/teximage.h haiku/vendor/mesa/current/src/main/texobj.c haiku/vendor/mesa/current/src/main/texobj.h haiku/vendor/mesa/current/src/main/texstate.c haiku/vendor/mesa/current/src/main/texstate.h haiku/vendor/mesa/current/src/main/texstore.c haiku/vendor/mesa/current/src/main/texstore.h haiku/vendor/mesa/current/src/main/varray.c haiku/vendor/mesa/current/src/main/version.h haiku/vendor/mesa/current/src/main/vtxfmt.c haiku/vendor/mesa/current/src/main/vtxfmt_tmp.h haiku/vendor/mesa/current/src/math/m_debug_clip.c haiku/vendor/mesa/current/src/math/m_debug_norm.c haiku/vendor/mesa/current/src/math/m_debug_util.h haiku/vendor/mesa/current/src/math/m_debug_xform.c haiku/vendor/mesa/current/src/math/m_matrix.c haiku/vendor/mesa/current/src/math/m_matrix.h haiku/vendor/mesa/current/src/math/m_trans_tmp.h haiku/vendor/mesa/current/src/math/m_translate.c haiku/vendor/mesa/current/src/math/m_translate.h haiku/vendor/mesa/current/src/math/m_xform.c haiku/vendor/mesa/current/src/math/m_xform.h haiku/vendor/mesa/current/src/shader/arbprogparse.c haiku/vendor/mesa/current/src/shader/arbprogparse.h haiku/vendor/mesa/current/src/shader/arbprogram.c haiku/vendor/mesa/current/src/shader/arbprogram.h haiku/vendor/mesa/current/src/shader/atifragshader.c haiku/vendor/mesa/current/src/shader/atifragshader.h haiku/vendor/mesa/current/src/shader/nvfragparse.c haiku/vendor/mesa/current/src/shader/nvfragparse.h haiku/vendor/mesa/current/src/shader/nvprogram.c haiku/vendor/mesa/current/src/shader/nvvertexec.c haiku/vendor/mesa/current/src/shader/nvvertexec.h haiku/vendor/mesa/current/src/shader/nvvertparse.c haiku/vendor/mesa/current/src/shader/nvvertparse.h haiku/vendor/mesa/current/src/shader/program.c haiku/vendor/mesa/current/src/shader/program.h haiku/vendor/mesa/current/src/shader/shaderobjects.c haiku/vendor/mesa/current/src/shader/shaderobjects.h haiku/vendor/mesa/current/src/sparc/clip.S haiku/vendor/mesa/current/src/sparc/glapi_sparc.S haiku/vendor/mesa/current/src/sparc/norm.S haiku/vendor/mesa/current/src/sparc/sparc.c haiku/vendor/mesa/current/src/sparc/sparc_matrix.h haiku/vendor/mesa/current/src/sparc/xform.S haiku/vendor/mesa/current/src/swrast/s_aaline.c haiku/vendor/mesa/current/src/swrast/s_aalinetemp.h haiku/vendor/mesa/current/src/swrast/s_aatriangle.c haiku/vendor/mesa/current/src/swrast/s_aatritemp.h haiku/vendor/mesa/current/src/swrast/s_accum.c haiku/vendor/mesa/current/src/swrast/s_accum.h haiku/vendor/mesa/current/src/swrast/s_alpha.c haiku/vendor/mesa/current/src/swrast/s_alpha.h haiku/vendor/mesa/current/src/swrast/s_atifragshader.c haiku/vendor/mesa/current/src/swrast/s_atifragshader.h haiku/vendor/mesa/current/src/swrast/s_bitmap.c haiku/vendor/mesa/current/src/swrast/s_blend.c haiku/vendor/mesa/current/src/swrast/s_blend.h haiku/vendor/mesa/current/src/swrast/s_buffers.c haiku/vendor/mesa/current/src/swrast/s_context.c haiku/vendor/mesa/current/src/swrast/s_context.h haiku/vendor/mesa/current/src/swrast/s_copypix.c haiku/vendor/mesa/current/src/swrast/s_depth.c haiku/vendor/mesa/current/src/swrast/s_depth.h haiku/vendor/mesa/current/src/swrast/s_drawpix.c haiku/vendor/mesa/current/src/swrast/s_feedback.c haiku/vendor/mesa/current/src/swrast/s_fog.c haiku/vendor/mesa/current/src/swrast/s_fog.h haiku/vendor/mesa/current/src/swrast/s_imaging.c haiku/vendor/mesa/current/src/swrast/s_lines.c haiku/vendor/mesa/current/src/swrast/s_linetemp.h haiku/vendor/mesa/current/src/swrast/s_logic.c haiku/vendor/mesa/current/src/swrast/s_logic.h haiku/vendor/mesa/current/src/swrast/s_masking.c haiku/vendor/mesa/current/src/swrast/s_masking.h haiku/vendor/mesa/current/src/swrast/s_nvfragprog.c haiku/vendor/mesa/current/src/swrast/s_nvfragprog.h haiku/vendor/mesa/current/src/swrast/s_pointtemp.h haiku/vendor/mesa/current/src/swrast/s_readpix.c haiku/vendor/mesa/current/src/swrast/s_span.c haiku/vendor/mesa/current/src/swrast/s_span.h haiku/vendor/mesa/current/src/swrast/s_spantemp.h haiku/vendor/mesa/current/src/swrast/s_stencil.c haiku/vendor/mesa/current/src/swrast/s_stencil.h haiku/vendor/mesa/current/src/swrast/s_texstore.c haiku/vendor/mesa/current/src/swrast/s_triangle.c haiku/vendor/mesa/current/src/swrast/s_tritemp.h haiku/vendor/mesa/current/src/swrast/s_zoom.c haiku/vendor/mesa/current/src/swrast/s_zoom.h haiku/vendor/mesa/current/src/swrast/swrast.h haiku/vendor/mesa/current/src/swrast_setup/ss_context.c haiku/vendor/mesa/current/src/swrast_setup/ss_context.h haiku/vendor/mesa/current/src/swrast_setup/ss_triangle.c haiku/vendor/mesa/current/src/swrast_setup/ss_tritmp.h haiku/vendor/mesa/current/src/tnl/t_array_api.c haiku/vendor/mesa/current/src/tnl/t_array_import.c haiku/vendor/mesa/current/src/tnl/t_context.c haiku/vendor/mesa/current/src/tnl/t_context.h haiku/vendor/mesa/current/src/tnl/t_pipeline.c haiku/vendor/mesa/current/src/tnl/t_pipeline.h haiku/vendor/mesa/current/src/tnl/t_save_api.c haiku/vendor/mesa/current/src/tnl/t_save_api.h haiku/vendor/mesa/current/src/tnl/t_save_loopback.c haiku/vendor/mesa/current/src/tnl/t_save_playback.c haiku/vendor/mesa/current/src/tnl/t_vb_cliptmp.h haiku/vendor/mesa/current/src/tnl/t_vb_cull.c haiku/vendor/mesa/current/src/tnl/t_vb_fog.c haiku/vendor/mesa/current/src/tnl/t_vb_light.c haiku/vendor/mesa/current/src/tnl/t_vb_lighttmp.h haiku/vendor/mesa/current/src/tnl/t_vb_normals.c haiku/vendor/mesa/current/src/tnl/t_vb_points.c haiku/vendor/mesa/current/src/tnl/t_vb_program.c haiku/vendor/mesa/current/src/tnl/t_vb_render.c haiku/vendor/mesa/current/src/tnl/t_vb_rendertmp.h haiku/vendor/mesa/current/src/tnl/t_vb_texgen.c haiku/vendor/mesa/current/src/tnl/t_vb_texmat.c haiku/vendor/mesa/current/src/tnl/t_vb_vertex.c haiku/vendor/mesa/current/src/tnl/t_vertex.c haiku/vendor/mesa/current/src/tnl/t_vertex.h haiku/vendor/mesa/current/src/tnl/t_vtx_api.c haiku/vendor/mesa/current/src/tnl/t_vtx_api.h haiku/vendor/mesa/current/src/tnl/t_vtx_eval.c haiku/vendor/mesa/current/src/tnl/t_vtx_exec.c haiku/vendor/mesa/current/src/tnl/t_vtx_generic.c haiku/vendor/mesa/current/src/tnl/t_vtx_x86.c haiku/vendor/mesa/current/src/tnl/t_vtx_x86_gcc.S haiku/vendor/mesa/current/src/tnl/tnl.h haiku/vendor/mesa/current/src/tnl_dd/imm/t_dd_imm_capi.h haiku/vendor/mesa/current/src/tnl_dd/t_dd_dmatmp.h haiku/vendor/mesa/current/src/tnl_dd/t_dd_dmatmp2.h haiku/vendor/mesa/current/src/tnl_dd/t_dd_triemit.h haiku/vendor/mesa/current/src/tnl_dd/t_dd_tritmp.h haiku/vendor/mesa/current/src/tnl_dd/t_dd_unfilled.h haiku/vendor/mesa/current/src/x86/3dnow.c haiku/vendor/mesa/current/src/x86/3dnow_normal.S haiku/vendor/mesa/current/src/x86/3dnow_xform1.S haiku/vendor/mesa/current/src/x86/3dnow_xform2.S haiku/vendor/mesa/current/src/x86/3dnow_xform3.S haiku/vendor/mesa/current/src/x86/3dnow_xform4.S haiku/vendor/mesa/current/src/x86/Makefile haiku/vendor/mesa/current/src/x86/assyntax.h haiku/vendor/mesa/current/src/x86/common_x86.c haiku/vendor/mesa/current/src/x86/common_x86_asm.S haiku/vendor/mesa/current/src/x86/common_x86_asm.h haiku/vendor/mesa/current/src/x86/gen_matypes.c haiku/vendor/mesa/current/src/x86/glapi_x86.S haiku/vendor/mesa/current/src/x86/matypes.h haiku/vendor/mesa/current/src/x86/mmx.h haiku/vendor/mesa/current/src/x86/mmx_blend.S haiku/vendor/mesa/current/src/x86/read_rgba_span_x86.S haiku/vendor/mesa/current/src/x86/sse.c haiku/vendor/mesa/current/src/x86/sse_normal.S haiku/vendor/mesa/current/src/x86/sse_xform1.S haiku/vendor/mesa/current/src/x86/sse_xform2.S haiku/vendor/mesa/current/src/x86/sse_xform3.S haiku/vendor/mesa/current/src/x86/sse_xform4.S haiku/vendor/mesa/current/src/x86/x86.c haiku/vendor/mesa/current/src/x86/x86_cliptest.S haiku/vendor/mesa/current/src/x86/x86_xform2.S haiku/vendor/mesa/current/src/x86/x86_xform3.S haiku/vendor/mesa/current/src/x86/x86_xform4.S Log: updating mesa vendor with version 6.5.2 Modified: haiku/vendor/mesa/current/glu/libnurbs/interface/bezierEval.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/interface/bezierEval.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/interface/bezierEval.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -57,7 +57,9 @@ static void normalize(float vec[3]); static void crossProduct(float x[3], float y[3], float ret[3]); +#if 0 // UNUSED static void bezierCurveEvalfast(float u0, float u1, int order, float *ctlpoints, int stride, int dimension, float u, float retpoint[]); +#endif static float binomialCoefficients[8][8] = { {1,0,0,0,0,0,0,0}, @@ -91,7 +93,7 @@ } - +#if 0 // UNUSED /*order = degree +1 >=1. */ void bezierCurveEvalfast(float u0, float u1, int order, float *ctlpoints, int stride, int dimension, float u, float retpoint[]) @@ -115,9 +117,9 @@ for(j=0; j=1. */ void bezierCurveEvalDer(float u0, float u1, int order, float *ctlpoints, int stride, int dimension, float u, float retDer[]) Modified: haiku/vendor/mesa/current/glu/libnurbs/interface/glcurveval.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/interface/glcurveval.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/interface/glcurveval.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * glcurveval.c++ * - * $Date: 2004/05/12 15:29:36 $ $Revision: 1.6 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/interface/glcurveval.cc,v 1.6 2004/05/12 15:29:36 brianp Exp $ + * $Date: 2006/03/29 18:46:46 $ $Revision: 1.7 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/interface/glcurveval.cc,v 1.7 2006/03/29 18:46:46 brianp Exp $ */ /* Polynomial Evaluator Interface */ @@ -74,6 +74,7 @@ em_normal.uprime = -1.0; em_color.uprime = -1.0; em_texcoord.uprime = -1.0; + output_triangles = 0; // don't output triangles by default } OpenGLCurveEvaluator::~OpenGLCurveEvaluator(void) Modified: haiku/vendor/mesa/current/glu/libnurbs/interface/glsurfeval.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/interface/glsurfeval.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/interface/glsurfeval.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -779,8 +779,8 @@ else auto_normal_flag = 0; */ + glPushAttrib((GLbitfield) GL_EVAL_BIT); - //NEWCALLBACK: no need to worry about gl states when gling clalback } else { @@ -842,12 +842,12 @@ bezierPatchMeshListDelete(global_bpm); global_bpm = NULL; #endif - + glPopAttrib(); } else { #ifndef USE_LOD -glPopAttrib(); + glPopAttrib(); #endif #ifdef STATISTICS Modified: haiku/vendor/mesa/current/glu/libnurbs/interface/mystdio.h =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/interface/mystdio.h 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/interface/mystdio.h 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,28 +35,28 @@ /* * mystdio.h * - * $Date: 2001/03/19 17:52:02 $ $Revision: 1.3 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/interface/mystdio.h,v 1.3 2001/03/19 17:52:02 pesco Exp $ + * $Date: 2006/03/14 15:08:52 $ $Revision: 1.4 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/interface/mystdio.h,v 1.4 2006/03/14 15:08:52 brianp Exp $ */ #ifndef __glumystdio_h_ #define __glumystdio_h_ #ifdef STANDALONE -inline void dprintf( char *, ... ) { } +inline void _glu_dprintf( char *, ... ) { } #endif #ifdef LIBRARYBUILD #ifndef NDEBUG #include -#define dprintf printf +#define _glu_dprintf printf #else -inline void dprintf( char *, ... ) { } +inline void _glu_dprintf( char *, ... ) { } #endif #endif #ifdef GLBUILD -inline void dprintf( char *, ... ) { } +inline void _glu_dprintf( char *, ... ) { } #endif #ifndef NULL Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/arc.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/arc.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/arc.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -156,9 +156,9 @@ Arc::show() { #ifndef NDEBUG - dprintf( "\tPWLARC NP: %d FL: 1\n", pwlArc->npts ); + _glu_dprintf( "\tPWLARC NP: %d FL: 1\n", pwlArc->npts ); for( int i = 0; i < pwlArc->npts; i++ ) { - dprintf( "\t\tVERTEX %f %f\n", pwlArc->pts[i].param[0], + _glu_dprintf( "\t\tVERTEX %f %f\n", pwlArc->pts[i].param[0], pwlArc->pts[i].param[1] ); } #endif @@ -175,14 +175,14 @@ Arc_ptr jarc = this; #ifndef NDEBUG - dprintf( "BGNTRIM\n" ); + _glu_dprintf( "BGNTRIM\n" ); #endif do { jarc->show( ); jarc = jarc->next; } while (jarc != this); #ifndef NDEBUG - dprintf("ENDTRIM\n" ); + _glu_dprintf("ENDTRIM\n" ); #endif } @@ -203,8 +203,8 @@ if( ((p0[0] - p1[0]) > ZERO) || ((p1[0] - p0[0]) > ZERO) || ((p0[1] - p1[1]) > ZERO) || ((p1[1] - p0[1]) > ZERO) ) { #ifndef NDEBUG - dprintf( "x coord = %f %f %f\n", p0[0], p1[0], p0[0] - p1[0] ); - dprintf( "y coord = %f %f %f\n", p0[1], p1[1], p0[1] - p1[1] ); + _glu_dprintf( "x coord = %f %f %f\n", p0[0], p1[0], p0[0] - p1[0] ); + _glu_dprintf( "y coord = %f %f %f\n", p0[1], p1[1], p0[1] - p1[1] ); #endif return 1; } else { @@ -244,7 +244,7 @@ if (jarc->prev == 0 || jarc->next == 0) { #ifndef NDEBUG - dprintf( "checkjarc:null next/prev pointer\n"); + _glu_dprintf( "checkjarc:null next/prev pointer\n"); jarc->print( ); #endif return 0; @@ -252,7 +252,7 @@ if (jarc->next->prev != jarc) { #ifndef NDEBUG - dprintf( "checkjarc: pointer linkage screwed up\n"); + _glu_dprintf( "checkjarc: pointer linkage screwed up\n"); jarc->print( ); #endif return 0; @@ -271,7 +271,7 @@ if( jarc->prev->pwlArc ) { if( jarc->tail()[1] != jarc->prev->rhead()[1] ) { #ifndef NDEBUG - dprintf( "checkjarc: geometric linkage screwed up 1\n"); + _glu_dprintf( "checkjarc: geometric linkage screwed up 1\n"); jarc->prev->show(); jarc->show(); #endif @@ -280,7 +280,7 @@ if( jarc->tail()[0] != jarc->prev->rhead()[0] ) { #ifndef NDEBUG - dprintf( "checkjarc: geometric linkage screwed up 2\n"); + _glu_dprintf( "checkjarc: geometric linkage screwed up 2\n"); jarc->prev->show(); jarc->show(); #endif @@ -290,7 +290,7 @@ if( jarc->next->pwlArc ) { if( jarc->next->tail()[0] != jarc->rhead()[0] ) { #ifndef NDEBUG - dprintf( "checkjarc: geometric linkage screwed up 3\n"); + _glu_dprintf( "checkjarc: geometric linkage screwed up 3\n"); jarc->show(); jarc->next->show(); #endif @@ -298,7 +298,7 @@ } if( jarc->next->tail()[1] != jarc->rhead()[1] ) { #ifndef NDEBUG - dprintf( "checkjarc: geometric linkage screwed up 4\n"); + _glu_dprintf( "checkjarc: geometric linkage screwed up 4\n"); jarc->show(); jarc->next->show(); #endif Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/arcsorter.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/arcsorter.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/arcsorter.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * arcsorter.c++ * - * $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/arcsorter.cc,v 1.1 2001/03/17 00:25:40 brianp Exp $ + * $Date: 2006/03/14 15:08:52 $ $Revision: 1.2 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/arcsorter.cc,v 1.2 2006/03/14 15:08:52 brianp Exp $ */ #ifndef __gluarcsorter_c_ @@ -54,7 +54,7 @@ int ArcSorter::qscmp( char *, char * ) { - dprintf( "ArcSorter::qscmp: pure virtual called\n" ); + _glu_dprintf( "ArcSorter::qscmp: pure virtual called\n" ); return 0; } Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/arctess.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/arctess.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/arctess.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -335,7 +335,7 @@ REAL min_u, min_v, max_u,max_v; min_u = max_u = bezierArc->cpts[0]; min_v = max_v = bezierArc->cpts[1]; - for(i=1, j=2; iorder; i++, j+= bezierArc->stride) + for(i=1, j=bezierArc->stride; iorder; i++, j+= bezierArc->stride) { if(bezierArc->cpts[j] < min_u) min_u = bezierArc->cpts[j]; Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -45,7 +45,7 @@ BasicCurveEvaluator::domain1f( REAL, REAL ) { #ifndef NDEBUG - dprintf( "domain1f\n" ); + _glu_dprintf( "domain1f\n" ); #endif } @@ -53,7 +53,7 @@ BasicCurveEvaluator::range1f( long , REAL *, REAL * ) { #ifndef NDEBUG - dprintf( "range1f\n" ); + _glu_dprintf( "range1f\n" ); #endif } @@ -61,7 +61,7 @@ BasicCurveEvaluator::enable( long ) { #ifndef NDEBUG - dprintf( "enable\n" ); + _glu_dprintf( "enable\n" ); #endif } @@ -69,7 +69,7 @@ BasicCurveEvaluator::disable( long ) { #ifndef NDEBUG - dprintf( "disable\n" ); + _glu_dprintf( "disable\n" ); #endif } @@ -77,7 +77,7 @@ BasicCurveEvaluator::bgnmap1f( long ) { #ifndef NDEBUG - dprintf( "bgnmap1f\n" ); + _glu_dprintf( "bgnmap1f\n" ); #endif } @@ -85,7 +85,7 @@ BasicCurveEvaluator::map1f( long, REAL, REAL, long, long, REAL * ) { #ifndef NDEBUG - dprintf( "map1f\n" ); + _glu_dprintf( "map1f\n" ); #endif } @@ -93,7 +93,7 @@ BasicCurveEvaluator::mapgrid1f( long, REAL, REAL ) { #ifndef NDEBUG - dprintf( "mapgrid1f\n" ); + _glu_dprintf( "mapgrid1f\n" ); #endif } @@ -101,7 +101,7 @@ BasicCurveEvaluator::mapmesh1f( long, long, long ) { #ifndef NDEBUG - dprintf( "mapmesh1f\n" ); + _glu_dprintf( "mapmesh1f\n" ); #endif } @@ -109,7 +109,7 @@ BasicCurveEvaluator::evalcoord1f( long, REAL ) { #ifndef NDEBUG - dprintf( "evalcoord1f\n" ); + _glu_dprintf( "evalcoord1f\n" ); #endif } @@ -117,7 +117,7 @@ BasicCurveEvaluator::endmap1f( void ) { #ifndef NDEBUG - dprintf( "endmap1f\n" ); + _glu_dprintf( "endmap1f\n" ); #endif } @@ -125,7 +125,7 @@ BasicCurveEvaluator::bgnline( void ) { #ifndef NDEBUG - dprintf( "bgnline\n" ); + _glu_dprintf( "bgnline\n" ); #endif } @@ -133,6 +133,6 @@ BasicCurveEvaluator::endline( void ) { #ifndef NDEBUG - dprintf( "endline\n" ); + _glu_dprintf( "endline\n" ); #endif } Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.h =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.h 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/basiccrveval.h 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * basiccurveeval.h * - * $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/basiccrveval.h,v 1.1 2001/03/17 00:25:40 brianp Exp $ + * $Date: 2006/03/29 18:54:00 $ $Revision: 1.2 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/basiccrveval.h,v 1.2 2006/03/29 18:54:00 brianp Exp $ */ #ifndef __glubasiccrveval_h_ @@ -48,6 +48,7 @@ class BasicCurveEvaluator : public CachingEvaluator { public: + virtual ~BasicCurveEvaluator() { /* silence warning*/ } virtual void domain1f( REAL, REAL ); virtual void range1f( long, REAL *, REAL * ); Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -49,7 +49,7 @@ BasicSurfaceEvaluator::domain2f( REAL, REAL, REAL, REAL ) { #ifndef NDEBUG - dprintf( "domain2f\n" ); + _glu_dprintf( "domain2f\n" ); #endif } @@ -57,7 +57,7 @@ BasicSurfaceEvaluator::polymode( long ) { #ifndef NDEBUG - dprintf( "polymode\n" ); + _glu_dprintf( "polymode\n" ); #endif } @@ -65,7 +65,7 @@ BasicSurfaceEvaluator::range2f( long type, REAL *from, REAL *to ) { #ifndef NDEBUG - dprintf( "range2f type %ld, from (%g,%g), to (%g,%g)\n", + _glu_dprintf( "range2f type %ld, from (%g,%g), to (%g,%g)\n", type, from[0], from[1], to[0], to[1] ); #endif } @@ -74,7 +74,7 @@ BasicSurfaceEvaluator::enable( long ) { #ifndef NDEBUG - dprintf( "enable\n" ); + _glu_dprintf( "enable\n" ); #endif } @@ -82,7 +82,7 @@ BasicSurfaceEvaluator::disable( long ) { #ifndef NDEBUG - dprintf( "disable\n" ); + _glu_dprintf( "disable\n" ); #endif } @@ -90,7 +90,7 @@ BasicSurfaceEvaluator::bgnmap2f( long ) { #ifndef NDEBUG - dprintf( "bgnmap2f\n" ); + _glu_dprintf( "bgnmap2f\n" ); #endif } @@ -98,7 +98,7 @@ BasicSurfaceEvaluator::endmap2f( void ) { #ifndef NDEBUG - dprintf( "endmap2f\n" ); + _glu_dprintf( "endmap2f\n" ); #endif } @@ -108,7 +108,7 @@ REAL * ) { #ifndef NDEBUG - dprintf( "map2f\n" ); + _glu_dprintf( "map2f\n" ); #endif } @@ -116,7 +116,7 @@ BasicSurfaceEvaluator::mapgrid2f( long, REAL, REAL, long, REAL, REAL ) { #ifndef NDEBUG - dprintf( "mapgrid2f\n" ); + _glu_dprintf( "mapgrid2f\n" ); #endif } @@ -124,7 +124,7 @@ BasicSurfaceEvaluator::mapmesh2f( long, long, long, long, long ) { #ifndef NDEBUG - dprintf( "mapmesh2f\n" ); + _glu_dprintf( "mapmesh2f\n" ); #endif } @@ -132,7 +132,7 @@ BasicSurfaceEvaluator::evalcoord2f( long, REAL, REAL ) { #ifndef NDEBUG - dprintf( "evalcoord2f\n" ); + _glu_dprintf( "evalcoord2f\n" ); #endif } @@ -140,7 +140,7 @@ BasicSurfaceEvaluator::evalpoint2i( long, long ) { #ifndef NDEBUG - dprintf( "evalpoint2i\n" ); + _glu_dprintf( "evalpoint2i\n" ); #endif } @@ -148,7 +148,7 @@ BasicSurfaceEvaluator::bgnline( void ) { #ifndef NDEBUG - dprintf( "bgnline\n" ); + _glu_dprintf( "bgnline\n" ); #endif } @@ -156,7 +156,7 @@ BasicSurfaceEvaluator::endline( void ) { #ifndef NDEBUG - dprintf( "endline\n" ); + _glu_dprintf( "endline\n" ); #endif } @@ -164,7 +164,7 @@ BasicSurfaceEvaluator::bgnclosedline( void ) { #ifndef NDEBUG - dprintf( "bgnclosedline\n" ); + _glu_dprintf( "bgnclosedline\n" ); #endif } @@ -172,7 +172,7 @@ BasicSurfaceEvaluator::endclosedline( void ) { #ifndef NDEBUG - dprintf( "endclosedline\n" ); + _glu_dprintf( "endclosedline\n" ); #endif } @@ -180,7 +180,7 @@ BasicSurfaceEvaluator::bgntfan( void ) { #ifndef NDEBUG - dprintf( "bgntfan\n" ); + _glu_dprintf( "bgntfan\n" ); #endif } @@ -194,7 +194,7 @@ BasicSurfaceEvaluator::bgntmesh( void ) { #ifndef NDEBUG - dprintf( "bgntmesh\n" ); + _glu_dprintf( "bgntmesh\n" ); #endif } @@ -202,7 +202,7 @@ BasicSurfaceEvaluator::swaptmesh( void ) { #ifndef NDEBUG - dprintf( "swaptmesh\n" ); + _glu_dprintf( "swaptmesh\n" ); #endif } @@ -210,7 +210,7 @@ BasicSurfaceEvaluator::endtmesh( void ) { #ifndef NDEBUG - dprintf( "endtmesh\n" ); + _glu_dprintf( "endtmesh\n" ); #endif } @@ -218,7 +218,7 @@ BasicSurfaceEvaluator::bgnqstrip( void ) { #ifndef NDEBUG - dprintf( "bgnqstrip\n" ); + _glu_dprintf( "bgnqstrip\n" ); #endif } @@ -226,7 +226,7 @@ BasicSurfaceEvaluator::endqstrip( void ) { #ifndef NDEBUG - dprintf( "endqstrip\n" ); + _glu_dprintf( "endqstrip\n" ); #endif } Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.h =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.h 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/basicsurfeval.h 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * basicsurfeval.h * - * $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.h,v 1.1 2001/03/17 00:25:40 brianp Exp $ + * $Date: 2006/03/29 18:54:00 $ $Revision: 1.2 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/basicsurfeval.h,v 1.2 2006/03/29 18:54:00 brianp Exp $ */ #ifndef __glubasicsurfeval_h_ @@ -48,6 +48,7 @@ class BasicSurfaceEvaluator : public CachingEvaluator { public: + virtual ~BasicSurfaceEvaluator() { /* silence warning*/ } virtual void range2f( long, REAL *, REAL * ); virtual void domain2f( REAL, REAL, REAL, REAL ); Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/bin.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/bin.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/bin.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * bin.c++ * - * $Date: 2004/05/12 15:29:36 $ $Revision: 1.2 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/bin.cc,v 1.2 2004/05/12 15:29:36 brianp Exp $ + * $Date: 2006/03/14 15:08:52 $ $Revision: 1.3 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/bin.cc,v 1.3 2006/03/14 15:08:52 brianp Exp $ */ #include "glimports.h" @@ -123,7 +123,7 @@ Bin::show( char *name ) { #ifndef NDEBUG - dprintf( "%s\n", name ); + _glu_dprintf( "%s\n", name ); for( Arc_ptr jarc = firstarc(); jarc; jarc = nextarc() ) jarc->show( ); #endif @@ -160,7 +160,7 @@ REAL t1 = pts[0].param[1]; REAL s2 = pts[1].param[0]; REAL t2 = pts[1].param[1]; - dprintf( "arc (%g,%g) (%g,%g)\n", s1, t1, s2, t2 ); + _glu_dprintf( "arc (%g,%g) (%g,%g)\n", s1, t1, s2, t2 ); #endif } } Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/bufpool.h =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/bufpool.h 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/bufpool.h 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * bufpool.h * - * $Date: 2001/03/22 11:38:36 $ $Revision: 1.2 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/bufpool.h,v 1.2 2001/03/22 11:38:36 joukj Exp $ + * $Date: 2006/03/29 18:46:46 $ $Revision: 1.3 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/bufpool.h,v 1.3 2006/03/29 18:46:46 brianp Exp $ */ #ifndef __glubufpool_h_ @@ -128,6 +128,7 @@ inline void * operator new( size_t s) { return ::new char[s]; } inline void operator delete( void * ) { assert( 0 ); } + inline void operator delete( void *, Pool & ) { assert( 0 ); } inline void deleteMe( Pool & ); }; Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/cachingeval.h =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/cachingeval.h 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/cachingeval.h 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * cachingeval.h * - * $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/cachingeval.h,v 1.1 2001/03/17 00:25:40 brianp Exp $ + * $Date: 2006/03/29 18:54:00 $ $Revision: 1.2 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/cachingeval.h,v 1.2 2006/03/29 18:54:00 brianp Exp $ */ #ifndef __glucachingval_h_ @@ -44,6 +44,7 @@ class CachingEvaluator { public: + virtual ~CachingEvaluator() { /* silence warning*/ } enum ServiceMode { play, record, playAndRecord }; virtual int canRecord( void ); virtual int canPlayAndRecord( void ); Modified: haiku/vendor/mesa/current/glu/libnurbs/internals/ccw.cc =================================================================== --- haiku/vendor/mesa/current/glu/libnurbs/internals/ccw.cc 2007-02-07 20:20:06 UTC (rev 20110) +++ haiku/vendor/mesa/current/glu/libnurbs/internals/ccw.cc 2007-02-07 20:51:09 UTC (rev 20111) @@ -35,8 +35,8 @@ /* * ccw.c++ * - * $Date: 2002/11/01 23:35:07 $ $Revision: 1.2 $ - * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/ccw.cc,v 1.2 2002/11/01 23:35:07 brianp Exp $ + * $Date: 2006/03/14 15:08:52 $ $Revision: 1.3 $ + * $Header: /cvs/mesa/Mesa/src/glu/sgi/libnurbs/internals/ccw.cc,v 1.3 2006/03/14 15:08:52 brianp Exp $ */ #include "glimports.h" @@ -70,7 +70,7 @@ assert( v2 != v2last ); #ifndef NDEBUG - dprintf( "arc_ccw_turn, p = %d\n", 0 ); + _glu_dprintf( "arc_ccw_turn, p = %d\n", 0 ); #endif // the arcs lie on the line (0 == v1->param[0]) @@ -88,7 +88,7 @@ while( 1 ) { if( v1next->param[0] < v2next->param[0] ) { #ifndef NDEBUG - dprintf( "case a\n" ); + _glu_dprintf( "case a\n" ); #endif assert( v1->param[0] <= v1next->param[0] ); assert( v2->param[0] <= v1next->param[0] ); @@ -101,12 +101,12 @@ return sgn; } else { #ifdef DEBUG - dprintf( "decr\n" ); + _glu_dprintf( "decr\n" ); #endif v1 = v1next--; if( v1 == v1last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -117,7 +117,7 @@ } } else if( v1next->param[0] > v2next->param[0] ) { #ifndef NDEBUG - dprintf( "case b\n" ); + _glu_dprintf( "case b\n" ); #endif assert( v1->param[0] <= v2next->param[0] ); assert( v2->param[0] <= v2next->param[0] ); @@ -130,12 +130,12 @@ return sgn; } else { #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif v2 = v2next++; if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -146,7 +146,7 @@ } } else { #ifndef NDEBUG - dprintf( "case ab\n" ); + _glu_dprintf( "case ab\n" ); #endif if( v1next->param[1] < v2next->param[1] ) return 0; @@ -154,12 +154,12 @@ return 1; else { #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif v2 = v2next++; if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -183,7 +183,7 @@ assert( v2 != v2last ); #ifndef NDEBUG - dprintf( "arc_ccw_turn, p = %d\n", 0 ); + _glu_dprintf( "arc_ccw_turn, p = %d\n", 0 ); #endif // the arcs lie on the line (0 == v1->param[0]) @@ -201,7 +201,7 @@ while( 1 ) { if( v1next->param[0] > v2next->param[0] ) { #ifndef NDEBUG - dprintf( "case c\n" ); + _glu_dprintf( "case c\n" ); #endif assert( v1->param[0] >= v1next->param[0] ); assert( v2->param[0] >= v1next->param[0] ); @@ -215,11 +215,11 @@ else { v1 = v1next--; #ifdef DEBUG - dprintf( "decr\n" ); + _glu_dprintf( "decr\n" ); #endif if( v1 == v1last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -230,7 +230,7 @@ } } else if( v1next->param[0] < v2next->param[0] ) { #ifndef NDEBUG - dprintf( "case d\n" ); + _glu_dprintf( "case d\n" ); #endif assert( v1->param[0] >= v2next->param[0] ); assert( v2->param[0] >= v2next->param[0] ); @@ -244,11 +244,11 @@ else { v2 = v2next++; #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -259,7 +259,7 @@ } } else { #ifdef DEBUG - dprintf( "case cd\n" ); + _glu_dprintf( "case cd\n" ); #endif if( v1next->param[1] < v2next->param[1] ) return 1; @@ -268,11 +268,11 @@ else { v2 = v2next++; #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -296,7 +296,7 @@ assert( v2 != v2last ); #ifndef NDEBUG - dprintf( "arc_ccw_turn, p = %d\n", 1 ); + _glu_dprintf( "arc_ccw_turn, p = %d\n", 1 ); #endif // the arcs lie on the line (1 == v1->param[1]) @@ -314,7 +314,7 @@ while( 1 ) { if( v1next->param[1] < v2next->param[1] ) { #ifndef NDEBUG - dprintf( "case a\n" ); + _glu_dprintf( "case a\n" ); #endif assert( v1->param[1] <= v1next->param[1] ); assert( v2->param[1] <= v1next->param[1] ); @@ -327,12 +327,12 @@ return sgn; } else { #ifdef DEBUG - dprintf( "decr\n" ); + _glu_dprintf( "decr\n" ); #endif v1 = v1next--; if( v1 == v1last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -343,7 +343,7 @@ } } else if( v1next->param[1] > v2next->param[1] ) { #ifndef NDEBUG - dprintf( "case b\n" ); + _glu_dprintf( "case b\n" ); #endif assert( v1->param[1] <= v2next->param[1] ); assert( v2->param[1] <= v2next->param[1] ); @@ -356,12 +356,12 @@ return sgn; } else { #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif v2 = v2next++; if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -372,7 +372,7 @@ } } else { #ifdef DEBUG - dprintf( "case ab\n" ); + _glu_dprintf( "case ab\n" ); #endif if( v1next->param[0] < v2next->param[0] ) return 1; @@ -380,12 +380,12 @@ return 0; else { #ifdef DEBUG - dprintf( "incr\n" ); + _glu_dprintf( "incr\n" ); #endif v2 = v2next++; if( v2 == v2last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -409,7 +409,7 @@ assert( v2 != v2last ); #ifndef NDEBUG - dprintf( "arc_ccw_turn, p = %d\n", 1 ); + _glu_dprintf( "arc_ccw_turn, p = %d\n", 1 ); #endif // the arcs lie on the line (1 == v1->param[1]) @@ -427,7 +427,7 @@ while( 1 ) { if( v1next->param[1] > v2next->param[1] ) { #ifndef NDEBUG - dprintf( "case c\n" ); + _glu_dprintf( "case c\n" ); #endif assert( v1->param[1] >= v1next->param[1] ); assert( v2->param[1] >= v1next->param[1] ); @@ -441,11 +441,11 @@ else { v1 = v1next--; #ifdef DEBUG - dprintf( "decr\n" ); + _glu_dprintf( "decr\n" ); #endif if( v1 == v1last ) { #ifdef DEBUG - dprintf( "no good results\n" ); + _glu_dprintf( "no good results\n" ); #endif return 0; // ill-conditioned, guess answer } @@ -456,7 +456,7 @@ [... truncated: 224608 lines follow ...] From korli at mail.berlios.de Wed Feb 7 22:00:34 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 7 Feb 2007 22:00:34 +0100 Subject: [Haiku-commits] r20112 - haiku/vendor/mesa Message-ID: <200702072100.l17L0Yuq032373@sheep.berlios.de> Author: korli Date: 2007-02-07 22:00:33 +0100 (Wed, 07 Feb 2007) New Revision: 20112 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20112&view=rev Added: haiku/vendor/mesa/6.5.2/ Log: tagging Mesa 6.5.2 Copied: haiku/vendor/mesa/6.5.2 (from rev 20111, haiku/vendor/mesa/current) From darkwyrm at mail.berlios.de Wed Feb 7 23:15:21 2007 From: darkwyrm at mail.berlios.de (darkwyrm at BerliOS) Date: Wed, 7 Feb 2007 23:15:21 +0100 Subject: [Haiku-commits] r20113 - haiku/trunk/src/apps/resedit Message-ID: <200702072215.l17MFLee003744@sheep.berlios.de> Author: darkwyrm Date: 2007-02-07 23:15:21 +0100 (Wed, 07 Feb 2007) New Revision: 20113 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20113&view=rev Modified: haiku/trunk/src/apps/resedit/App.cpp haiku/trunk/src/apps/resedit/Editor.h haiku/trunk/src/apps/resedit/Jamfile haiku/trunk/src/apps/resedit/PreviewColumn.cpp haiku/trunk/src/apps/resedit/PreviewColumn.h haiku/trunk/src/apps/resedit/ResView.cpp haiku/trunk/src/apps/resedit/ResView.h haiku/trunk/src/apps/resedit/ResourceData.cpp haiku/trunk/src/apps/resedit/ResourceData.h haiku/trunk/src/apps/resedit/ResourceRoster.cpp haiku/trunk/src/apps/resedit/ResourceRoster.h Log: Still a work-in-progress, but now basic editing can be done. Added an ImageEditor object, but edits aren't saved... yet Modified: haiku/trunk/src/apps/resedit/App.cpp =================================================================== --- haiku/trunk/src/apps/resedit/App.cpp 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/App.cpp 2007-02-07 22:15:21 UTC (rev 20113) @@ -17,7 +17,6 @@ return 0; } - App::App(void) : BApplication("application/x-vnd.Haiku-ResEdit"), fWindowCount(0) @@ -37,10 +36,19 @@ void App::ReadyToRun(void) { +/* if (fWindowCount < 1) { ResWindow *win = new ResWindow(BRect(50,100,600,400)); win->Show(); } +*/ + if (fWindowCount < 1) { + BEntry entry("/boot/develop/projects/ResEdit/CapitalBe.rsrc"); + entry_ref ref; + entry.GetRef(&ref); + ResWindow *win = new ResWindow(BRect(50,100,600,400),&ref); + win->Show(); + } } Modified: haiku/trunk/src/apps/resedit/Editor.h =================================================================== --- haiku/trunk/src/apps/resedit/Editor.h 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/Editor.h 2007-02-07 22:15:21 UTC (rev 20113) @@ -8,14 +8,25 @@ #ifndef EDITOR_H #define EDITOR_H -class Editor +#include +#include + +class ResourceData; + +#define M_UPDATE_RESOURCE 'uprs' + +class Editor : public BWindow { public: - Editor(void); + Editor(const BRect &frame, ResourceData *data, + BHandler *owner); virtual ~Editor(void); - virtual BView * GetConfigView(void); - virtual void LoadData(unsigned char *data, const size_t &length); - virtual unsigned char * SaveData(size_t *data); + + ResourceData * GetData(void) const { return fResData; } + BHandler * GetOwner(void) const { return fOwner; } +private: + ResourceData *fResData; + BHandler *fOwner; }; #endif Modified: haiku/trunk/src/apps/resedit/Jamfile =================================================================== --- haiku/trunk/src/apps/resedit/Jamfile 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/Jamfile 2007-02-07 22:15:21 UTC (rev 20113) @@ -15,7 +15,13 @@ Application ResEdit : $(columnViewSources) App.cpp + BitmapView.cpp + ImageEditor.cpp + InlineEditor.cpp + MiscEditors.cpp + NumberEditors.cpp PreviewColumn.cpp + ResFields.cpp ResourceData.cpp ResourceRoster.cpp ResView.cpp Modified: haiku/trunk/src/apps/resedit/PreviewColumn.cpp =================================================================== --- haiku/trunk/src/apps/resedit/PreviewColumn.cpp 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/PreviewColumn.cpp 2007-02-07 22:15:21 UTC (rev 20113) @@ -6,6 +6,7 @@ * DarkWyrm */ #include "PreviewColumn.h" +#include "ResFields.h" #include PreviewColumn::PreviewColumn(const char *title, float width, @@ -17,56 +18,12 @@ void PreviewColumn::DrawField(BField* field, BRect rect, BView* parent) { - BIntegerField *intField = dynamic_cast(field); - BStringField *strField = dynamic_cast(field); - BBitmapField *bmpField = dynamic_cast(field); - - if (intField) { - float width = rect.Width() - 16; - BString string; - string << intField->Value(); - parent->TruncateString(&string, B_TRUNCATE_MIDDLE, width + 2); - DrawString(string.String(), parent, rect); - } else if (strField) { - float width = rect.Width() - 16; - if (width != strField->Width()) { - BString out_string(strField->String()); - - parent->TruncateString(&out_string, B_TRUNCATE_END, width + 2); - strField->SetClippedString(out_string.String()); - strField->SetWidth(width); - } - DrawString(strField->ClippedString(), parent, rect); - } else if (bmpField) { - const BBitmap *bitmap = bmpField->Bitmap(); - - if (bitmap != NULL) { - // Scale the bitmap down to completely fit within the field's height - BRect drawrect(bitmap->Bounds().OffsetToCopy(rect.LeftTop())); - if (drawrect.Height() > rect.Height()) { - drawrect = rect; - drawrect.right = drawrect.left + - (bitmap->Bounds().Width() * - (rect.Height() / bitmap->Bounds().Height())); - } - - parent->SetDrawingMode(B_OP_ALPHA); - parent->DrawBitmap(bitmap, bitmap->Bounds(), drawrect); - parent->SetDrawingMode(B_OP_COPY); - - BString out; - out << bitmap->Bounds().IntegerWidth() << " x " - << bitmap->Bounds().IntegerHeight() << " x " - << (int32(bitmap->BytesPerRow() / bitmap->Bounds().Width()) * 8); - - BRect stringrect = rect; - stringrect.right -= 10; - stringrect.left = stringrect.right - parent->StringWidth(out.String()); - if (stringrect.left < drawrect.right + 5) - stringrect.left = drawrect.right + 5; - - parent->TruncateString(&out, B_TRUNCATE_END, stringrect.Width()); - DrawString(out.String(), parent, stringrect); - } - } + PreviewField *pField = (PreviewField*)field; + pField->DrawField(rect,parent); } + +bool +PreviewColumn::AcceptsField(const BField* field) const +{ + return dynamic_cast(field); +} Modified: haiku/trunk/src/apps/resedit/PreviewColumn.h =================================================================== --- haiku/trunk/src/apps/resedit/PreviewColumn.h 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/PreviewColumn.h 2007-02-07 22:15:21 UTC (rev 20113) @@ -16,6 +16,7 @@ PreviewColumn(const char *title, float width, float minWidth, float maxWidth); void DrawField(BField* field, BRect rect, BView* parent); + bool AcceptsField(const BField* field) const; }; #endif Modified: haiku/trunk/src/apps/resedit/ResView.cpp =================================================================== --- haiku/trunk/src/apps/resedit/ResView.cpp 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResView.cpp 2007-02-07 22:15:21 UTC (rev 20113) @@ -17,8 +17,10 @@ #include "App.h" #include "ResourceData.h" +#include "ResFields.h" #include "ResWindow.h" #include "PreviewColumn.h" +#include "Editor.h" static int32 sUntitled = 1; @@ -29,7 +31,8 @@ M_OPEN_FILE, M_SAVE_FILE, M_SAVE_FILE_AS, - M_QUIT + M_QUIT, + M_EDIT_RESOURCE }; ResView::ResView(const BRect &frame, const char *name, const int32 &resize, @@ -78,6 +81,7 @@ fListView->AddColumn(new BStringColumn("Type",width,width,100,B_TRUNCATE_END),1); fListView->AddColumn(new BStringColumn("Name",150,50,300,B_TRUNCATE_END),2); fListView->AddColumn(new PreviewColumn("Data",150,50,300),3); + fListView->SetInvocationMessage(new BMessage(M_EDIT_RESOURCE)); width = be_plain_font->StringWidth("1000 bytes") + 20; fListView->AddColumn(new BSizeColumn("Size",width,10,100),4); @@ -89,6 +93,7 @@ ResView::~ResView(void) { + EmptyDataList(); delete fRef; } @@ -98,12 +103,18 @@ { for(int32 i = 0; i < fBar->CountItems(); i++) fBar->SubmenuAt(i)->SetTargetForItems(this); + fListView->SetTarget(this); } void ResView::MessageReceived(BMessage *msg) { + if (msg->WasDropped()) { + be_app->PostMessage(msg); + return; + } + switch (msg->what) { case M_NEW_FILE: { BRect r(100,100,400,400); @@ -121,6 +132,28 @@ be_app->PostMessage(B_QUIT_REQUESTED); break; } + case M_EDIT_RESOURCE: { + BRow *row = fListView->CurrentSelection(); + TypeCodeField *field = (TypeCodeField*)row->GetField(1); + gResRoster.SpawnEditor(field->GetResourceData(),this); + break; + } + case M_UPDATE_RESOURCE: { + ResourceData *item; + if (msg->FindPointer("item",(void **)&item) != B_OK) + break; + + for (int32 i = 0; i < fListView->CountRows(); i++) { + BRow *row = fListView->RowAt(i); + TypeCodeField *field = (TypeCodeField*)row->GetField(1); + if (!field || field->GetResourceData() != item) + continue; + + UpdateRow(row); + break; + } + break; + } default: BView::MessageReceived(msg); } @@ -133,86 +166,88 @@ // Add all the 133t resources and attributes of the file BFile file(&ref, B_READ_ONLY); - if (fResources.SetTo(&file) != B_OK) + BResources resources; + if (resources.SetTo(&file) != B_OK) return; file.Unset(); - fResources.PreloadResourceType(); + resources.PreloadResourceType(); int32 index = 0; - ResourceData data; BRow *row; - while (data.SetFromResource(index, fResources)) { + ResourceData *resData = new ResourceData(); + while (resData->SetFromResource(index, resources)) { row = new BRow(); - row->SetField(new BStringField(data.GetIDString()),0); - row->SetField(new BStringField(data.GetTypeString()),1); - row->SetField(new BStringField(data.GetName()),2); - BField *field = gResRoster.MakeFieldForType(data.GetType(), - data.GetData(), - data.GetLength()); + row->SetField(new BStringField(resData->GetIDString()),0); + row->SetField(new TypeCodeField(resData->GetType(),resData),1); + row->SetField(new BStringField(resData->GetName()),2); + BField *field = gResRoster.MakeFieldForType(resData->GetType(), + resData->GetData(), + resData->GetLength()); if (field) row->SetField(field,3); - row->SetField(new BSizeField(data.GetLength()),4); + row->SetField(new BSizeField(resData->GetLength()),4); fListView->AddRow(row); + fDataList.AddItem(resData); + resData = new ResourceData(); index++; } + delete resData; -//debugger(""); BNode node; if (node.SetTo(&ref) == B_OK) { char attrName[B_ATTR_NAME_LENGTH]; node.RewindAttrs(); + resData = new ResourceData(); while (node.GetNextAttrName(attrName) == B_OK) { - if (data.SetFromAttribute(attrName, node)) { + if (resData->SetFromAttribute(attrName, node)) { row = new BRow(); - row->SetField(new BStringField(data.GetIDString()),0); - row->SetField(new BStringField(data.GetTypeString()),1); - row->SetField(new BStringField(data.GetName()),2); - BField *field = gResRoster.MakeFieldForType(data.GetType(), - data.GetData(), - data.GetLength()); + row->SetField(new BStringField(resData->GetIDString()),0); + row->SetField(new TypeCodeField(resData->GetType(),resData),1); + row->SetField(new BStringField(resData->GetName()),2); + BField *field = gResRoster.MakeFieldForType(resData->GetType(), + resData->GetData(), + resData->GetLength()); if (field) row->SetField(field,3); - row->SetField(new BSizeField(data.GetLength()),4); + row->SetField(new BSizeField(resData->GetLength()),4); fListView->AddRow(row); + fDataList.AddItem(resData); + resData = new ResourceData(); } } + delete resData; } } -const void * -ResView::LoadResource(const type_code &type, const int32 &id, size_t *out_size) +void +ResView::EmptyDataList(void) { - return fResources.LoadResource(type, id, out_size); + for (int32 i = 0; i < fDataList.CountItems(); i++) { + ResourceData *data = (ResourceData*) fDataList.ItemAt(i); + delete data; + } + fDataList.MakeEmpty(); } -const void * -ResView::LoadResource(const type_code &type, const char *name, size_t *out_size) +void +ResView::UpdateRow(BRow *row) { - return fResources.LoadResource(type, name, out_size); + TypeCodeField *typeField = (TypeCodeField*) row->GetField(1); + ResourceData *resData = typeField->GetResourceData(); + BStringField *strField = (BStringField *)row->GetField(0); + + if (strcmp("(attr)", strField->String()) != 0) + strField->SetString(resData->GetIDString()); + + strField = (BStringField *)row->GetField(2); + strField->SetString(resData->GetName()); + + PreviewField *preField = (PreviewField*)row->GetField(3); + preField->SetData(resData->GetData(), resData->GetLength()); + + BSizeField *sizeField = (BSizeField*)row->GetField(4); + sizeField->SetSize(resData->GetLength()); } - - -status_t -ResView::AddResource(const type_code &type, const int32 &id, const void *data, - const size_t &data_size, const char *name) -{ - return fResources.AddResource(type, id, data, data_size, name); -} - - -bool -ResView::HasResource(const type_code &type, const int32 &id) -{ - return fResources.HasResource(type, id); -} - - -bool -ResView::HasResource(const type_code &type, const char *name) -{ - return fResources.HasResource(type, name); -} - Modified: haiku/trunk/src/apps/resedit/ResView.h =================================================================== --- haiku/trunk/src/apps/resedit/ResView.h 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResView.h 2007-02-07 22:15:21 UTC (rev 20113) @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "ResourceRoster.h" @@ -31,25 +32,16 @@ void OpenFile(const entry_ref &ref); - // BResources mirror API - const void * LoadResource(const type_code &type, const int32 &id, - size_t *out_size); - const void * LoadResource(const type_code &type, const char *name, - size_t *out_size); - status_t AddResource(const type_code &type, const int32 &id, - const void *data, const size_t &data_size, - const char *name = NULL); - bool HasResource(const type_code &type, const int32 &id); - bool HasResource(const type_code &type, const char *name); - private: + void EmptyDataList(void); + void UpdateRow(BRow *row); + BColumnListView *fListView; entry_ref *fRef; BString fFileName; BMenuBar *fBar; bool fIsDirty; - - BResources fResources; + BList fDataList; }; extern ResourceRoster gResRoster; Modified: haiku/trunk/src/apps/resedit/ResourceData.cpp =================================================================== --- haiku/trunk/src/apps/resedit/ResourceData.cpp 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResourceData.cpp 2007-02-07 22:15:21 UTC (rev 20113) @@ -6,6 +6,7 @@ * DarkWyrm */ #include "ResourceData.h" +#include "ResFields.h" #include ResourceData::ResourceData(void) @@ -16,7 +17,7 @@ fName(""), fData(NULL), fLength(0), - fFree(false) + fAttr(false) { } @@ -29,11 +30,11 @@ fName(name), fData(data), fLength(length), - fFree(false) + fAttr(false) { fIDString = ""; fIDString << fID; - MakeTypeString(); + fTypeString = MakeTypeString(code); } @@ -45,8 +46,7 @@ ResourceData::~ResourceData(void) { - if (fFree) - free(fData); + free(fData); } @@ -58,13 +58,9 @@ fID = data.fID; fIDString = data.fIDString; fName = data.fName; - fLength = data.fLength; - fFree = data.fFree; + fAttr = data.fAttr; + SetData(data.fData, data.fLength); - // This is an attribute, so we need to allocate and free the data - if (fFree) { - fData = data.fData; - } return *this; } @@ -78,11 +74,12 @@ return false; } fName = name; - MakeTypeString(); + fTypeString = MakeTypeString(fType); fIDString = ""; fIDString << fID; - fFree = false; - fData = (char *)res.LoadResource(fType,fID,&fLength); + fAttr = false; + char *data = (char *)res.LoadResource(fType,fID,&fLength); + SetData(data,fLength); return true; } @@ -102,9 +99,9 @@ fIDString = "(attr)"; fName = name; fLength = info.size; - fFree = true; + fAttr = true; - MakeTypeString(); + fTypeString = MakeTypeString(fType); fData = (char *)malloc(fLength); if (fData) { @@ -125,27 +122,45 @@ const char *name, char *data, const size_t &length) { fType = code; + fTypeString = MakeTypeString(code); fID = id; + fIDString = ""; + fIDString << fID; fName = name; - fData = data; - fLength = length; + SetData(data,length); - MakeTypeString(); } void -ResourceData::MakeTypeString(void) +ResourceData::SetType(const type_code &code) { - char typestring[7]; - char *typeptr = (char *) &fType; - typestring[0] = '\''; - typestring[1] = typeptr[3]; - typestring[2] = typeptr[2]; - typestring[3] = typeptr[1]; - typestring[4] = typeptr[0]; - typestring[5] = '\''; - typestring[6] = '\0'; - fTypeString = typestring; + fType = code; + fTypeString = MakeTypeString(code); } + +void +ResourceData::SetID(const int32 &id) +{ + fID = id; + fIDString = ""; + fIDString << fID; +} + + +void +ResourceData::SetData(const char *data, const size_t &size) +{ + free(fData); + + fLength = size; + + if (size > 0) { + fData = (char *)malloc(size); + memcpy(fData,data,size); + } + else + fData = NULL; +} + Modified: haiku/trunk/src/apps/resedit/ResourceData.h =================================================================== --- haiku/trunk/src/apps/resedit/ResourceData.h 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResourceData.h 2007-02-07 22:15:21 UTC (rev 20113) @@ -31,17 +31,23 @@ type_code GetType(void) const { return fType; } const char * GetTypeString(void) const { return fTypeString.String(); } + void SetType(const type_code &code); + int32 GetID(void) const { return fID; } const char * GetIDString(void) const { return fIDString.String(); } + void SetID(const int32 &id); + const char * GetName(void) const { return fName.String(); } + void SetName(const char *name) { fName = name; } + char * GetData(void) { return fData; } size_t GetLength(void) const { return fLength; } + void SetData(const char *data, const size_t &size); - bool IsAttribute(void) const { return fFree; } + bool IsAttribute(void) const { return fAttr; } + void SetAttribute(const bool &value) { fAttr = value; } private: - void MakeTypeString(void); - int32 fType; BString fTypeString; int32 fID; @@ -49,7 +55,7 @@ BString fName; char *fData; size_t fLength; - bool fFree; + bool fAttr; }; #endif Modified: haiku/trunk/src/apps/resedit/ResourceRoster.cpp =================================================================== --- haiku/trunk/src/apps/resedit/ResourceRoster.cpp 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResourceRoster.cpp 2007-02-07 22:15:21 UTC (rev 20113) @@ -15,6 +15,10 @@ #include #include +#include "ResourceData.h" +#include "InternalEditors.h" +#include "ResFields.h" + // For the MakeFieldForType temp code #include #include @@ -77,7 +81,7 @@ // temporary code until editors are done switch (type) { case B_MIME_STRING_TYPE: - return new BStringField(data); + return new StringPreviewField(data); case B_GIF_FORMAT: case B_PPM_FORMAT: case B_TGA_FORMAT: @@ -88,9 +92,7 @@ BMemoryIO memio(data,length); BBitmap *bitmap = BTranslationUtils::GetBitmap(&memio); if (bitmap) { - // XXX WARNING! WARNING! Known memory leak - // This is temp code, so it's OK for the moment - BBitmapField *field = new BBitmapField(bitmap); + BitmapPreviewField *field = new BitmapPreviewField(bitmap); return field; } break; @@ -144,3 +146,31 @@ } } +void +ResourceRoster::SpawnEditor(ResourceData *data, BHandler *handler) +{ + // temporary code until editors are done + switch (data->GetType()) { + case B_MIME_STRING_TYPE: { + StringEditor *strEd = new StringEditor(BRect(100,100,300,200), + data, handler); + strEd->Show(); + break; + } + case B_GIF_FORMAT: + case B_PPM_FORMAT: + case B_TGA_FORMAT: + case B_BMP_FORMAT: + case B_TIFF_FORMAT: + case B_PNG_FORMAT: + case B_JPEG_FORMAT: { + ImageEditor *imgEd = new ImageEditor(BRect(100,100,300,200), + data, handler); + imgEd->Show(); + break; + } + default: + break; + } +} + Modified: haiku/trunk/src/apps/resedit/ResourceRoster.h =================================================================== --- haiku/trunk/src/apps/resedit/ResourceRoster.h 2007-02-07 21:00:33 UTC (rev 20112) +++ haiku/trunk/src/apps/resedit/ResourceRoster.h 2007-02-07 22:15:21 UTC (rev 20113) @@ -13,6 +13,7 @@ #include class Editor; +class ResourceData; class ResourceRoster { @@ -21,9 +22,10 @@ ~ResourceRoster(void); BField * MakeFieldForType(const int32 &type, const char *data, const size_t &length); - + void SpawnEditor(ResourceData *data, BHandler *handler); + private: - void LoadEditors(void); + void LoadEditors(void); BList fList; }; From darkwyrm at mail.berlios.de Wed Feb 7 23:16:52 2007 From: darkwyrm at mail.berlios.de (darkwyrm at BerliOS) Date: Wed, 7 Feb 2007 23:16:52 +0100 Subject: [Haiku-commits] r20114 - haiku/trunk/src/apps/resedit Message-ID: <200702072216.l17MGqBc003814@sheep.berlios.de> Author: darkwyrm Date: 2007-02-07 23:16:45 +0100 (Wed, 07 Feb 2007) New Revision: 20114 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20114&view=rev Added: haiku/trunk/src/apps/resedit/BitmapView.cpp haiku/trunk/src/apps/resedit/BitmapView.h haiku/trunk/src/apps/resedit/ImageEditor.cpp haiku/trunk/src/apps/resedit/InlineEditor.cpp haiku/trunk/src/apps/resedit/InlineEditor.h haiku/trunk/src/apps/resedit/InternalEditors.h haiku/trunk/src/apps/resedit/MiscEditors.cpp haiku/trunk/src/apps/resedit/NumberEditors.cpp haiku/trunk/src/apps/resedit/ResFields.cpp haiku/trunk/src/apps/resedit/ResFields.h Log: Forgot to add new files to the last checkin Added: haiku/trunk/src/apps/resedit/BitmapView.cpp =================================================================== --- haiku/trunk/src/apps/resedit/BitmapView.cpp 2007-02-07 22:15:21 UTC (rev 20113) +++ haiku/trunk/src/apps/resedit/BitmapView.cpp 2007-02-07 22:16:45 UTC (rev 20114) @@ -0,0 +1,729 @@ +#include "BitmapView.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// TODO: Add support for labels + +#define M_REMOVE_IMAGE 'mrmi' +#define M_PASTE_IMAGE 'mpsi' + +enum +{ + CLIP_NONE=0, + CLIP_BEOS=1, + CLIP_SHOWIMAGE=2, + CLIP_PRODUCTIVE=3 +}; + +inline void SetRGBColor(rgb_color *col,uint8 r, uint8 g, uint8 b, uint8 a=255); + +void SetRGBColor(rgb_color *col,uint8 r, uint8 g, uint8 b, uint8 a) +{ + if(col) + { + col->red=r; + col->green=g; + col->blue=b; + col->alpha=a; + } +} + +BitmapView::BitmapView(BRect frame, const char *name, BMessage *mod, BBitmap *bitmap, + const char *label, border_style borderstyle,int32 resize,int32 flags) + : BView(frame, name, resize, flags) +{ + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + + if(bitmap && bitmap->IsValid()) + fBitmap=bitmap; + else + fBitmap=NULL; + + if(mod) + SetMessage(mod); + + fLabel=label; + fBorderStyle=borderstyle; + fFixedSize=false; + fEnabled=true; + fRemovableBitmap=false; + fAcceptDrops=true; + fAcceptPaste=true; + fConstrainDrops=true; + fMaxWidth=100; + fMaxHeight=100; + + fPopUpMenu=new BPopUpMenu("deletepopup",false,false); + fPopUpMenu->AddItem(new BMenuItem("Close This Menu",new BMessage(B_CANCEL))); + fPopUpMenu->AddSeparatorItem(); + + fPasteItem=new BMenuItem("Paste Photo from Clipboard",new BMessage(M_PASTE_IMAGE)); + fPopUpMenu->AddItem(fPasteItem); + + fPopUpMenu->AddSeparatorItem(); + + fRemoveItem=new BMenuItem("Remove Photo",new BMessage(M_REMOVE_IMAGE)); + fPopUpMenu->AddItem(fRemoveItem); + + CalculateBitmapRect(); + + // Calculate the offsets for each of the words -- the phrase will be center justified + fNoPhotoWidths[0]=StringWidth("Drop"); + fNoPhotoWidths[1]=StringWidth("a"); + fNoPhotoWidths[2]=StringWidth("Photo"); + fNoPhotoWidths[3]=StringWidth("Here"); + + font_height fh; + GetFontHeight(&fh); + float totalheight=fh.ascent+fh.descent+fh.leading; + float yoffset=(Bounds().Height()-10-(totalheight*4))/2; + fNoPhotoOffsets[0].Set( (Bounds().Width()-fNoPhotoWidths[0])/2,totalheight+yoffset); + fNoPhotoOffsets[1].Set( (Bounds().Width()-fNoPhotoWidths[1])/2,fNoPhotoOffsets[0].y+totalheight); + fNoPhotoOffsets[2].Set( (Bounds().Width()-fNoPhotoWidths[2])/2,fNoPhotoOffsets[1].y+totalheight); + fNoPhotoOffsets[3].Set( (Bounds().Width()-fNoPhotoWidths[3])/2,fNoPhotoOffsets[2].y+totalheight); +} + +BitmapView::~BitmapView(void) +{ + delete fPopUpMenu; +} + +void BitmapView::AttachedToWindow(void) +{ + SetTarget((BHandler*)Window()); + fPopUpMenu->SetTargetForItems(this); +} + +void BitmapView::SetBitmap(BBitmap *bitmap) +{ + if(bitmap && bitmap->IsValid()) + { + if(fBitmap==bitmap) + return; + + fBitmap=bitmap; + } + else + { + if(fBitmap==NULL) + return; + + fBitmap=NULL; + } + + CalculateBitmapRect(); + if(!IsHidden()) + Invalidate(); +} + +void BitmapView::SetEnabled(bool value) +{ + if(fEnabled!=value) + { + fEnabled=value; + Invalidate(); + } +} + +/* +void BitmapView::SetLabel(const char *label) +{ + if(fLabel.Compare(label)!=0) + { + fLabel=label; + + CalculateBitmapRect(); + if(!IsHidden()) + Invalidate(); + } +} +*/ + +void BitmapView::SetStyle(border_style style) +{ + if(fBorderStyle!=style) + { + fBorderStyle=style; + + CalculateBitmapRect(); + if(!IsHidden()) + Invalidate(); + } +} + +void BitmapView::SetFixedSize(bool isfixed) +{ + if(fFixedSize!=isfixed) + { + fFixedSize=isfixed; + + CalculateBitmapRect(); + if(!IsHidden()) + Invalidate(); + } +} + +void BitmapView::MessageReceived(BMessage *msg) +{ + if(msg->WasDropped() && AcceptsDrops()) + { + // We'll handle two types of drops: those from Tracker and those from ShowImage + if(msg->what==B_SIMPLE_DATA) + { + int32 actions; + if(msg->FindInt32("be:actions",&actions)==B_OK) + { + // ShowImage drop. This is a negotiated drag&drop, so send a reply + BMessage reply(B_COPY_TARGET), response; + reply.AddString("be:types","image/jpeg"); + reply.AddString("be:types","image/png"); + + msg->SendReply(&reply,&response); + + // now, we've gotten the response + if(response.what==B_MIME_DATA) + { + // Obtain and translate the received data + uint8 *imagedata; + ssize_t datasize; + + // Try JPEG first + if(response.FindData("image/jpeg",B_MIME_DATA,(const void **)&imagedata,&datasize)!=B_OK) + { + // Try PNG next and piddle out if unsuccessful + if(response.FindData("image/png",B_PNG_FORMAT,(const void **)&imagedata,&datasize)!=B_OK) + return; + } + + // Set up to decode into memory + BMemoryIO memio(imagedata,datasize); + BTranslatorRoster *roster=BTranslatorRoster::Default(); + BBitmapStream bstream; + + if(roster->Translate(&memio,NULL,NULL,&bstream, B_TRANSLATOR_BITMAP)==B_OK) + { + BBitmap *bmp; + if(bstream.DetachBitmap(&bmp)!=B_OK) + return; + + SetBitmap(bmp); + + if(fConstrainDrops) + ConstrainBitmap(); + + Invoke(); + } + } + return; + } + + entry_ref ref; + if(msg->FindRef("refs",&ref)==B_OK) + { + // Tracker drop + BBitmap *bmp=BTranslationUtils::GetBitmap(&ref); + if(bmp) + { + SetBitmap(bmp); + + if(fConstrainDrops) + ConstrainBitmap(); + + Invoke(); + } + } + } + return; + } + + switch(msg->what) + { + case M_REMOVE_IMAGE: + { + BAlert *alert=new BAlert("Mr. Peeps!","This cannot be undone. Remove the image?","Remove", + "Cancel"); + int32 value=alert->Go(); + if(value==0) + { + SetBitmap(NULL); + + if(Target()) + { + BMessenger msgr(Target()); + + msgr.SendMessage(new BMessage(M_BITMAP_REMOVED)); + return; + } + } + } + case M_PASTE_IMAGE: + { + PasteBitmap(); + + Invoke(); + } + } + BView::MessageReceived(msg); +} + +void BitmapView::Draw(BRect rect) +{ + if(fBitmap) + DrawBitmap(fBitmap,fBitmap->Bounds(),fBitmapRect); + else + { + SetHighColor(0,0,0,80); + SetDrawingMode(B_OP_ALPHA); + DrawString("Drop",fNoPhotoOffsets[0]); + DrawString("a",fNoPhotoOffsets[1]); + DrawString("Photo",fNoPhotoOffsets[2]); + DrawString("Here",fNoPhotoOffsets[3]); + SetDrawingMode(B_OP_COPY); + } + + if(fBorderStyle==B_FANCY_BORDER) + { + rgb_color base= {216,216,216,255}; + rgb_color work; + + SetHighColor(base); + StrokeRect(Bounds().InsetByCopy(2,2)); + + BeginLineArray(12); + + BRect r(Bounds()); + + work=tint_color(base,B_DARKEN_2_TINT); + AddLine(r.LeftTop(),r.RightTop(),work); + AddLine(r.LeftTop(),r.LeftBottom(),work); + r.left++; + + work=tint_color(base,B_DARKEN_4_TINT); + AddLine(r.RightTop(),r.RightBottom(),work); + AddLine(r.LeftBottom(),r.RightBottom(),work); + + r.right--; + r.top++; + r.bottom--; + + + work=tint_color(base,B_LIGHTEN_MAX_TINT); + AddLine(r.LeftTop(),r.RightTop(),work); + AddLine(r.LeftTop(),r.LeftBottom(),work); + r.left++; + + work=tint_color(base,B_DARKEN_3_TINT); + AddLine(r.RightTop(),r.RightBottom(),work); + AddLine(r.LeftBottom(),r.RightBottom(),work); + + // this rect handled by the above StrokeRect, so inset a total of 2 pixels + r.left++; + r.right-=2; + r.top+=2; + r.bottom-=2; + + + work=tint_color(base,B_DARKEN_3_TINT); + AddLine(r.LeftTop(),r.RightTop(),work); + AddLine(r.LeftTop(),r.LeftBottom(),work); + r.left++; + + work=tint_color(base,B_LIGHTEN_MAX_TINT); + AddLine(r.RightTop(),r.RightBottom(),work); + AddLine(r.LeftBottom(),r.RightBottom(),work); + + r.right--; + r.top++; + r.bottom--; + EndLineArray(); + + SetHighColor(tint_color(base,B_DARKEN_2_TINT)); + StrokeRect(r); + } + else + { + // Plain border + SetHighColor(0,0,0); + StrokeRect(fBitmapRect); + } +} + +void BitmapView::MouseDown(BPoint pt) +{ + BPoint mousept; + uint32 buttons; + + GetMouse(&mousept,&buttons); + if(buttons & B_SECONDARY_MOUSE_BUTTON) + { + ConvertToScreen(&mousept); + + mousept.x= (mousept.x>5) ? mousept.x-5 : 0; + mousept.y= (mousept.y>5) ? mousept.y-5 : 0; + + if(AcceptsPaste() && ClipboardHasBitmap()) + fPasteItem->SetEnabled(true); + else + fPasteItem->SetEnabled(false); + + if(fRemovableBitmap && fBitmap) + fRemoveItem->SetEnabled(true); + else + fRemoveItem->SetEnabled(false); + + fPopUpMenu->Go(mousept,true,true,true); + } +} + +void BitmapView::FrameResized(float w, float h) +{ + CalculateBitmapRect(); +} + +void BitmapView::CalculateBitmapRect(void) +{ + if(!fBitmap || fFixedSize) + { + fBitmapRect=Bounds().InsetByCopy(1,1); + return; + } + +/* // Dynamic sizing algorithm + // 1) Check to see if either dimension is bigger than the view's display area + // 2) If smaller along both axes, make bitmap rect centered and return + // 3) Check to see if scaling is to be horizontal or vertical on basis of longer axis + // 4) Calculate scaling factor + // 5) Scale both axes down by scaling factor, accounting for border width + // 6) Center the rectangle in the direction of the smaller axis + + + uint8 borderwidth=(fBorderStyle==B_FANCY_BORDER)?5:1; + + BRect r(Bounds()); + r.InsetBy(borderwidth,borderwidth); + + if( (fBitmap->Bounds().Width()<=r.Width()) && + (fBitmap->Bounds().Height()<=r.Height()) ) + { + // Smaller than view, so just center and return + fBitmapRect=fBitmap->Bounds(); + fBitmapRect.OffsetBy( borderwidth+ + ((r.Width()-fBitmapRect.Width()-(borderwidth<<2))/2), + ((r.Height()-fBitmapRect.Height()-(borderwidth<<2))/2) ); + return; + } + + float multiplier=fBitmap->Bounds().Width()/fBitmap->Bounds().Height(); + float offset; + if(multiplier>1) + { + // Landscape orientation + + // Scale rectangle to bounds width and center height + r.bottom=r.top+(r.Width()/multiplier); + + offset= ((Bounds().Height()-(borderwidth<<1)) - r.Height())/2; + r.OffsetBy(0,offset); + } + else + { + // Portrait orientation + + // Scale rectangle to bounds height and center width + r.right=r.left+(r.Height()*multiplier); + + offset= ((Bounds().Width()-(borderwidth<<1)) - r.Width())/2; + r.OffsetBy(offset,0); + } + fBitmapRect=r; +*/ + + uint8 borderwidth=(fBorderStyle==B_FANCY_BORDER)?5:1; + + BRect r(Bounds()); + fBitmapRect= ScaleRectToFit(fBitmap->Bounds(),r.InsetByCopy(borderwidth,borderwidth)); +} + +void BitmapView::SetAcceptDrops(bool accept) +{ + fAcceptDrops=accept; +} + +void BitmapView::SetAcceptPaste(bool accept) +{ + fAcceptPaste=accept; +} + +void BitmapView::SetConstrainDrops(bool value) +{ + fConstrainDrops=value; +} + +void BitmapView::MaxBitmapSize(float *width, float *height) const +{ + *width=fMaxWidth; + *height=fMaxHeight; +} + +void BitmapView::SetMaxBitmapSize(const float &width, const float &height) +{ + fMaxWidth=width; + fMaxHeight=height; + + ConstrainBitmap(); +} + +void BitmapView::SetBitmapRemovable(bool isremovable) +{ + fRemovableBitmap=isremovable; +} + +void BitmapView::ConstrainBitmap(void) +{ + if(!fBitmap || fMaxWidth < 1 || fMaxHeight < 1) + return; + + BRect r=ScaleRectToFit(fBitmap->Bounds(),BRect(0,0,fMaxWidth-1,fMaxHeight-1)); + r.OffsetTo(0,0); + + BBitmap *scaled=new BBitmap(r,fBitmap->ColorSpace(),true); + BView *view=new BView(r,"drawview",0,0); + + scaled->Lock(); + scaled->AddChild(view); + view->DrawBitmap(fBitmap,fBitmap->Bounds(),scaled->Bounds()); + scaled->Unlock(); + + delete fBitmap; + fBitmap=new BBitmap(scaled,false); +} + +bool BitmapView::ClipboardHasBitmap(void) +{ + BMessage *clip=NULL,flattened; + uint8 clipval=CLIP_NONE; + bool returnval; + + if(be_clipboard->Lock()) + { + clip=be_clipboard->Data(); + if(!clip->IsEmpty()) + { + returnval=(clip->FindMessage("image/bitmap",&flattened)==B_OK); + if(returnval) + clipval=CLIP_BEOS; + else + { + BString string; + returnval=(clip->FindString("class",&string)==B_OK && string=="BBitmap"); + + // Try method Gobe Productive uses if that, too, didn't work + if(returnval) + clipval=CLIP_SHOWIMAGE; + else + { + returnval=(clip->FindMessage("image/x-vnd.Be-bitmap",&flattened)==B_OK); + if(returnval) + clipval=CLIP_SHOWIMAGE; + else + clipval=CLIP_NONE; + } + } + } + be_clipboard->Unlock(); + } + return (clipval!=CLIP_NONE)?true:false; +} + +BBitmap *BitmapView::BitmapFromClipboard(void) +{ + BMessage *clip=NULL,flattened; + BBitmap *bitmap; + + if(!be_clipboard->Lock()) + return NULL; + + clip=be_clipboard->Data(); + if(!clip) + return NULL; + + uint8 clipval=CLIP_NONE; + + // Try ArtPaint-style storage + status_t status=clip->FindMessage("image/bitmap",&flattened); + + // If that didn't work, try ShowImage-style + if(status!=B_OK) + { + BString string; + status=clip->FindString("class",&string); + + // Try method Gobe Productive uses if that, too, didn't work + if(status==B_OK && string=="BBitmap") + clipval=CLIP_SHOWIMAGE; + else + { + status=clip->FindMessage("image/x-vnd.Be-bitmap",&flattened); + if(status==B_OK) + clipval=CLIP_PRODUCTIVE; + else + clipval=CLIP_NONE; + } + } + else + clipval=CLIP_BEOS; + + be_clipboard->Unlock(); + + switch(clipval) + { + case CLIP_SHOWIMAGE: + { + // Showimage does it a slightly different way -- it dumps the BBitmap + // data directly to the clipboard message instead of packaging it in + // a bitmap like everyone else. + + if(!be_clipboard->Lock()) + return NULL; + + BMessage datamsg(*be_clipboard->Data()); + + be_clipboard->Unlock(); + + const void *buffer; + int32 bufferLength; + + BRect frame; + color_space cspace=B_NO_COLOR_SPACE; + + status=datamsg.FindRect("_frame",&frame); + if(status!=B_OK) + return NULL; + + status=datamsg.FindInt32("_cspace",(int32)cspace); + if(status!=B_OK) + return NULL; + cspace=B_RGBA32; + bitmap=new BBitmap(frame,cspace,true); + + status=datamsg.FindData("_data",B_RAW_TYPE,(const void **)&buffer, &bufferLength); + if(status!=B_OK) + { + delete bitmap; + return NULL; + } + + memcpy(bitmap->Bits(), buffer, bufferLength); + + return bitmap; + } + case CLIP_PRODUCTIVE: + // Productive doesn't name the packaged BBitmap data message the same, but + // uses exactly the same data format. + + case CLIP_BEOS: + { + const void *buffer; + int32 bufferLength; + + BRect frame; + color_space cspace=B_NO_COLOR_SPACE; + + status=flattened.FindRect("_frame",&frame); + if(status!=B_OK) + return NULL; + + status=flattened.FindInt32("_cspace",(int32)cspace); + if(status!=B_OK) + return NULL; + cspace=B_RGBA32; + bitmap=new BBitmap(frame,cspace,true); + + status=flattened.FindData("_data",B_RAW_TYPE,(const void **)&buffer, &bufferLength); + if(status!=B_OK) + { + delete bitmap; + return NULL; + } + + memcpy(bitmap->Bits(), buffer, bufferLength); + + return bitmap; + } + default: + return NULL; + } + + // shut the compiler up + return NULL; +} + +BRect ScaleRectToFit(const BRect &from, const BRect &to) +{ + // Dynamic sizing algorithm + // 1) Check to see if either dimension is bigger than the view's display area + // 2) If smaller along both axes, make bitmap rect centered and return + // 3) Check to see if scaling is to be horizontal or vertical on basis of longer axis + // 4) Calculate scaling factor + // 5) Scale both axes down by scaling factor, accounting for border width + // 6) Center the rectangle in the direction of the smaller axis + + if(!to.IsValid()) + return from; + if(!from.IsValid()) + return to; + + BRect r(to); + + if( (from.Width()<=r.Width()) && + (from.Height()<=r.Height()) ) + { + // Smaller than view, so just center and return + r=from; + r.OffsetBy( (to.Width()-r.Width())/2, (to.Height()-r.Height())/2 ); + return r; + } + + float multiplier=from.Width()/from.Height(); + if(multiplier>1) + { + // Landscape orientation + + // Scale rectangle to bounds width and center height + r.bottom=r.top+(r.Width()/multiplier); + + r.OffsetBy(0,(to.Height() - r.Height())/2); + } + else + { + // Portrait orientation + + // Scale rectangle to bounds height and center width + r.right=r.left+(r.Height()*multiplier); + + r.OffsetBy((to.Width() - r.Width())/2,0); + } + return r; +} + +void BitmapView::RemoveBitmap(void) +{ + SetBitmap(NULL); +} + +void BitmapView::PasteBitmap(void) +{ + BBitmap *bmp=BitmapFromClipboard(); + if(bmp) + SetBitmap(bmp); + + if(fConstrainDrops) + ConstrainBitmap(); +} Added: haiku/trunk/src/apps/resedit/BitmapView.h =================================================================== --- haiku/trunk/src/apps/resedit/BitmapView.h 2007-02-07 22:15:21 UTC (rev 20113) +++ haiku/trunk/src/apps/resedit/BitmapView.h 2007-02-07 22:16:45 UTC (rev 20114) @@ -0,0 +1,93 @@ +#ifndef BMPVIEW_H +#define BMPVIEW_H + +#include +#include +#include +#include +#include +#include + +enum +{ + M_BITMAP_ADDED='mbma', + M_BITMAP_REMOVED='mbmr' +}; + +class BitmapView : public BView, public BInvoker +{ +public: + BitmapView(BRect frame, const char *name, BMessage *mod, BBitmap *bitmap, + const char *label = NULL, border_style = B_PLAIN_BORDER, + int32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP, int32 flags = B_WILL_DRAW); + ~BitmapView(void); + virtual void AttachedToWindow(void); + + virtual void Draw(BRect rect); + virtual void MessageReceived(BMessage *msg); + virtual void MouseDown(BPoint pt); + virtual void FrameResized(float w, float h); + + virtual void SetBitmap(BBitmap *bitmap); + BBitmap *GetBitmap(void) const { return fBitmap; } + + bool IsEnabled(void) const { return fEnabled; } + virtual void SetEnabled(bool value); + +// const char *Label(void) const { return fLabel.String(); } +// virtual void SetLabel(const char *label); + + border_style Style(void) const { return fBorderStyle; } + virtual void SetStyle(border_style style); + + bool IsFixedSize(void) const { return fFixedSize; } + void SetFixedSize(bool isfixed); + + bool AcceptsDrops(void) const { return fAcceptDrops; } + virtual void SetAcceptDrops(bool accept); + + bool AcceptsPaste(void) const { return fAcceptPaste; } + virtual void SetAcceptPaste(bool accept); + + bool ConstrainsDrops(void) const { return fConstrainDrops; } + virtual void SetConstrainDrops(bool value); + + void MaxBitmapSize(float *width, float *height) const; + virtual void SetMaxBitmapSize(const float &width, const float &height); + + bool IsBitmapRemovable(void) const { return fRemovableBitmap; } + void SetBitmapRemovable(bool isremovable); + + void RemoveBitmap(void); + void PasteBitmap(void); + +private: + void CalculateBitmapRect(void); + void ConstrainBitmap(void); + + bool ClipboardHasBitmap(void); + BBitmap *BitmapFromClipboard(void); + + float fNoPhotoWidths[4]; + BPoint fNoPhotoOffsets[4]; + + BBitmap *fBitmap; + BRect fBitmapRect; + bool fEnabled; + BString fLabel; + border_style fBorderStyle; + bool fFixedSize; + bool fAcceptDrops; + bool fAcceptPaste; + bool fConstrainDrops; + float fMaxWidth, fMaxHeight; + bool fRemovableBitmap; + BPopUpMenu *fPopUpMenu; + uint32 fMouseButtons; + BMenuItem *fPasteItem; + BMenuItem *fRemoveItem; +}; + +BRect ScaleRectToFit(const BRect &from, const BRect &to); + +#endif Added: haiku/trunk/src/apps/resedit/ImageEditor.cpp =================================================================== --- haiku/trunk/src/apps/resedit/ImageEditor.cpp 2007-02-07 22:15:21 UTC (rev 20113) +++ haiku/trunk/src/apps/resedit/ImageEditor.cpp 2007-02-07 22:16:45 UTC (rev 20114) @@ -0,0 +1,113 @@ +#include "InternalEditors.h" +#include "BitmapView.h" +#include "ResourceData.h" +#include +#include + +#define M_IMAGE_CHANGED 'imch' + +ImageEditor::ImageEditor(const BRect &frame, ResourceData *data, BHandler *owner) + : Editor(frame, data, owner) +{ + SetFlags(Flags() | B_NOT_RESIZABLE | B_NOT_ZOOMABLE); + SetTitle(data->GetName()); + + // Set up the image and the viewer for such + BMemoryIO memio(data->GetData(),data->GetLength()); + fImage = BTranslationUtils::GetBitmap(&memio); + + BRect imgsize; + if (fImage) + imgsize = ScaleRectToFit(fImage->Bounds(),BRect(0,0,200,200)); + else + imgsize.Set(0,0,200,200); + + BView *back = new BView(Bounds(),"back",B_FOLLOW_ALL,B_WILL_DRAW); + back->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + AddChild(back); + + BRect r; + + float labelwidth = be_plain_font->StringWidth("ID: "); + float strwidth = be_plain_font->StringWidth("(attr) "); + + font_height fh; + be_plain_font->GetHeight(&fh); + float strheight = fh.ascent + fh.descent + fh.leading + 5; + + fIDBox = new BTextControl(BRect(10,10,10 + (strwidth + labelwidth) + 15, + 10 + strheight), + "id","ID: ",data->GetIDString(), NULL); + fIDBox->SetDivider(labelwidth + 5); + back->AddChild(fIDBox); + + r = fIDBox->Frame(); + r.OffsetBy(r.Width() + 10, 0); + r.right = Bounds().right - 10; + fNameBox = new BTextControl(r,"name","Name: ",data->GetName(), NULL, + B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP); + fNameBox->SetDivider(be_plain_font->StringWidth("Name: ") + 5); + back->AddChild(fNameBox); + + r = imgsize; + + r.OffsetTo( (Bounds().Width() - r.Width()) / 2,fNameBox->Frame().bottom + 10); + fImageView = new BitmapView(r,"imageview",new BMessage(M_IMAGE_CHANGED),fImage, + NULL, B_PLAIN_BORDER, B_FOLLOW_NONE, + B_WILL_DRAW | B_FRAME_EVENTS); + back->AddChild(fImageView); + fImageView->SetConstrainDrops(false); + + // No limit on bitmap size + fImageView->SetMaxBitmapSize(0,0); + fImageView->SetBitmapRemovable(false); + + fOK = new BButton(BRect(10,10,11,11),"ok","Cancel",new BMessage(M_UPDATE_RESOURCE), + B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); + fOK->ResizeToPreferred(); + fOK->SetLabel("OK"); + fOK->MakeDefault(true); + back->AddChild(fOK); + + fOK->MoveTo(Bounds().right - fOK->Bounds().Width() - 10, + Bounds().bottom - fOK->Bounds().Height() - 10); + r = fOK->Frame(); + + r.OffsetBy(-r.Width() - 10, 0); + fCancel = new BButton(r,"cancel","Cancel",new BMessage(B_QUIT_REQUESTED), + B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); + back->AddChild(fCancel); + + ResizeTo(MAX(fImageView->Frame().right, fNameBox->Frame().right) + 20, + fImageView->Frame().bottom + fOK->Frame().Height() + 20); +} + + +ImageEditor::~ImageEditor(void) +{ + delete fImage; +} + + +void +ImageEditor::MessageReceived(BMessage *msg) +{ + if (msg->WasDropped()) { + fImageView->MessageReceived(msg); + } else if (msg->what == M_IMAGE_CHANGED) { + fImage = fImageView->GetBitmap(); + BRect r = ScaleRectToFit(fImage->Bounds(), BRect(0,0,200,200)); + fImageView->ResizeTo(r.Width(),r.Height()); + ResizeTo(MAX(fImageView->Frame().right, fNameBox->Frame().right) + 20, + fImageView->Frame().bottom + fOK->Frame().Height() + 20); + } else + BWindow::MessageReceived(msg); +} + + +void +ImageEditor::FrameResized(float w, float h) +{ + fImageView->MoveTo( (w - fImageView->Bounds().Width()) / 2, + fNameBox->Frame().bottom + 10); +} Added: haiku/trunk/src/apps/resedit/InlineEditor.cpp =================================================================== --- haiku/trunk/src/apps/resedit/InlineEditor.cpp 2007-02-07 22:15:21 UTC (rev 20113) +++ haiku/trunk/src/apps/resedit/InlineEditor.cpp 2007-02-07 22:16:45 UTC (rev 20114) @@ -0,0 +1,94 @@ +#include "InlineEditor.h" +#include +#include + +class EditFilter : public BMessageFilter +{ +public: + EditFilter(BTextControl *textbox) + : BMessageFilter(B_PROGRAMMED_DELIVERY, B_ANY_SOURCE,B_KEY_DOWN) + { + fTextBox = textbox; + } + + ~EditFilter(void) + { + } + + filter_result Filter(BMessage *msg, BHandler **target) + { + int32 rawchar; + msg->FindInt32("raw_char",&rawchar); + + if (rawchar == B_ESCAPE) { + BLooper *loop = (*target)->Looper(); + if (loop) { + BMessenger msgr(loop); + msgr.SendMessage(B_QUIT_REQUESTED); + return B_SKIP_MESSAGE; + } + } else if (rawchar == B_ENTER) { + fTextBox->Invoke(); + return B_SKIP_MESSAGE; + } + return B_DISPATCH_MESSAGE; + } + +private: + BTextControl *fTextBox; + +}; + +InlineEditor::InlineEditor(BMessenger target, const BRect &frame, [... truncated: 654 lines follow ...] From korli at users.berlios.de Thu Feb 8 10:02:24 2007 From: korli at users.berlios.de (=?iso-8859-1?b?Suly9G1l?= Duval) Date: Thu, 08 Feb 2007 10:02:24 +0100 Subject: [Haiku-commits] r20114 - haiku/trunk/src/apps/resedit In-Reply-To: <200702072216.l17MGqBc003814@sheep.berlios.de> References: <200702072216.l17MGqBc003814@sheep.berlios.de> Message-ID: <1170925344.45cae720abfbe@imp.free.fr> Hi Darkwyrm, Selon darkwyrm at BerliOS : > Author: darkwyrm > Date: 2007-02-07 23:16:45 +0100 (Wed, 07 Feb 2007) > New Revision: 20114 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20114&view=rev > Log: > Forgot to add new files to the last checkin > I know it's a WIP, there is still room for improvements on the code style (space after if, unneeded carriage return). Thanks for this work :) Bye, J?r?me From darkwyrm at earthlink.net Thu Feb 8 11:55:25 2007 From: darkwyrm at earthlink.net (DarkWyrm) Date: Thu, 08 Feb 2007 05:55:25 -0500 EST Subject: [Haiku-commits] r20114 - haiku/trunk/src/apps/resedit In-Reply-To: <1170925344.45cae720abfbe@imp.free.fr> Message-ID: <1365072592-BeMail@sapphire> > Hi Darkwyrm, > > Selon darkwyrm at BerliOS : > > > Author: darkwyrm > > Date: 2007-02-07 23:16:45 +0100 (Wed, 07 Feb 2007) > > New Revision: 20114 > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20114&view=rev > > Log: > > Forgot to add new files to the last checkin > > > > I know it's a WIP, there is still room for improvements on the code > style (space > after if, unneeded carriage return). > Thanks for this work :) Yep, I know. :-) Some of the sources are imported from some of my other projects and the style needs updating. I updated some, but there was quite a bit of changing needed to be done, so I may have missed some, but each iteration should be better than the ones before it. --DW From mmu_man at mail.berlios.de Thu Feb 8 20:04:46 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Thu, 8 Feb 2007 20:04:46 +0100 Subject: [Haiku-commits] r20115 - buildtools/trunk/gcc/gcc Message-ID: <200702081904.l18J4kvE025869@sheep.berlios.de> Author: mmu_man Date: 2007-02-08 20:04:45 +0100 (Thu, 08 Feb 2007) New Revision: 20115 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20115&view=rev Removed: buildtools/trunk/gcc/gcc/gengtype-yacc.c buildtools/trunk/gcc/gcc/gengtype-yacc.h Log: No reason to keep those 2 in, they are automatically generated. This fixes one fo the problems of building gcc4 under Zeta. See http://gcc.gnu.org/ml/gcc/2003-10/msg01501.html If you want to try you'll have to also remove the -lm in gcc/gcc/Makefile.in or symlink it to libroot.so. Deleted: buildtools/trunk/gcc/gcc/gengtype-yacc.c Deleted: buildtools/trunk/gcc/gcc/gengtype-yacc.h From mmu_man at mail.berlios.de Fri Feb 9 11:16:39 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 9 Feb 2007 11:16:39 +0100 Subject: [Haiku-commits] r20116 - haiku/trunk/src/bin Message-ID: <200702091016.l19AGdwL001181@sheep.berlios.de> Author: mmu_man Date: 2007-02-09 11:16:38 +0100 (Fri, 09 Feb 2007) New Revision: 20116 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20116&view=rev Modified: haiku/trunk/src/bin/error.c Log: Now also accepts symbolic names for errors; handy sometimes to get the value or message of a cryptic EFOO. Modified: haiku/trunk/src/bin/error.c =================================================================== --- haiku/trunk/src/bin/error.c 2007-02-08 19:04:45 UTC (rev 20115) +++ haiku/trunk/src/bin/error.c 2007-02-09 10:16:38 UTC (rev 20116) @@ -13,7 +13,237 @@ extern const char *__progname; +struct error_pair { + status_t value; + const char *name; +} kErrorNames[] = { +// generated by: +// tr ' ,=\t()+' '\n\n\n\n\n\n\n' headers/os/support/Errors.h | grep '\(^B_\|^E[A-Z]\)' | sort | uniq | awk '{ print "\t{ " $1 ", \"" $1 "\" }," }' + { B_ALREADY_RUNNING, "B_ALREADY_RUNNING" }, + { B_AMBIGUOUS_APP_LAUNCH, "B_AMBIGUOUS_APP_LAUNCH" }, + { B_APP_ERROR_BASE, "B_APP_ERROR_BASE" }, + { B_BAD_ADDRESS, "B_BAD_ADDRESS" }, + { B_BAD_DATA, "B_BAD_DATA" }, + { B_BAD_HANDLER, "B_BAD_HANDLER" }, + { B_BAD_IMAGE_ID, "B_BAD_IMAGE_ID" }, + { B_BAD_INDEX, "B_BAD_INDEX" }, + { B_BAD_MIME_SNIFFER_RULE, "B_BAD_MIME_SNIFFER_RULE" }, + { B_BAD_PORT_ID, "B_BAD_PORT_ID" }, + { B_BAD_REPLY, "B_BAD_REPLY" }, + { B_BAD_SCRIPT_SYNTAX, "B_BAD_SCRIPT_SYNTAX" }, + { B_BAD_SEM_ID, "B_BAD_SEM_ID" }, + { B_BAD_SUBSCRIBER, "B_BAD_SUBSCRIBER" }, + { B_BAD_TEAM_ID, "B_BAD_TEAM_ID" }, + { B_BAD_THREAD_ID, "B_BAD_THREAD_ID" }, + { B_BAD_THREAD_STATE, "B_BAD_THREAD_STATE" }, + { B_BAD_TYPE, "B_BAD_TYPE" }, + { B_BAD_VALUE, "B_BAD_VALUE" }, + { B_BUFFER_NOT_AVAILABLE, "B_BUFFER_NOT_AVAILABLE" }, + { B_BUFFER_OVERFLOW, "B_BUFFER_OVERFLOW" }, + { B_BUSTED_PIPE, "B_BUSTED_PIPE" }, + { B_BUSY, "B_BUSY" }, + { B_CANCELED, "B_CANCELED" }, + { B_CROSS_DEVICE_LINK, "B_CROSS_DEVICE_LINK" }, + { B_DEBUGGER_ALREADY_INSTALLED, "B_DEBUGGER_ALREADY_INSTALLED" }, + { B_DEVICE_ERROR_BASE, "B_DEVICE_ERROR_BASE" }, + { B_DEVICE_FULL, "B_DEVICE_FULL" }, + { B_DEVICE_NOT_FOUND, "B_DEVICE_NOT_FOUND" }, + { B_DEV_BAD_DRIVE_NUM, "B_DEV_BAD_DRIVE_NUM" }, + { B_DEV_BAD_PID, "B_DEV_BAD_PID" }, + { B_DEV_CONFIGURATION_ERROR, "B_DEV_CONFIGURATION_ERROR" }, + { B_DEV_CRC_ERROR, "B_DEV_CRC_ERROR" }, + { B_DEV_DATA_OVERRUN, "B_DEV_DATA_OVERRUN" }, + { B_DEV_DATA_UNDERRUN, "B_DEV_DATA_UNDERRUN" }, + { B_DEV_DISABLED_BY_USER, "B_DEV_DISABLED_BY_USER" }, + { B_DEV_DOOR_OPEN, "B_DEV_DOOR_OPEN" }, + { B_DEV_FIFO_OVERRUN, "B_DEV_FIFO_OVERRUN" }, + { B_DEV_FIFO_UNDERRUN, "B_DEV_FIFO_UNDERRUN" }, + { B_DEV_FORMAT_ERROR, "B_DEV_FORMAT_ERROR" }, + { B_DEV_ID_ERROR, "B_DEV_ID_ERROR" }, + { B_DEV_INVALID_IOCTL, "B_DEV_INVALID_IOCTL" }, + { B_DEV_INVALID_PIPE, "B_DEV_INVALID_PIPE" }, + { B_DEV_MEDIA_CHANGED, "B_DEV_MEDIA_CHANGED" }, + { B_DEV_MEDIA_CHANGE_REQUESTED, "B_DEV_MEDIA_CHANGE_REQUESTED" }, + { B_DEV_MULTIPLE_ERRORS, "B_DEV_MULTIPLE_ERRORS" }, + { B_DEV_NOT_READY, "B_DEV_NOT_READY" }, + { B_DEV_NO_MEDIA, "B_DEV_NO_MEDIA" }, + { B_DEV_NO_MEMORY, "B_DEV_NO_MEMORY" }, + { B_DEV_PENDING, "B_DEV_PENDING" }, + { B_DEV_READ_ERROR, "B_DEV_READ_ERROR" }, + { B_DEV_RECALIBRATE_ERROR, "B_DEV_RECALIBRATE_ERROR" }, + { B_DEV_RESOURCE_CONFLICT, "B_DEV_RESOURCE_CONFLICT" }, + { B_DEV_SEEK_ERROR, "B_DEV_SEEK_ERROR" }, + { B_DEV_STALLED, "B_DEV_STALLED" }, + { B_DEV_TIMEOUT, "B_DEV_TIMEOUT" }, + { B_DEV_TOO_LATE, "B_DEV_TOO_LATE" }, + { B_DEV_UNEXPECTED_PID, "B_DEV_UNEXPECTED_PID" }, + { B_DEV_UNREADABLE, "B_DEV_UNREADABLE" }, + { B_DEV_WRITE_ERROR, "B_DEV_WRITE_ERROR" }, + { B_DIRECTORY_NOT_EMPTY, "B_DIRECTORY_NOT_EMPTY" }, + { B_DONT_DO_THAT, "B_DONT_DO_THAT" }, + { B_DUPLICATE_REPLY, "B_DUPLICATE_REPLY" }, + { B_ENTRY_NOT_FOUND, "B_ENTRY_NOT_FOUND" }, + { B_ERROR, "B_ERROR" }, + { B_ERRORS_END, "B_ERRORS_END" }, + { B_FILE_ERROR, "B_FILE_ERROR" }, + { B_FILE_EXISTS, "B_FILE_EXISTS" }, + { B_FILE_NOT_FOUND, "B_FILE_NOT_FOUND" }, + { B_FILE_TOO_LARGE, "B_FILE_TOO_LARGE" }, + { B_GENERAL_ERROR_BASE, "B_GENERAL_ERROR_BASE" }, + { B_INTERFACE_ERROR_BASE, "B_INTERFACE_ERROR_BASE" }, + { B_INTERRUPTED, "B_INTERRUPTED" }, + { B_IO_ERROR, "B_IO_ERROR" }, + { B_IS_A_DIRECTORY, "B_IS_A_DIRECTORY" }, + { B_LAST_BUFFER_ERROR, "B_LAST_BUFFER_ERROR" }, + { B_LAUNCH_FAILED, "B_LAUNCH_FAILED" }, + { B_LAUNCH_FAILED_APP_IN_TRASH, "B_LAUNCH_FAILED_APP_IN_TRASH" }, + { B_LAUNCH_FAILED_APP_NOT_FOUND, "B_LAUNCH_FAILED_APP_NOT_FOUND" }, + { B_LAUNCH_FAILED_EXECUTABLE, "B_LAUNCH_FAILED_EXECUTABLE" }, + { B_LAUNCH_FAILED_FILES_APP_NOT_FOUND, "B_LAUNCH_FAILED_FILES_APP_NOT_FOUND" }, + { B_LAUNCH_FAILED_NO_PREFERRED_APP, "B_LAUNCH_FAILED_NO_PREFERRED_APP" }, + { B_LAUNCH_FAILED_NO_RESOLVE_LINK, "B_LAUNCH_FAILED_NO_RESOLVE_LINK" }, + { B_LINK_LIMIT, "B_LINK_LIMIT" }, + { B_MAIL_ACCESS_ERROR, "B_MAIL_ACCESS_ERROR" }, + { B_MAIL_ERROR_BASE, "B_MAIL_ERROR_BASE" }, + { B_MAIL_INVALID_MAIL, "B_MAIL_INVALID_MAIL" }, + { B_MAIL_NO_DAEMON, "B_MAIL_NO_DAEMON" }, + { B_MAIL_NO_RECIPIENT, "B_MAIL_NO_RECIPIENT" }, + { B_MAIL_UNKNOWN_FIELD, "B_MAIL_UNKNOWN_FIELD" }, + { B_MAIL_UNKNOWN_HOST, "B_MAIL_UNKNOWN_HOST" }, + { B_MAIL_UNKNOWN_USER, "B_MAIL_UNKNOWN_USER" }, + { B_MAIL_WRONG_PASSWORD, "B_MAIL_WRONG_PASSWORD" }, + { B_MEDIA_ERROR_BASE, "B_MEDIA_ERROR_BASE" }, + { B_MESSAGE_TO_SELF, "B_MESSAGE_TO_SELF" }, + { B_MIDI_ERROR_BASE, "B_MIDI_ERROR_BASE" }, + { B_MISMATCHED_VALUES, "B_MISMATCHED_VALUES" }, + { B_MISSING_LIBRARY, "B_MISSING_LIBRARY" }, + { B_MISSING_SYMBOL, "B_MISSING_SYMBOL" }, + { B_NAME_IN_USE, "B_NAME_IN_USE" }, + { B_NAME_NOT_FOUND, "B_NAME_NOT_FOUND" }, + { B_NAME_TOO_LONG, "B_NAME_TOO_LONG" }, + { B_NOT_ALLOWED, "B_NOT_ALLOWED" }, + { B_NOT_AN_EXECUTABLE, "B_NOT_AN_EXECUTABLE" }, + { B_NOT_A_DIRECTORY, "B_NOT_A_DIRECTORY" }, + { B_NOT_A_MESSAGE, "B_NOT_A_MESSAGE" }, + { B_NOT_SUPPORTED, "B_NOT_SUPPORTED" }, + { B_NO_ERROR, "B_NO_ERROR" }, + { B_NO_INIT, "B_NO_INIT" }, + { B_NO_MEMORY, "B_NO_MEMORY" }, + { B_NO_MORE_FDS, "B_NO_MORE_FDS" }, + { B_NO_MORE_PORTS, "B_NO_MORE_PORTS" }, + { B_NO_MORE_SEMS, "B_NO_MORE_SEMS" }, + { B_NO_MORE_TEAMS, "B_NO_MORE_TEAMS" }, + { B_NO_MORE_THREADS, "B_NO_MORE_THREADS" }, + { B_NO_PRINT_SERVER, "B_NO_PRINT_SERVER" }, + { B_OK, "B_OK" }, + { B_OS_ERROR_BASE, "B_OS_ERROR_BASE" }, + { B_PARTITION_TOO_SMALL, "B_PARTITION_TOO_SMALL" }, + { B_PERMISSION_DENIED, "B_PERMISSION_DENIED" }, + { B_POSIX_ERROR_BASE, "B_POSIX_ERROR_BASE" }, + { B_PRINT_ERROR_BASE, "B_PRINT_ERROR_BASE" }, + { B_READ_ONLY_DEVICE, "B_READ_ONLY_DEVICE" }, + { B_RESOURCE_NOT_FOUND, "B_RESOURCE_NOT_FOUND" }, + { B_RESOURCE_UNAVAILABLE, "B_RESOURCE_UNAVAILABLE" }, + { B_RESULT_NOT_REPRESENTABLE, "B_RESULT_NOT_REPRESENTABLE" }, + { B_SERVER_NOT_FOUND, "B_SERVER_NOT_FOUND" }, + { B_SHUTDOWN_CANCELLED, "B_SHUTDOWN_CANCELLED" }, + { B_SHUTTING_DOWN, "B_SHUTTING_DOWN" }, + { B_STORAGE_ERROR_BASE, "B_STORAGE_ERROR_BASE" }, + { B_STREAM_NOT_FOUND, "B_STREAM_NOT_FOUND" }, + { B_SUBSCRIBER_NOT_ENTERED, "B_SUBSCRIBER_NOT_ENTERED" }, + { B_TIMED_OUT, "B_TIMED_OUT" }, + { B_TOO_MANY_ARGS, "B_TOO_MANY_ARGS" }, + { B_TRANSLATION_ERROR_BASE, "B_TRANSLATION_ERROR_BASE" }, + { B_UNKNOWN_MIME_TYPE, "B_UNKNOWN_MIME_TYPE" }, + { B_UNSUPPORTED, "B_UNSUPPORTED" }, + { B_WOULD_BLOCK, "B_WOULD_BLOCK" }, + { EACCES, "EACCES" }, + { EADDRINUSE, "EADDRINUSE" }, + { EADDRNOTAVAIL, "EADDRNOTAVAIL" }, + { EAFNOSUPPORT, "EAFNOSUPPORT" }, + { EAGAIN, "EAGAIN" }, + { EALREADY, "EALREADY" }, + { EBADF, "EBADF" }, + { EBADMSG, "EBADMSG" }, + { EBUSY, "EBUSY" }, + { ECANCELED, "ECANCELED" }, + { ECHILD, "ECHILD" }, + { ECONNABORTED, "ECONNABORTED" }, + { ECONNREFUSED, "ECONNREFUSED" }, + { ECONNRESET, "ECONNRESET" }, + { EDEADLK, "EDEADLK" }, + { EDESTADDRREQ, "EDESTADDRREQ" }, + { EDOM, "EDOM" }, + { EDQUOT, "EDQUOT" }, + { EEXIST, "EEXIST" }, + { EFAULT, "EFAULT" }, + { EFBIG, "EFBIG" }, + { EFPOS, "EFPOS" }, + { EHOSTDOWN, "EHOSTDOWN" }, + { EHOSTUNREACH, "EHOSTUNREACH" }, + { EIDRM, "EIDRM" }, + { EILSEQ, "EILSEQ" }, + { EINPROGRESS, "EINPROGRESS" }, + { EINTR, "EINTR" }, + { EINVAL, "EINVAL" }, + { EIO, "EIO" }, + { EISCONN, "EISCONN" }, + { EISDIR, "EISDIR" }, + { ELOOP, "ELOOP" }, + { EMFILE, "EMFILE" }, + { EMLINK, "EMLINK" }, + { EMSGSIZE, "EMSGSIZE" }, + { EMULTIHOP, "EMULTIHOP" }, + { ENAMETOOLONG, "ENAMETOOLONG" }, + { ENETDOWN, "ENETDOWN" }, + { ENETRESET, "ENETRESET" }, + { ENETUNREACH, "ENETUNREACH" }, + { ENFILE, "ENFILE" }, + { ENOBUFS, "ENOBUFS" }, + { ENODATA, "ENODATA" }, + { ENODEV, "ENODEV" }, + { ENOENT, "ENOENT" }, + { ENOEXEC, "ENOEXEC" }, + { ENOLCK, "ENOLCK" }, + { ENOLINK, "ENOLINK" }, + { ENOMEM, "ENOMEM" }, + { ENOMSG, "ENOMSG" }, + { ENOPROTOOPT, "ENOPROTOOPT" }, + { ENOSPC, "ENOSPC" }, + { ENOSR, "ENOSR" }, + { ENOSTR, "ENOSTR" }, + { ENOSYS, "ENOSYS" }, + { ENOTCONN, "ENOTCONN" }, + { ENOTDIR, "ENOTDIR" }, + { ENOTEMPTY, "ENOTEMPTY" }, + { ENOTSOCK, "ENOTSOCK" }, + { ENOTSUP, "ENOTSUP" }, + { ENOTTY, "ENOTTY" }, + { ENXIO, "ENXIO" }, + { EOPNOTSUPP, "EOPNOTSUPP" }, + { EOVERFLOW, "EOVERFLOW" }, + { EPERM, "EPERM" }, + { EPFNOSUPPORT, "EPFNOSUPPORT" }, + { EPIPE, "EPIPE" }, + { EPROTO, "EPROTO" }, + { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, + { EPROTOTYPE, "EPROTOTYPE" }, + { ERANGE, "ERANGE" }, + { EROFS, "EROFS" }, + { ESHUTDOWN, "ESHUTDOWN" }, + { ESIGPARM, "ESIGPARM" }, + { ESPIPE, "ESPIPE" }, + { ESRCH, "ESRCH" }, + { ESTALE, "ESTALE" }, + { ETIME, "ETIME" }, + { ETIMEDOUT, "ETIMEDOUT" }, + { ETXTBSY, "ETXTBSY" }, + { EWOULDBLOCK, "EWOULDBLOCK" }, + { EXDEV, "EXDEV" }, + { 0, NULL } +}; + static void usage(void) { @@ -31,8 +261,16 @@ // strtol() cuts off hex numbers that have the highest bit set if (end[0]) { - fprintf(stderr, "%s: invalid number (%s)\n", __progname, number); - exit(1); + // not a number, check names + int i; + struct error_pair *p = kErrorNames; + while (p->name && strcmp(p->name, number)) + p++; + if (!p->name) { + fprintf(stderr, "%s: invalid number (%s)\n", __progname, number); + exit(1); + } + error = p->value; } printf("0x%lx: %s\n", error, strerror(error)); From jackburton at mail.berlios.de Fri Feb 9 11:29:14 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Fri, 9 Feb 2007 11:29:14 +0100 Subject: [Haiku-commits] r20117 - haiku/trunk/src/tests/kits/game/chart Message-ID: <200702091029.l19ATEKt002008@sheep.berlios.de> Author: jackburton Date: 2007-02-09 11:29:13 +0100 (Fri, 09 Feb 2007) New Revision: 20117 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20117&view=rev Modified: haiku/trunk/src/tests/kits/game/chart/ChartWindow.cpp haiku/trunk/src/tests/kits/game/chart/ChartWindow.h Log: some more forgotten style changes Modified: haiku/trunk/src/tests/kits/game/chart/ChartWindow.cpp =================================================================== --- haiku/trunk/src/tests/kits/game/chart/ChartWindow.cpp 2007-02-09 10:16:38 UTC (rev 20116) +++ haiku/trunk/src/tests/kits/game/chart/ChartWindow.cpp 2007-02-09 10:29:13 UTC (rev 20117) @@ -422,11 +422,11 @@ fCurrentSettings.width = (int32)frame.right+1-LEFT_WIDTH; fCurrentSettings.height = (int32)frame.bottom+1-TOP_LEFT_LIMIT; previous_fullscreen_mode = WINDOW_MODE; - next_set.Set(&fCurrentSettings); + fNextSettings.Set(&fCurrentSettings); /* initialise various global parameters */ fInstantLoadLevel = 0; - second_thread_threshold = 0.5; + fSecondThreadThreshold = 0.5; last_dynamic_delay = 0.0; crc_alea = CRC_START; @@ -864,8 +864,8 @@ /* allocate the semaphores */ fDrawingLock = create_sem(1, "chart locker"); - second_thread_lock = create_sem(0, "chart second locker"); - second_thread_release = create_sem(0, "chart second release"); + fSecondThreadLock = create_sem(0, "chart second locker"); + fSecondThreadRelease = create_sem(0, "chart second release"); /* spawn the asynchronous animation threads */ fKillThread = false; @@ -883,22 +883,22 @@ ChartWindow::~ChartWindow() { - int32 result; + status_t result; /* setting this flag force both animation threads to quit */ fKillThread = true; + /* wait for the two animation threads to quit */ wait_for_thread(fAnimationThread, &result); wait_for_thread(fSecondAnimationThread, &result); /* free the offscreen bitmap if any */ - if (fOffscreen != NULL) - delete fOffscreen; + delete fOffscreen; /* release the semaphores used for synchronisation */ delete_sem(fDrawingLock); - delete_sem(second_thread_lock); - delete_sem(second_thread_release); + delete_sem(fSecondThreadLock); + delete_sem(fSecondThreadRelease); /* free the buffers used to store the starlists */ free(stars.list); @@ -914,7 +914,7 @@ ChartWindow::QuitRequested() { be_app->PostMessage(B_QUIT_REQUESTED); - return(TRUE); + return BWindow::QuitRequested(); } @@ -924,8 +924,6 @@ int32 index, color; BHandler *handler; BCheckBox *check_box; - //BTextControl *text_ctrl; - //BColorControl *color_ctrl; BSlider *slider; message->FindPointer("source", (void**)&handler); @@ -951,37 +949,37 @@ case ANIM_SLOW_MOVE_MSG : case ANIM_FAST_MOVE_MSG : case ANIM_FREE_MOVE_MSG : - next_set.animation = ANIMATION_OFF + (message->what - ANIM_OFF_MSG); + fNextSettings.animation = ANIMATION_OFF + (message->what - ANIM_OFF_MSG); break; case DISP_OFF_MSG : case DISP_BITMAP_MSG : case DISP_DIRECT_MSG : - next_set.display = DISPLAY_OFF + (message->what - DISP_OFF_MSG); + fNextSettings.display = DISPLAY_OFF + (message->what - DISP_OFF_MSG); break; case SPACE_CHAOS_MSG : case SPACE_AMAS_MSG : case SPACE_SPIRAL_MSG : - next_set.space_model = SPACE_CHAOS + (message->what - SPACE_CHAOS_MSG); + fNextSettings.space_model = SPACE_CHAOS + (message->what - SPACE_CHAOS_MSG); break; case FULL_SCREEN_MSG : check_box = dynamic_cast(handler); if (check_box->Value()) - next_set.fullscreen_mode = FULLSCREEN_MODE; + fNextSettings.fullscreen_mode = FULLSCREEN_MODE; else - next_set.fullscreen_mode = WINDOW_MODE; + fNextSettings.fullscreen_mode = WINDOW_MODE; break; case AUTO_DEMO_MSG : - next_set.fullscreen_mode = FULLDEMO_MODE; - next_set.animation = ANIMATION_FREE_MOVE; - next_set.special = SPECIAL_COMET; + fNextSettings.fullscreen_mode = FULLDEMO_MODE; + fNextSettings.animation = ANIMATION_FREE_MOVE; + fNextSettings.special = SPECIAL_COMET; LaunchSound(); break; case BACK_DEMO_MSG : - next_set.fullscreen_mode = previous_fullscreen_mode; + fNextSettings.fullscreen_mode = previous_fullscreen_mode; break; case SECOND_THREAD_MSG : check_box = dynamic_cast(handler); - next_set.second_thread = check_box->Value(); + fNextSettings.second_thread = (check_box->Value()?true:false); break; case COLORS_RED_MSG : case COLORS_GREEN_MSG : @@ -992,28 +990,28 @@ case COLORS_WHITE_MSG : index = message->what - COLORS_RED_MSG; check_box = dynamic_cast(handler); - next_set.colors[index] = (check_box->Value()?true:false); + fNextSettings.colors[index] = (check_box->Value()?true:false); break; case SPECIAL_NONE_MSG : case SPECIAL_COMET_MSG : case SPECIAL_NOVAS_MSG : case SPECIAL_BATTLE_MSG : - next_set.special = SPECIAL_NONE + (message->what - SPECIAL_NONE_MSG); + fNextSettings.special = SPECIAL_NONE + (message->what - SPECIAL_NONE_MSG); break; case COLOR_PALETTE_MSG : message->FindInt32("be:value", &color); - next_set.back_color.red = (color >> 24); - next_set.back_color.green = (color >> 16); - next_set.back_color.blue = (color >> 8); - next_set.back_color.alpha = color; + fNextSettings.back_color.red = (color >> 24); + fNextSettings.back_color.green = (color >> 16); + fNextSettings.back_color.blue = (color >> 8); + fNextSettings.back_color.alpha = color; break; case STAR_DENSITY_MSG : slider = dynamic_cast(handler); - next_set.star_density = slider->Value(); + fNextSettings.star_density = slider->Value(); break; case REFRESH_RATE_MSG : slider = dynamic_cast(handler); - next_set.refresh_rate = exp(slider->Value()*0.001*(log(REFRESH_RATE_MAX/REFRESH_RATE_MIN)))* + fNextSettings.refresh_rate = exp(slider->Value()*0.001*(log(REFRESH_RATE_MAX/REFRESH_RATE_MIN)))* REFRESH_RATE_MIN; break; /* open the three floating window used to do live setting of @@ -1040,13 +1038,11 @@ void ChartWindow::ScreenChanged(BRect screen_size, color_space depth) { - BScreen my_screen(this); - /* this is the same principle than the one described for MessageReceived, to inform the engine that the depth of the screen changed (needed only for offscreen bitmap. In DirectWindow, you get a direct notification). */ - next_set.depth = my_screen.ColorSpace(); + fNextSettings.depth = BScreen(this).ColorSpace(); } @@ -1057,8 +1053,8 @@ MessageReceived, to inform the engine that the window size changed (needed only for offscreen bitmap. In DirectWindow, you get a direct notification). */ - next_set.width = (int32)Frame().Width()+1-LEFT_WIDTH; - next_set.height = (int32)Frame().Height()+1-TOP_LEFT_LIMIT; + fNextSettings.width = (int32)Frame().Width()+1-LEFT_WIDTH; + fNextSettings.height = (int32)Frame().Height()+1-TOP_LEFT_LIMIT; } @@ -1242,11 +1238,12 @@ void ChartWindow::DrawInstantLoad(float frame_per_second) { - int32 level, i; + int32 i; bigtime_t timeout; - level = (int32)((frame_per_second + 6.0) * (1.0/12.0)); - if (level > 50) level = 50; + int32 level = (int32)((frame_per_second + 6.0) * (1.0/12.0)); + if (level > 50) + level = 50; /* if the load level is inchanged, nothing more to do... */ if (level == fInstantLoadLevel) @@ -1339,10 +1336,8 @@ void ChartWindow::InitGeometry() { - float dz; - /* calculate some parameters required for the 3d processing */ - dz = sqrt(1.0 - (DH_REF*DH_REF + DV_REF*DV_REF) * (0.5 + 0.5/Z_CUT_RATIO) * (0.5 + 0.5/Z_CUT_RATIO)); + float dz = sqrt(1.0 - (DH_REF*DH_REF + DV_REF*DV_REF) * (0.5 + 0.5/Z_CUT_RATIO) * (0.5 + 0.5/Z_CUT_RATIO)); depth_ref = dz / (1.0 - 1.0/Z_CUT_RATIO); /* set the position of the pyramid of vision, so that it was always @@ -1372,7 +1367,6 @@ void ChartWindow::ChangeSetting(setting new_set) { - //star *s; int32 i, color_count, old_step; int32 color_index[7]; @@ -2126,7 +2120,7 @@ timer += w->frame_delay; /* change the settings, if needed */ - w->ChangeSetting(w->next_set); + w->ChangeSetting(w->fNextSettings); /* draw the next frame */ if (w->fCurrentSettings.display == DISPLAY_BITMAP) { @@ -2208,31 +2202,28 @@ long ChartWindow::Animation2(void *data) { - bigtime_t before, after; - ChartWindow *w; - - w = (ChartWindow*)data; + ChartWindow *w = (ChartWindow*)data; while (!w->fKillThread) { /* This thread need to both wait for its master to unblock him to do some real work, or for the main control to set the fKillThread flag, asking it to quit. */ status_t status; do { - status = acquire_sem_etc(w->second_thread_lock, 1, B_TIMEOUT, 500000); + status = acquire_sem_etc(w->fSecondThreadLock, 1, B_TIMEOUT, 500000); if (w->fKillThread) return 0; } while (status == B_TIMED_OUT || status == B_INTERRUPTED); /* the duration of the processing is needed to control the dynamic load split (see RefreshStar) */ - before = system_time(); - RefreshStarPacket(w->second_thread_buffer, &w->stars2, &w->geo); - RefreshStarPacket(w->second_thread_buffer, &w->specials2, &w->geo); - after = system_time(); + bigtime_t before = system_time(); + RefreshStarPacket(w->fSecondThreadBuffer, &w->fStars2, &w->geo); + RefreshStarPacket(w->fSecondThreadBuffer, &w->fSpecials2, &w->geo); + bigtime_t after = system_time(); - w->second_thread_delay = after-before; + w->fSecondThreadDelay = after-before; - release_sem(w->second_thread_release); + release_sem(w->fSecondThreadRelease); } return 0; } @@ -2706,11 +2697,6 @@ void ChartWindow::RefreshStars(buffer *buf, float time_step) { - float ratio; - int32 star_threshold, special_threshold; - bigtime_t before, after; - star_packet stars1, specials1; - /* do the specials animation (single-threaded) */ AnimSpecials(time_step); @@ -2720,63 +2706,63 @@ dynamic load split between the two threads, when needed. */ if (fCurrentSettings.second_thread) { - star_threshold = (int32)((float)stars.count * second_thread_threshold + 0.5); - special_threshold = (int32)((float)specials.count * second_thread_threshold + 0.5); + int32 star_threshold = (int32)((float)stars.count * fSecondThreadThreshold + 0.5); + int32 special_threshold = (int32)((float)specials.count * fSecondThreadThreshold + 0.5); /* split the work load (star and special animation) between the two threads, proportionnaly to the last split factor determined during the last cycle. */ + star_packet stars1; stars1.list = stars.list; stars1.count = star_threshold; stars1.erase_count = star_threshold; if (stars1.erase_count > stars.erase_count) stars1.erase_count = stars.erase_count; - stars2.list = stars.list + star_threshold; - stars2.count = stars.count - star_threshold; - stars2.erase_count = stars.erase_count - star_threshold; - if (stars2.erase_count < 0) - stars2.erase_count = 0; + fStars2.list = stars.list + star_threshold; + fStars2.count = stars.count - star_threshold; + fStars2.erase_count = stars.erase_count - star_threshold; + if (fStars2.erase_count < 0) + fStars2.erase_count = 0; + star_packet specials1; specials1.list = specials.list; specials1.count = special_threshold; specials1.erase_count = special_threshold; if (specials1.erase_count > specials.erase_count) specials1.erase_count = specials.erase_count; - specials2.list = specials.list + special_threshold; - specials2.count = specials.count - special_threshold; - specials2.erase_count = specials.erase_count - special_threshold; - if (specials2.erase_count < 0) - specials2.erase_count = 0; + fSpecials2.list = specials.list + special_threshold; + fSpecials2.count = specials.count - special_threshold; + fSpecials2.erase_count = specials.erase_count - special_threshold; + if (fSpecials2.erase_count < 0) + fSpecials2.erase_count = 0; - second_thread_buffer = buf; + fSecondThreadBuffer = buf; /* release the slave thread */ - release_sem(second_thread_lock); + release_sem(fSecondThreadLock); /* do its own part (time it) */ - before = system_time(); + bigtime_t before = system_time(); RefreshStarPacket(buf, &stars1, &geo); RefreshStarPacket(buf, &specials1, &geo); - after = system_time(); + bigtime_t after = system_time(); /* wait for completion of the second thread */ - while (acquire_sem(second_thread_release) == B_INTERRUPTED) + while (acquire_sem(fSecondThreadRelease) == B_INTERRUPTED) ; /* calculate the new optimal split ratio depending of the previous one and the time used by both threads to do their work. */ - ratio = ((float)second_thread_delay/(float)(after-before)) * - (second_thread_threshold/(1.0-second_thread_threshold)); - second_thread_threshold = ratio / (1.0+ratio); + float ratio = ((float)fSecondThreadDelay/(float)(after-before)) * + (fSecondThreadThreshold/(1.0-fSecondThreadThreshold)); + fSecondThreadThreshold = ratio / (1.0+ratio); - - } - /* In single-threaded mode, nothing fancy to be done. */ - else { + } else { + /* In single-threaded mode, nothing fancy to be done. */ RefreshStarPacket(buf, &stars, &geo); RefreshStarPacket(buf, &specials, &geo); } Modified: haiku/trunk/src/tests/kits/game/chart/ChartWindow.h =================================================================== --- haiku/trunk/src/tests/kits/game/chart/ChartWindow.h 2007-02-09 10:16:38 UTC (rev 20116) +++ haiku/trunk/src/tests/kits/game/chart/ChartWindow.h 2007-02-09 10:29:13 UTC (rev 20117) @@ -340,7 +340,7 @@ /* Various private instance variables. */ /* the next setting, as modified by the UI */ - setting next_set; + setting fNextSettings; /* a boolean used to enable a work-around for a bug in the DirectWindow flags setting. Only needed for the @@ -416,13 +416,13 @@ thread_id fSecondAnimationThread; /* context of the second processing thread (when used). */ - float second_thread_threshold; - buffer *second_thread_buffer; - sem_id second_thread_lock; - sem_id second_thread_release; - bigtime_t second_thread_delay; - star_packet stars2; - star_packet specials2; + float fSecondThreadThreshold; + buffer *fSecondThreadBuffer; + sem_id fSecondThreadLock; + sem_id fSecondThreadRelease; + bigtime_t fSecondThreadDelay; + star_packet fStars2; + star_packet fSpecials2; /* Flag used to terminate the processing threads */ bool fKillThread; From wkornewald at haiku-os.org Fri Feb 9 11:48:16 2007 From: wkornewald at haiku-os.org (Waldemar Kornewald) Date: Fri, 9 Feb 2007 11:48:16 +0100 Subject: [Haiku-commits] r20116 - haiku/trunk/src/bin In-Reply-To: <200702091016.l19AGdwL001181@sheep.berlios.de> References: <200702091016.l19AGdwL001181@sheep.berlios.de> Message-ID: On 2/9/07, mmu_man at BerliOS wrote: > + { B_AMBIGUOUS_APP_LAUNCH, "B_AMBIGUOUS_APP_LAUNCH" }, > + { B_APP_ERROR_BASE, "B_APP_ERROR_BASE" }, > + { B_BAD_ADDRESS, "B_BAD_ADDRESS" }, > + { B_BAD_DATA, "B_BAD_DATA" }, > [...] BTW, you could simplify this with a macro (haven't tested it): #define E(id) { id, #id } and then ..., E(B_BAD_ADDRESS), E(B_BAD_DATA), ... Bye, Waldemar Kornewald From jackburton at mail.berlios.de Fri Feb 9 12:45:04 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Fri, 9 Feb 2007 12:45:04 +0100 Subject: [Haiku-commits] r20118 - haiku/trunk/build/jam Message-ID: <200702091145.l19Bj4NL003809@sheep.berlios.de> Author: jackburton Date: 2007-02-09 12:44:53 +0100 (Fri, 09 Feb 2007) New Revision: 20118 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20118&view=rev Modified: haiku/trunk/build/jam/HaikuImage Log: Added FontDemo (not really working well) and moved Clock to Demos Modified: haiku/trunk/build/jam/HaikuImage =================================================================== --- haiku/trunk/build/jam/HaikuImage 2007-02-09 10:29:13 UTC (rev 20117) +++ haiku/trunk/build/jam/HaikuImage 2007-02-09 11:44:53 UTC (rev 20118) @@ -35,7 +35,7 @@ zipcloak zipnote zipsplit zmore znew ; -BEOS_APPS = Terminal Expander People ShowImage Clock Pulse ProcessController +BEOS_APPS = Terminal Expander People ShowImage Pulse ProcessController SoundRecorder Magnify DiskProbe AboutHaiku StyledEdit Installer Workspaces $(X86_ONLY)Cortex $(X86_ONLY)CortexAddOnHost MediaPlayer DeskCalc MidiPlayer Icon-O-Matic BeMail CDPlayer @@ -43,7 +43,7 @@ BEOS_PREFERENCES = Backgrounds DataTranslations Devices E-mail FileTypes Fonts Media Menu Mouse Keyboard Keymap Printers Screen ScreenSaver Sounds Time VirtualMemory ; -BEOS_DEMOS = BitmapDrawing Chart $(X86_ONLY)GLTeapot PictureTest Playground +BEOS_DEMOS = BitmapDrawing Chart Clock FontDemo $(X86_ONLY)GLTeapot PictureTest Playground ; BEOS_SYSTEM_LIB = libbe.so $(HAIKU_LIBSTDC++) libmedia.so libtracker.so libtranslation.so libnetwork.so libdebug.so libbsd.so libmail.so From jackburton at mail.berlios.de Fri Feb 9 13:19:44 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Fri, 9 Feb 2007 13:19:44 +0100 Subject: [Haiku-commits] r20119 - haiku/trunk/src/apps/expander Message-ID: <200702091219.l19CJifF017664@sheep.berlios.de> Author: jackburton Date: 2007-02-09 13:19:43 +0100 (Fri, 09 Feb 2007) New Revision: 20119 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20119&view=rev Modified: haiku/trunk/src/apps/expander/ExpanderPreferences.cpp haiku/trunk/src/apps/expander/ExpanderThread.cpp Log: Patch by Andrea Anzani which fixes font sensitiveness issues with Expander preferences window (thus fixing bug #162). Some cleanups by me Modified: haiku/trunk/src/apps/expander/ExpanderPreferences.cpp =================================================================== --- haiku/trunk/src/apps/expander/ExpanderPreferences.cpp 2007-02-09 11:44:53 UTC (rev 20118) +++ haiku/trunk/src/apps/expander/ExpanderPreferences.cpp 2007-02-09 12:19:43 UTC (rev 20119) @@ -32,11 +32,12 @@ rect.OffsetBy(11,9); rect.bottom -= 64; rect.right -= 22; - BBox *box = new BBox(rect, "background", B_FOLLOW_ALL, + BBox *box = new BBox(rect, "background", B_FOLLOW_NONE, B_WILL_DRAW | B_FRAME_EVENTS, B_FANCY_BORDER); box->SetLabel("Expander Preferences"); background->AddChild(box); + float maxWidth=box->Bounds().right; BRect frameRect = box->Bounds(); frameRect.OffsetBy(15,23); @@ -47,81 +48,132 @@ textRect.InsetBy(1,1); BStringView *stringView = new BStringView(frameRect, "expansion", "Expansion:", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); + stringView->ResizeToPreferred(); + if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; box->AddChild(stringView); - frameRect.OffsetBy(0, 60); - stringView = new BStringView(frameRect, "destinationFolder", "Destination Folder:", - B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); - box->AddChild(stringView); - frameRect.OffsetBy(0, 90); - stringView = new BStringView(frameRect, "other", "Other:", - B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); - box->AddChild(stringView); + frameRect.top = stringView->Frame().bottom + 5; + frameRect.left += 10; - rect = box->Bounds(); - rect.OffsetBy(25, 42); - rect.bottom = rect.top + 20; - rect.right = rect.right - 30; - fAutoExpand = new BCheckBox(rect, "autoExpand", "Automatically expand files", NULL); + fAutoExpand = new BCheckBox(frameRect, "autoExpand", "Automatically expand files", NULL); + fAutoExpand->ResizeToPreferred(); + if(fAutoExpand->Frame().right>maxWidth) maxWidth=fAutoExpand->Frame().right; box->AddChild(fAutoExpand); - rect.OffsetBy(0, 17); - fCloseWindow = new BCheckBox(rect, "closeWindowWhenDone", "Close window when done expanding", NULL); + frameRect = fAutoExpand->Frame(); + frameRect.top = fAutoExpand->Frame().bottom + 1; + fCloseWindow = new BCheckBox(frameRect, "closeWindowWhenDone", "Close window when done expanding", NULL); + fCloseWindow->ResizeToPreferred(); + if(fCloseWindow->Frame().right>maxWidth) maxWidth=fCloseWindow->Frame().right; box->AddChild(fCloseWindow); - rect.OffsetBy(0, 44); - fLeaveDest = new BRadioButton(rect, "leaveDest", "Leave destination folder path empty", + + frameRect = stringView->Frame(); + frameRect.top = fCloseWindow->Frame().bottom + 10; + stringView = new BStringView(frameRect, "destinationFolder", "Destination Folder:", + B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); + stringView->ResizeToPreferred(); + if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; + box->AddChild(stringView); + + frameRect.top = stringView->Frame().bottom + 5; + frameRect.left += 10; + + fLeaveDest = new BRadioButton(frameRect, "leaveDest", "Leave destination folder path empty", new BMessage(MSG_LEAVEDEST)); + fLeaveDest->ResizeToPreferred(); + if(fLeaveDest->Frame().right>maxWidth) maxWidth=fLeaveDest->Frame().right; box->AddChild(fLeaveDest); - rect.OffsetBy(0, 20); - fSameDest = new BRadioButton(rect, "sameDir", "Same directory as source (archive) file", + frameRect = fLeaveDest->Frame(); + frameRect.top = fLeaveDest->Frame().bottom + 1; + fSameDest = new BRadioButton(frameRect, "sameDir", "Same directory as source (archive) file", new BMessage(MSG_SAMEDIR)); + fSameDest->ResizeToPreferred(); + if(fSameDest->Frame().right>maxWidth) maxWidth=fSameDest->Frame().right; box->AddChild(fSameDest); - - rect.OffsetBy(0, 20); - BRect useRect = rect; - useRect.right = useRect.left + 50; - fDestUse = new BRadioButton(useRect, "destUse", "Use:", - new BMessage(MSG_DESTUSE)); + + frameRect = fSameDest->Frame(); + frameRect.top = frameRect.bottom + 1; + fDestUse = new BRadioButton(frameRect, "destUse", "Use:",new BMessage(MSG_DESTUSE)); + fDestUse->ResizeToPreferred(); + if(fDestUse->Frame().right>maxWidth) maxWidth=fDestUse->Frame().right; box->AddChild(fDestUse); - textRect = rect; - textRect.OffsetBy(fDestUse->StringWidth("Use:") + 20, 0); - textRect.right = textRect.left + 158; - fDestText = new BTextControl(textRect, "destText", "", "", new BMessage(MSG_DESTTEXT)); + + frameRect = fDestUse->Frame(); + frameRect.left = fDestUse->Frame().right + 1; + frameRect.right = frameRect.left + 58; + frameRect.bottom = frameRect.top + 38; + + fDestText = new BTextControl(frameRect, "destText", "", "", new BMessage(MSG_DESTTEXT)); + box->AddChild(fDestText); + fDestText->ResizeToPreferred(); fDestText->SetDivider(0); fDestText->TextView()->MakeEditable(false); - box->AddChild(fDestText); + fDestText->ResizeTo(158,fDestText->Frame().Height()); + fDestText->SetEnabled(false); - textRect.OffsetBy(168, -4); - textRect.right = textRect.left + 50; - fSelect = new BButton(textRect, "selectButton", "Select", new BMessage(MSG_DESTSELECT)); + frameRect = fDestText->Frame(); + frameRect.left = frameRect.right + 5; + fSelect = new BButton(frameRect, "selectButton", "Select", new BMessage(MSG_DESTSELECT)); + fSelect->ResizeToPreferred(); + if(fSelect->Frame().right>maxWidth) maxWidth=fSelect->Frame().right; box->AddChild(fSelect); fSelect->SetEnabled(false); + + fDestText->MoveBy(0,(fSelect->Frame().Height() - fDestText->Frame().Height())/2.0); + fDestText->ResizeTo(158,fDestText->Frame().Height()); + + + + frameRect = stringView->Frame(); + frameRect.top = fDestUse->Frame().bottom + 10; + + stringView = new BStringView(frameRect, "other", "Other:",B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); + stringView->ResizeToPreferred(); + if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; + box->AddChild(stringView); + + frameRect.top = stringView->Frame().bottom + 5; + frameRect.left += 10; + + fOpenDest = new BCheckBox(frameRect, "openDestination", "Open destination folder after extraction", NULL); + fOpenDest->ResizeToPreferred(); + if(fOpenDest->Frame().right>maxWidth) maxWidth=fOpenDest->Frame().right; + box->AddChild(fOpenDest); - rect.OffsetBy(0, 50); - fOpenDest = new BCheckBox(rect, "openDestination", "Open destination folder after extraction", NULL); - box->AddChild(fOpenDest); - - rect.OffsetBy(0, 17); - fAutoShow = new BCheckBox(rect, "autoShow", "Automatically show contents listing", NULL); + frameRect = fOpenDest->Frame(); + frameRect.top = frameRect.bottom + 1; + fAutoShow = new BCheckBox(frameRect, "autoShow", "Automatically show contents listing", NULL); + fAutoShow->ResizeToPreferred(); + if(fAutoShow->Frame().right>maxWidth) maxWidth=fAutoShow->Frame().right; box->AddChild(fAutoShow); - rect = BRect(Bounds().right-89, Bounds().bottom-40, - Bounds().right-14, Bounds().bottom-16); - BButton *button = new BButton(rect, "OKButton", "OK", - new BMessage(MSG_OK)); - background->AddChild(button); + + box->ResizeTo(maxWidth + 15,fAutoShow->Frame().bottom + 10); + + rect = BRect(Bounds().right-89, Bounds().bottom-40, Bounds().right-14, Bounds().bottom-16); + + rect = Bounds(); + BButton *button = new BButton(rect, "OKButton", "OK",new BMessage(MSG_OK)); button->MakeDefault(true); - - rect.OffsetBy(-89, 0); - button = new BButton(rect, "CancelButton", "Cancel", - new BMessage(MSG_CANCEL)); + button->ResizeToPreferred(); + button->MoveTo(box->Frame().right - button->Frame().Width(),box->Frame().bottom + 10 ); background->AddChild(button); + + rect = button->Frame(); + BButton *cancel = new BButton(rect, "CancelButton", "Cancel", new BMessage(MSG_CANCEL)); + cancel->ResizeToPreferred(); + cancel->MoveBy(-cancel->Frame().Width() - 10, (button->Frame().Height() - cancel->Frame().Height()) /2.0); + background->AddChild(cancel); + + ResizeTo(box->Frame().right + 11 ,button->Frame().bottom + 11); + + BScreen screen(this); MoveBy((screen.Frame().Width()-Bounds().Width())/2, (screen.Frame().Height()-Bounds().Height())/2); Modified: haiku/trunk/src/apps/expander/ExpanderThread.cpp =================================================================== --- haiku/trunk/src/apps/expander/ExpanderThread.cpp 2007-02-09 11:44:53 UTC (rev 20118) +++ haiku/trunk/src/apps/expander/ExpanderThread.cpp 2007-02-09 12:19:43 UTC (rev 20119) @@ -73,9 +73,9 @@ if (fThreadId < 0) return fThreadId; - resume_thread(fThreadId); + resume_thread(fThreadId); - fExpanderOutput = fdopen(fStdOut, "r"); + fExpanderOutput = fdopen(fStdOut, "r"); return B_OK; } @@ -86,8 +86,7 @@ // read output from command // send it to window - char * output_string; - output_string = fgets(fExpanderOutputBuffer , 4096-1, fExpanderOutput); + char *output_string = fgets(fExpanderOutputBuffer , 4096-1, fExpanderOutput); if (output_string == NULL) return EOF; @@ -109,7 +108,7 @@ ExpanderThread::ThreadShutdown(void) { close(fStdIn); - close(fStdOut); + close(fStdOut); close(fStdErr); return B_OK; @@ -176,7 +175,7 @@ thread_id ret = load_image(argc, argv, envp); if (ret < B_OK) - return ret; + return ret; // thread ret is now suspended. @@ -197,11 +196,9 @@ status_t ExpanderThread::SuspendExternalExpander() -{ - status_t status; +{ thread_info thread_info; - status = get_thread_info(fThreadId, &thread_info); - BString thread_name = thread_info.name; + status_t status = get_thread_info(fThreadId, &thread_info); if (status == B_OK) return send_signal(-fThreadId, SIGSTOP); @@ -212,10 +209,8 @@ status_t ExpanderThread::ResumeExternalExpander() { - status_t status = B_OK; thread_info thread_info; - status = get_thread_info(fThreadId, &thread_info); - BString thread_name = thread_info.name; + status_t status = get_thread_info(fThreadId, &thread_info); if (status == B_OK) return send_signal(-fThreadId, SIGCONT); @@ -226,10 +221,8 @@ status_t ExpanderThread::InterruptExternalExpander() { - status_t status = B_OK; thread_info thread_info; - status = get_thread_info (fThreadId, &thread_info); - BString thread_name = thread_info.name; + status_t status = get_thread_info (fThreadId, &thread_info); if (status == B_OK) { status = send_signal(-fThreadId, SIGINT); @@ -241,10 +234,8 @@ status_t ExpanderThread::WaitOnExternalExpander() { - status_t status; thread_info thread_info; - status = get_thread_info(fThreadId, &thread_info); - BString thread_name = thread_info.name; + status_t status = get_thread_info(fThreadId, &thread_info); if (status == B_OK) return wait_for_thread(fThreadId, &status); From jackburton at mail.berlios.de Fri Feb 9 13:24:59 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Fri, 9 Feb 2007 13:24:59 +0100 Subject: [Haiku-commits] r20120 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702091224.l19COxu6018213@sheep.berlios.de> Author: jackburton Date: 2007-02-09 13:24:56 +0100 (Fri, 09 Feb 2007) New Revision: 20120 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20120&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: Added Andrea Anzani to the list of contributors Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-09 12:19:43 UTC (rev 20119) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-09 12:24:56 UTC (rev 20120) @@ -373,6 +373,7 @@ fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( + "Andrea Anzani\n" "Bruce Cameron\n" "Greg Crain\n" "Tyler Dauwalder\n" From mmu_man at mail.berlios.de Fri Feb 9 15:14:29 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Fri, 9 Feb 2007 15:14:29 +0100 Subject: [Haiku-commits] r20121 - haiku/trunk/src/bin Message-ID: <200702091414.l19EETIn027938@sheep.berlios.de> Author: mmu_man Date: 2007-02-09 15:14:29 +0100 (Fri, 09 Feb 2007) New Revision: 20121 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20121&view=rev Modified: haiku/trunk/src/bin/error.c Log: Nicer error list. Modified: haiku/trunk/src/bin/error.c =================================================================== --- haiku/trunk/src/bin/error.c 2007-02-09 12:24:56 UTC (rev 20120) +++ haiku/trunk/src/bin/error.c 2007-02-09 14:14:29 UTC (rev 20121) @@ -17,229 +17,230 @@ status_t value; const char *name; } kErrorNames[] = { +#define E(e) { e, #e } // generated by: -// tr ' ,=\t()+' '\n\n\n\n\n\n\n' headers/os/support/Errors.h | grep '\(^B_\|^E[A-Z]\)' | sort | uniq | awk '{ print "\t{ " $1 ", \"" $1 "\" }," }' - { B_ALREADY_RUNNING, "B_ALREADY_RUNNING" }, - { B_AMBIGUOUS_APP_LAUNCH, "B_AMBIGUOUS_APP_LAUNCH" }, - { B_APP_ERROR_BASE, "B_APP_ERROR_BASE" }, - { B_BAD_ADDRESS, "B_BAD_ADDRESS" }, - { B_BAD_DATA, "B_BAD_DATA" }, - { B_BAD_HANDLER, "B_BAD_HANDLER" }, - { B_BAD_IMAGE_ID, "B_BAD_IMAGE_ID" }, - { B_BAD_INDEX, "B_BAD_INDEX" }, - { B_BAD_MIME_SNIFFER_RULE, "B_BAD_MIME_SNIFFER_RULE" }, - { B_BAD_PORT_ID, "B_BAD_PORT_ID" }, - { B_BAD_REPLY, "B_BAD_REPLY" }, - { B_BAD_SCRIPT_SYNTAX, "B_BAD_SCRIPT_SYNTAX" }, - { B_BAD_SEM_ID, "B_BAD_SEM_ID" }, - { B_BAD_SUBSCRIBER, "B_BAD_SUBSCRIBER" }, - { B_BAD_TEAM_ID, "B_BAD_TEAM_ID" }, - { B_BAD_THREAD_ID, "B_BAD_THREAD_ID" }, - { B_BAD_THREAD_STATE, "B_BAD_THREAD_STATE" }, - { B_BAD_TYPE, "B_BAD_TYPE" }, - { B_BAD_VALUE, "B_BAD_VALUE" }, - { B_BUFFER_NOT_AVAILABLE, "B_BUFFER_NOT_AVAILABLE" }, - { B_BUFFER_OVERFLOW, "B_BUFFER_OVERFLOW" }, - { B_BUSTED_PIPE, "B_BUSTED_PIPE" }, - { B_BUSY, "B_BUSY" }, - { B_CANCELED, "B_CANCELED" }, - { B_CROSS_DEVICE_LINK, "B_CROSS_DEVICE_LINK" }, - { B_DEBUGGER_ALREADY_INSTALLED, "B_DEBUGGER_ALREADY_INSTALLED" }, - { B_DEVICE_ERROR_BASE, "B_DEVICE_ERROR_BASE" }, - { B_DEVICE_FULL, "B_DEVICE_FULL" }, - { B_DEVICE_NOT_FOUND, "B_DEVICE_NOT_FOUND" }, - { B_DEV_BAD_DRIVE_NUM, "B_DEV_BAD_DRIVE_NUM" }, - { B_DEV_BAD_PID, "B_DEV_BAD_PID" }, - { B_DEV_CONFIGURATION_ERROR, "B_DEV_CONFIGURATION_ERROR" }, - { B_DEV_CRC_ERROR, "B_DEV_CRC_ERROR" }, - { B_DEV_DATA_OVERRUN, "B_DEV_DATA_OVERRUN" }, - { B_DEV_DATA_UNDERRUN, "B_DEV_DATA_UNDERRUN" }, - { B_DEV_DISABLED_BY_USER, "B_DEV_DISABLED_BY_USER" }, - { B_DEV_DOOR_OPEN, "B_DEV_DOOR_OPEN" }, - { B_DEV_FIFO_OVERRUN, "B_DEV_FIFO_OVERRUN" }, - { B_DEV_FIFO_UNDERRUN, "B_DEV_FIFO_UNDERRUN" }, - { B_DEV_FORMAT_ERROR, "B_DEV_FORMAT_ERROR" }, - { B_DEV_ID_ERROR, "B_DEV_ID_ERROR" }, - { B_DEV_INVALID_IOCTL, "B_DEV_INVALID_IOCTL" }, - { B_DEV_INVALID_PIPE, "B_DEV_INVALID_PIPE" }, - { B_DEV_MEDIA_CHANGED, "B_DEV_MEDIA_CHANGED" }, - { B_DEV_MEDIA_CHANGE_REQUESTED, "B_DEV_MEDIA_CHANGE_REQUESTED" }, - { B_DEV_MULTIPLE_ERRORS, "B_DEV_MULTIPLE_ERRORS" }, - { B_DEV_NOT_READY, "B_DEV_NOT_READY" }, - { B_DEV_NO_MEDIA, "B_DEV_NO_MEDIA" }, - { B_DEV_NO_MEMORY, "B_DEV_NO_MEMORY" }, - { B_DEV_PENDING, "B_DEV_PENDING" }, - { B_DEV_READ_ERROR, "B_DEV_READ_ERROR" }, - { B_DEV_RECALIBRATE_ERROR, "B_DEV_RECALIBRATE_ERROR" }, - { B_DEV_RESOURCE_CONFLICT, "B_DEV_RESOURCE_CONFLICT" }, - { B_DEV_SEEK_ERROR, "B_DEV_SEEK_ERROR" }, - { B_DEV_STALLED, "B_DEV_STALLED" }, - { B_DEV_TIMEOUT, "B_DEV_TIMEOUT" }, - { B_DEV_TOO_LATE, "B_DEV_TOO_LATE" }, - { B_DEV_UNEXPECTED_PID, "B_DEV_UNEXPECTED_PID" }, - { B_DEV_UNREADABLE, "B_DEV_UNREADABLE" }, - { B_DEV_WRITE_ERROR, "B_DEV_WRITE_ERROR" }, - { B_DIRECTORY_NOT_EMPTY, "B_DIRECTORY_NOT_EMPTY" }, - { B_DONT_DO_THAT, "B_DONT_DO_THAT" }, - { B_DUPLICATE_REPLY, "B_DUPLICATE_REPLY" }, - { B_ENTRY_NOT_FOUND, "B_ENTRY_NOT_FOUND" }, - { B_ERROR, "B_ERROR" }, - { B_ERRORS_END, "B_ERRORS_END" }, - { B_FILE_ERROR, "B_FILE_ERROR" }, - { B_FILE_EXISTS, "B_FILE_EXISTS" }, - { B_FILE_NOT_FOUND, "B_FILE_NOT_FOUND" }, - { B_FILE_TOO_LARGE, "B_FILE_TOO_LARGE" }, - { B_GENERAL_ERROR_BASE, "B_GENERAL_ERROR_BASE" }, - { B_INTERFACE_ERROR_BASE, "B_INTERFACE_ERROR_BASE" }, - { B_INTERRUPTED, "B_INTERRUPTED" }, - { B_IO_ERROR, "B_IO_ERROR" }, - { B_IS_A_DIRECTORY, "B_IS_A_DIRECTORY" }, - { B_LAST_BUFFER_ERROR, "B_LAST_BUFFER_ERROR" }, - { B_LAUNCH_FAILED, "B_LAUNCH_FAILED" }, - { B_LAUNCH_FAILED_APP_IN_TRASH, "B_LAUNCH_FAILED_APP_IN_TRASH" }, - { B_LAUNCH_FAILED_APP_NOT_FOUND, "B_LAUNCH_FAILED_APP_NOT_FOUND" }, - { B_LAUNCH_FAILED_EXECUTABLE, "B_LAUNCH_FAILED_EXECUTABLE" }, - { B_LAUNCH_FAILED_FILES_APP_NOT_FOUND, "B_LAUNCH_FAILED_FILES_APP_NOT_FOUND" }, - { B_LAUNCH_FAILED_NO_PREFERRED_APP, "B_LAUNCH_FAILED_NO_PREFERRED_APP" }, - { B_LAUNCH_FAILED_NO_RESOLVE_LINK, "B_LAUNCH_FAILED_NO_RESOLVE_LINK" }, - { B_LINK_LIMIT, "B_LINK_LIMIT" }, - { B_MAIL_ACCESS_ERROR, "B_MAIL_ACCESS_ERROR" }, - { B_MAIL_ERROR_BASE, "B_MAIL_ERROR_BASE" }, - { B_MAIL_INVALID_MAIL, "B_MAIL_INVALID_MAIL" }, - { B_MAIL_NO_DAEMON, "B_MAIL_NO_DAEMON" }, - { B_MAIL_NO_RECIPIENT, "B_MAIL_NO_RECIPIENT" }, - { B_MAIL_UNKNOWN_FIELD, "B_MAIL_UNKNOWN_FIELD" }, - { B_MAIL_UNKNOWN_HOST, "B_MAIL_UNKNOWN_HOST" }, - { B_MAIL_UNKNOWN_USER, "B_MAIL_UNKNOWN_USER" }, - { B_MAIL_WRONG_PASSWORD, "B_MAIL_WRONG_PASSWORD" }, - { B_MEDIA_ERROR_BASE, "B_MEDIA_ERROR_BASE" }, - { B_MESSAGE_TO_SELF, "B_MESSAGE_TO_SELF" }, - { B_MIDI_ERROR_BASE, "B_MIDI_ERROR_BASE" }, - { B_MISMATCHED_VALUES, "B_MISMATCHED_VALUES" }, - { B_MISSING_LIBRARY, "B_MISSING_LIBRARY" }, - { B_MISSING_SYMBOL, "B_MISSING_SYMBOL" }, - { B_NAME_IN_USE, "B_NAME_IN_USE" }, - { B_NAME_NOT_FOUND, "B_NAME_NOT_FOUND" }, - { B_NAME_TOO_LONG, "B_NAME_TOO_LONG" }, - { B_NOT_ALLOWED, "B_NOT_ALLOWED" }, - { B_NOT_AN_EXECUTABLE, "B_NOT_AN_EXECUTABLE" }, - { B_NOT_A_DIRECTORY, "B_NOT_A_DIRECTORY" }, - { B_NOT_A_MESSAGE, "B_NOT_A_MESSAGE" }, - { B_NOT_SUPPORTED, "B_NOT_SUPPORTED" }, - { B_NO_ERROR, "B_NO_ERROR" }, - { B_NO_INIT, "B_NO_INIT" }, - { B_NO_MEMORY, "B_NO_MEMORY" }, - { B_NO_MORE_FDS, "B_NO_MORE_FDS" }, - { B_NO_MORE_PORTS, "B_NO_MORE_PORTS" }, - { B_NO_MORE_SEMS, "B_NO_MORE_SEMS" }, - { B_NO_MORE_TEAMS, "B_NO_MORE_TEAMS" }, - { B_NO_MORE_THREADS, "B_NO_MORE_THREADS" }, - { B_NO_PRINT_SERVER, "B_NO_PRINT_SERVER" }, - { B_OK, "B_OK" }, - { B_OS_ERROR_BASE, "B_OS_ERROR_BASE" }, - { B_PARTITION_TOO_SMALL, "B_PARTITION_TOO_SMALL" }, - { B_PERMISSION_DENIED, "B_PERMISSION_DENIED" }, - { B_POSIX_ERROR_BASE, "B_POSIX_ERROR_BASE" }, - { B_PRINT_ERROR_BASE, "B_PRINT_ERROR_BASE" }, - { B_READ_ONLY_DEVICE, "B_READ_ONLY_DEVICE" }, - { B_RESOURCE_NOT_FOUND, "B_RESOURCE_NOT_FOUND" }, - { B_RESOURCE_UNAVAILABLE, "B_RESOURCE_UNAVAILABLE" }, - { B_RESULT_NOT_REPRESENTABLE, "B_RESULT_NOT_REPRESENTABLE" }, - { B_SERVER_NOT_FOUND, "B_SERVER_NOT_FOUND" }, - { B_SHUTDOWN_CANCELLED, "B_SHUTDOWN_CANCELLED" }, - { B_SHUTTING_DOWN, "B_SHUTTING_DOWN" }, - { B_STORAGE_ERROR_BASE, "B_STORAGE_ERROR_BASE" }, - { B_STREAM_NOT_FOUND, "B_STREAM_NOT_FOUND" }, - { B_SUBSCRIBER_NOT_ENTERED, "B_SUBSCRIBER_NOT_ENTERED" }, - { B_TIMED_OUT, "B_TIMED_OUT" }, - { B_TOO_MANY_ARGS, "B_TOO_MANY_ARGS" }, - { B_TRANSLATION_ERROR_BASE, "B_TRANSLATION_ERROR_BASE" }, - { B_UNKNOWN_MIME_TYPE, "B_UNKNOWN_MIME_TYPE" }, - { B_UNSUPPORTED, "B_UNSUPPORTED" }, - { B_WOULD_BLOCK, "B_WOULD_BLOCK" }, - { EACCES, "EACCES" }, - { EADDRINUSE, "EADDRINUSE" }, - { EADDRNOTAVAIL, "EADDRNOTAVAIL" }, - { EAFNOSUPPORT, "EAFNOSUPPORT" }, - { EAGAIN, "EAGAIN" }, - { EALREADY, "EALREADY" }, - { EBADF, "EBADF" }, - { EBADMSG, "EBADMSG" }, - { EBUSY, "EBUSY" }, - { ECANCELED, "ECANCELED" }, - { ECHILD, "ECHILD" }, - { ECONNABORTED, "ECONNABORTED" }, - { ECONNREFUSED, "ECONNREFUSED" }, - { ECONNRESET, "ECONNRESET" }, - { EDEADLK, "EDEADLK" }, - { EDESTADDRREQ, "EDESTADDRREQ" }, - { EDOM, "EDOM" }, - { EDQUOT, "EDQUOT" }, - { EEXIST, "EEXIST" }, - { EFAULT, "EFAULT" }, - { EFBIG, "EFBIG" }, - { EFPOS, "EFPOS" }, - { EHOSTDOWN, "EHOSTDOWN" }, - { EHOSTUNREACH, "EHOSTUNREACH" }, - { EIDRM, "EIDRM" }, - { EILSEQ, "EILSEQ" }, - { EINPROGRESS, "EINPROGRESS" }, - { EINTR, "EINTR" }, - { EINVAL, "EINVAL" }, - { EIO, "EIO" }, - { EISCONN, "EISCONN" }, - { EISDIR, "EISDIR" }, - { ELOOP, "ELOOP" }, - { EMFILE, "EMFILE" }, - { EMLINK, "EMLINK" }, - { EMSGSIZE, "EMSGSIZE" }, - { EMULTIHOP, "EMULTIHOP" }, - { ENAMETOOLONG, "ENAMETOOLONG" }, - { ENETDOWN, "ENETDOWN" }, - { ENETRESET, "ENETRESET" }, - { ENETUNREACH, "ENETUNREACH" }, - { ENFILE, "ENFILE" }, - { ENOBUFS, "ENOBUFS" }, - { ENODATA, "ENODATA" }, - { ENODEV, "ENODEV" }, - { ENOENT, "ENOENT" }, - { ENOEXEC, "ENOEXEC" }, - { ENOLCK, "ENOLCK" }, - { ENOLINK, "ENOLINK" }, - { ENOMEM, "ENOMEM" }, - { ENOMSG, "ENOMSG" }, - { ENOPROTOOPT, "ENOPROTOOPT" }, - { ENOSPC, "ENOSPC" }, - { ENOSR, "ENOSR" }, - { ENOSTR, "ENOSTR" }, - { ENOSYS, "ENOSYS" }, - { ENOTCONN, "ENOTCONN" }, - { ENOTDIR, "ENOTDIR" }, - { ENOTEMPTY, "ENOTEMPTY" }, - { ENOTSOCK, "ENOTSOCK" }, - { ENOTSUP, "ENOTSUP" }, - { ENOTTY, "ENOTTY" }, - { ENXIO, "ENXIO" }, - { EOPNOTSUPP, "EOPNOTSUPP" }, - { EOVERFLOW, "EOVERFLOW" }, - { EPERM, "EPERM" }, - { EPFNOSUPPORT, "EPFNOSUPPORT" }, - { EPIPE, "EPIPE" }, - { EPROTO, "EPROTO" }, - { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, - { EPROTOTYPE, "EPROTOTYPE" }, - { ERANGE, "ERANGE" }, - { EROFS, "EROFS" }, - { ESHUTDOWN, "ESHUTDOWN" }, - { ESIGPARM, "ESIGPARM" }, - { ESPIPE, "ESPIPE" }, - { ESRCH, "ESRCH" }, - { ESTALE, "ESTALE" }, - { ETIME, "ETIME" }, - { ETIMEDOUT, "ETIMEDOUT" }, - { ETXTBSY, "ETXTBSY" }, - { EWOULDBLOCK, "EWOULDBLOCK" }, - { EXDEV, "EXDEV" }, +// tr ' ,=\t()+' '\n\n\n\n\n\n\n' Message-ID: <779659571-BeMail@laptop> > On 2/9/07, mmu_man at BerliOS wrote: > > + { B_AMBIGUOUS_APP_LAUNCH, "B_AMBIGUOUS_APP_LAUNCH" }, > > + { B_APP_ERROR_BASE, "B_APP_ERROR_BASE" }, > > + { B_BAD_ADDRESS, "B_BAD_ADDRESS" }, > > + { B_BAD_DATA, "B_BAD_DATA" }, > > [...] > > BTW, you could simplify this with a macro (haven't tested it): > > #define E(id) { id, #id } Right, thought about it then forgot. Done. Fran?ois. From fekdahl at gmail.com Sat Feb 10 12:44:20 2007 From: fekdahl at gmail.com (Fredrik Ekdahl) Date: Sat, 10 Feb 2007 12:44:20 +0100 Subject: [Haiku-commits] r20118 - haiku/trunk/build/jam In-Reply-To: <200702091145.l19Bj4NL003809@sheep.berlios.de> References: <200702091145.l19Bj4NL003809@sheep.berlios.de> Message-ID: <45CDB014.6080606@gmail.com> jackburton at BerliOS skrev: > Author: jackburton > Date: 2007-02-09 12:44:53 +0100 (Fri, 09 Feb 2007) > New Revision: 20118 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20118&view=rev > > Modified: > haiku/trunk/build/jam/HaikuImage > Log: > Added FontDemo (not really working well) and moved Clock to Demos > This breaks the gcc 4 build. Here's the error message: src/apps/fontdemo/ControlView.cpp: In member function 'void ControlView::_UpdateAndSendFamily(const BMessage*)': src/apps/fontdemo/ControlView.cpp:425: error: ISO C++ forbids casting to an array type 'char [64]' ...failed C++ generated/objects/haiku/x86/release/apps/fontdemo/ControlView.o ... ...skipped FontDemo for lack of ControlView.o... Changing line 425 from get_font_style(font_family(family), 0, &style); to get_font_style(const_cast(family), 0, &style); fixes the build. I'm not sure the change is correct, but it removes the error at least :) /Fredrik Ekdahl From wkornewald at mail.berlios.de Sat Feb 10 13:41:29 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Sat, 10 Feb 2007 13:41:29 +0100 Subject: [Haiku-commits] r20122 - haiku/trunk/src/preferences/screen Message-ID: <200702101241.l1ACfTDW010179@sheep.berlios.de> Author: wkornewald Date: 2007-02-10 13:41:29 +0100 (Sat, 10 Feb 2007) New Revision: 20122 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20122&view=rev Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp Log: Fixed bug #1016 ('Apply' button overlaying Video Format Popup menu). Modified: haiku/trunk/src/preferences/screen/ScreenWindow.cpp =================================================================== --- haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-09 14:14:29 UTC (rev 20121) +++ haiku/trunk/src/preferences/screen/ScreenWindow.cpp 2007-02-10 12:41:29 UTC (rev 20122) @@ -1107,8 +1107,10 @@ fControlsBox->MoveTo(fScreenBox->Frame().right + 10.0, 10.0); // layout the right side + fApplyButton->ResizeToPreferred(); BRect controlsRect = LayoutMenuFields(flags); controlsRect.InsetBy(-10.0, -10.0); + controlsRect.bottom += 8 + fApplyButton->Bounds().Height(); // adjust size of controls box and move aligned buttons along float xDiff = controlsRect.right - fControlsBox->Bounds().right; float yDiff = controlsRect.bottom - fControlsBox->Bounds().bottom; @@ -1138,11 +1140,10 @@ // fRevertButton->MoveTo(fDefaultsButton->Frame().right + 10, // fDefaultsButton->Frame().top); - fApplyButton->ResizeToPreferred(); + // Apply button was already resized above float resolutionFieldRight = fResolutionField->Frame().right; fApplyButton->MoveTo(resolutionFieldRight - fApplyButton->Bounds().Width(), - fControlsBox->Bounds().bottom - fApplyButton->Bounds().Height() - - (fControlsBox->Bounds().right - resolutionFieldRight)); + fControlsBox->Bounds().bottom - fApplyButton->Bounds().Height() - 10); ResizeTo(boxFrame.right + 10, fRevertButton->Frame().bottom + 10); } From mmu_man at mail.berlios.de Sat Feb 10 20:51:41 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Sat, 10 Feb 2007 20:51:41 +0100 Subject: [Haiku-commits] r20123 - haiku/trunk/src/bin Message-ID: <200702101951.l1AJpf6Z009648@sheep.berlios.de> Author: mmu_man Date: 2007-02-10 20:51:41 +0100 (Sat, 10 Feb 2007) New Revision: 20123 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20123&view=rev Modified: haiku/trunk/src/bin/Jamfile Log: usb_dev_info needs USBKit header and lib... Modified: haiku/trunk/src/bin/Jamfile =================================================================== --- haiku/trunk/src/bin/Jamfile 2007-02-10 12:41:29 UTC (rev 20122) +++ haiku/trunk/src/bin/Jamfile 2007-02-10 19:51:41 UTC (rev 20123) @@ -5,6 +5,7 @@ UsePrivateHeaders app ; UsePrivateHeaders shared ; UsePrivateHeaders storage ; +UseLibraryHeaders usb ; UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_cache ; @@ -137,10 +138,10 @@ mail.cpp : be libmail.so : $(haiku-utils_rsrc) ; -# standard commands that need libbe.so, libusb.so +# standard commands that need libbe.so, and the USB Kit StdBinCommands usb_dev_info.cpp - : be libusb.a : $(haiku-utils_rsrc) ; + : be USBKit.a : $(haiku-utils_rsrc) ; SubInclude HAIKU_TOP src bin addattr ; SubInclude HAIKU_TOP src bin bash ; From laplace at mail.berlios.de Mon Feb 12 21:04:06 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Mon, 12 Feb 2007 21:04:06 +0100 Subject: [Haiku-commits] r20124 - haiku/trunk/src/preferences/print Message-ID: <200702122004.l1CK46v6018693@sheep.berlios.de> Author: laplace Date: 2007-02-12 21:04:05 +0100 (Mon, 12 Feb 2007) New Revision: 20124 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20124&view=rev Modified: haiku/trunk/src/preferences/print/PrintersWindow.cpp Log: "Add..." -> "Add " B_UTF8_ELLIPSIS. Modified: haiku/trunk/src/preferences/print/PrintersWindow.cpp =================================================================== --- haiku/trunk/src/preferences/print/PrintersWindow.cpp 2007-02-10 19:51:41 UTC (rev 20123) +++ haiku/trunk/src/preferences/print/PrintersWindow.cpp 2007-02-12 20:04:05 UTC (rev 20124) @@ -162,7 +162,7 @@ float maxWidth = 0; // Add Button - BButton* addButton = new BButton(BRect(5,5,5,5), "add", "Add...", new BMessage(MSG_ADD_PRINTER), B_FOLLOW_RIGHT); + BButton* addButton = new BButton(BRect(5,5,5,5), "add", "Add " B_UTF8_ELLIPSIS, new BMessage(MSG_ADD_PRINTER), B_FOLLOW_RIGHT); printersBox->AddChild(addButton); addButton->ResizeToPreferred(); From laplace at mail.berlios.de Mon Feb 12 21:08:17 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Mon, 12 Feb 2007 21:08:17 +0100 Subject: [Haiku-commits] r20125 - haiku/trunk/src/preferences/print Message-ID: <200702122008.l1CK8Hkv018898@sheep.berlios.de> Author: laplace Date: 2007-02-12 21:08:17 +0100 (Mon, 12 Feb 2007) New Revision: 20125 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20125&view=rev Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp haiku/trunk/src/preferences/print/AddPrinterDialog.h haiku/trunk/src/preferences/print/Messages.h Log: * The printer driver API does not provide a way to inline printer or transport add-on specific settings in the dialog. Therefore removed detail sections. Closes ticket #1013. * Made window resizable. * Code style changes. * Moved code inside MessageReceived into several methods. Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp =================================================================== --- haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2007-02-12 20:04:05 UTC (rev 20124) +++ haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2007-02-12 20:08:17 UTC (rev 20125) @@ -12,7 +12,6 @@ #include "PrinterListView.h" #include "pr_server.h" #include "Globals.h" -#include "Messages.h" #include #include @@ -37,7 +36,7 @@ AddPrinterDialog::AddPrinterDialog() : Inherited(BRect(78.0, 71.0, 400, 300), "Add Printer", - B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_ZOOMABLE) + B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_ZOOMABLE) { BuildGUI(0); @@ -49,73 +48,27 @@ AddPrinterDialog::MessageReceived(BMessage* msg) { switch(msg->what) { - case B_OK: { - BMessage m(PSRV_MAKE_PRINTER); - BMessenger msgr; - if (GetPrinterServerMessenger(msgr) != B_OK) break; - - BString transport, transportPath; - if (fPrinterText != "Preview") { - transport = fTransportText; - transportPath = fTransportPathText; - } - - m.AddString("driver", fPrinterText.String()); - m.AddString("transport", transport.String()); - m.AddString("transport path", transportPath.String()); - m.AddString("printer name", fNameText.String()); - m.AddString("connection", "Local"); - // request print_server to create printer - msgr.SendMessage(&m); - - PostMessage(B_QUIT_REQUESTED); - } + case B_OK: + AddPrinter(msg); + PostMessage(B_QUIT_REQUESTED); break; + case B_CANCEL: PostMessage(B_QUIT_REQUESTED); break; - case MSG_NAME_CHANGED: - fNameText = fName->Text(); Update(); + + case kNameChangedMsg: + fNameText = fName->Text(); + Update(); break; - case MSG_PRINTER_SELECTED: - case MSG_TRANSPORT_SELECTED: - { - BString name, path; - if (msg->FindString("name", &name) != B_OK) { - name = ""; - } - if (msg->what == MSG_PRINTER_SELECTED) { - fPrinterText = name; - } else { - fTransportText = name; - if (msg->FindString("path", &path) == B_OK) { - // transport path selected - fTransportPathText = path; - void* pointer; - // mark sub menu - if (msg->FindPointer("source", &pointer) == B_OK) { - BMenuItem* item = (BMenuItem*)pointer; - BMenu* menu = item->Menu(); - int32 index = fTransport->IndexOf(menu); - item = fTransport->ItemAt(index); - if (item) item->SetMarked(true); - } - } else { - // transport selected - fTransportPathText = ""; - // remove mark from item in sub menu of transport sub menu - for (int32 i = fTransport->CountItems()-1; i >= 0; i --) { - BMenu* menu = fTransport->SubmenuAt(i); - if (menu) { - BMenuItem* item = menu->FindMarked(); - if (item) item->SetMarked(false); - } - } - } - } - Update(); - } + + case kPrinterSelectedMsg: + StorePrinter(msg); break; + + case kTransportSelectedMsg: + + break; default: @@ -125,137 +78,185 @@ void +AddPrinterDialog::AddPrinter(BMessage *msg) +{ + BMessage m(PSRV_MAKE_PRINTER); + BMessenger msgr; + if (GetPrinterServerMessenger(msgr) != B_OK) + return; + + BString transport; + BString transportPath; + if (fPrinterText != "Preview") { + // Preview printer does not use transport add-on + transport = fTransportText; + transportPath = fTransportPathText; + } + + m.AddString("driver", fPrinterText.String()); + m.AddString("transport", transport.String()); + m.AddString("transport path", transportPath.String()); + m.AddString("printer name", fNameText.String()); + m.AddString("connection", "Local"); + msgr.SendMessage(&m); + // request print_server to create printer +} + + +void +AddPrinterDialog::StorePrinter(BMessage *msg) +{ + BString name; + if (msg->FindString("name", &name) != B_OK) + name = ""; + + fPrinterText = name; + Update(); +} + + +void +AddPrinterDialog::HandleChangedTransport(BMessage *msg) +{ + BString name; + if (msg->FindString("name", &name) != B_OK) { + name = ""; + } + fTransportText = name; + + BString path; + if (msg->FindString("path", &path) == B_OK) { + // transport path selected + fTransportPathText = path; + + // mark sub menu + void* pointer; + if (msg->FindPointer("source", &pointer) == B_OK) { + BMenuItem* item = (BMenuItem*)pointer; + BMenu* menu = item->Menu(); + int32 index = fTransport->IndexOf(menu); + item = fTransport->ItemAt(index); + if (item != NULL) + item->SetMarked(true); + } + } else { + // transport selected + fTransportPathText = ""; + + // remove mark from item in sub menu of transport sub menu + for (int32 i = fTransport->CountItems()-1; i >= 0; i --) { + BMenu* menu = fTransport->SubmenuAt(i); + if (menu != NULL) { + BMenuItem* item = menu->FindMarked(); + if (item != NULL) + item->SetMarked(false); + } + } + } + Update(); +} + + +void AddPrinterDialog::BuildGUI(int stage) { - BRect r, tr; - float x, w, h; - BButton * ok; - BButton * cancel; - BTextControl * tc; - BPopUpMenu * pum; - BMenuField * mf; - BStringView * sv; - BBox * bb; + float w, h; + // preferred size of current control -#define H_MARGIN 8 -#define V_MARGIN 8 -#define LINE_MARGIN 3 + const int32 kHMargin = 8; + const int32 kVMargin = 8; -#define NAME_LABEL "Printer Name:" -#define KIND_LABEL "Printer Type:" -#define PORT_LABEL "Connected to:" -#define DRIVER_SETTINGS_AREA_TEXT "Driver settings area, if any." -#define TRANSPORT_SETTINGS_AREA_TEXT "Transport settings area, if any." + #define NAME_LABEL "Printer Name:" + #define KIND_LABEL "Printer Type:" + #define PORT_LABEL "Connected to:" -// ------------------------ First of all, create a nice grey backdrop - BBox * panel = new BBox(Bounds(), "backdrop", B_FOLLOW_ALL, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, - B_PLAIN_BORDER); + + BRect r = Bounds(); + + BView *panel = new BView(r, "panel", B_FOLLOW_ALL, 0); AddChild(panel); - - r = panel->Bounds(); + panel->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - r.InsetBy(H_MARGIN, V_MARGIN); + r.InsetBy(kHMargin, kVMargin); // add a "printer name" input field - tc = new BTextControl(r, "printer_name", - NAME_LABEL, B_EMPTY_STRING, NULL); - fName = tc; - tc->SetAlignment(B_ALIGN_LEFT, B_ALIGN_LEFT); - panel->AddChild(tc); - tc->SetModificationMessage(new BMessage(MSG_NAME_CHANGED)); - tc->SetFont(be_bold_font); - tc->GetPreferredSize(&w, &h); - tc->SetDivider(be_bold_font->StringWidth(NAME_LABEL "#")); - tc->ResizeTo(tc->Bounds().Width(), h); + fName = new BTextControl(r, "printer_name", + NAME_LABEL, B_EMPTY_STRING, NULL, + B_FOLLOW_LEFT_RIGHT); + fName->SetFont(be_bold_font); + fName->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); + panel->AddChild(fName); + fName->SetModificationMessage(new BMessage(kNameChangedMsg)); + fName->GetPreferredSize(&w, &h); + fName->ResizeTo(r.Width(), h); - r.OffsetBy(0, h + 2*V_MARGIN); + r.OffsetBy(0, h + 2 * kVMargin); - // add a "driver" settings box - bb = new BBox(r, "driver_box", B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, - B_FANCY_BORDER); - panel->AddChild(bb); - - pum = new BPopUpMenu(""); - fPrinter = pum; - mf = new BMenuField(r, "drivers_list", KIND_LABEL, pum, + // add a "driver" popup menu field + fPrinter = new BPopUpMenu(""); + BMenuField *printerMenuField = new BMenuField(r, "drivers_list", KIND_LABEL, fPrinter, B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE); - mf->SetFont(be_plain_font); - mf->SetDivider(be_plain_font->StringWidth(NAME_LABEL "#")); - bb->SetLabel(mf); - mf->ResizeToPreferred(); - mf->GetPreferredSize(&w, &h); - FillMenu(pum, "Print", MSG_PRINTER_SELECTED); + printerMenuField->SetFont(be_plain_font); + printerMenuField->SetAlignment(B_ALIGN_RIGHT); + panel->AddChild(printerMenuField); + printerMenuField->GetPreferredSize(&w, &h); + printerMenuField->ResizeTo(r.Width(), h); + FillMenu(fPrinter, "Print", kPrinterSelectedMsg); - tr = bb->Bounds(); - tr.top += h; - tr.InsetBy(H_MARGIN, V_MARGIN); - - sv = new BStringView(tr, NULL, DRIVER_SETTINGS_AREA_TEXT); - bb->AddChild(sv); - sv->ResizeToPreferred(); - - bb->ResizeTo(bb->Bounds().Width(), 200); - - r.OffsetBy(0, bb->Frame().Height() + V_MARGIN); + r.OffsetBy(0, printerMenuField->Bounds().Height() + kVMargin); - // add a "transport" settings box - bb = new BBox(r, "driver_box", B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, - B_FANCY_BORDER); - panel->AddChild(bb); - // add a "connected to" (aka transports list) menu field - pum = new BPopUpMenu(""); - fTransport = pum; - mf = new BMenuField(r, "transports_list", PORT_LABEL, pum, + fTransport = new BPopUpMenu(""); + BMenuField *transportMenuField = new BMenuField(r, "transports_list", PORT_LABEL, fTransport, B_FOLLOW_TOP | B_FOLLOW_LEFT_RIGHT, B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE); - mf->SetFont(be_plain_font); - mf->SetDivider(be_plain_font->StringWidth(PORT_LABEL "#")); - bb->SetLabel(mf); - mf->ResizeToPreferred(); - mf->GetPreferredSize(&w, &h); - FillMenu(pum, "Print/transport", MSG_TRANSPORT_SELECTED); + transportMenuField->SetFont(be_plain_font); + transportMenuField->SetAlignment(B_ALIGN_RIGHT); + panel->AddChild(transportMenuField); + transportMenuField->GetPreferredSize(&w, &h); + transportMenuField->ResizeTo(r.Width(), h); + FillMenu(fTransport, "Print/transport", kTransportSelectedMsg); + + r.OffsetBy(0, transportMenuField->Bounds().Height() + kVMargin); + + // update dividers + float divider = be_bold_font->StringWidth(NAME_LABEL "#"); + divider = max_c(divider, be_plain_font->StringWidth(NAME_LABEL "#")); + divider = max_c(divider, be_plain_font->StringWidth(PORT_LABEL "#")); - tr = bb->Bounds(); - tr.top += h; - tr.InsetBy(H_MARGIN, V_MARGIN); + fName->SetDivider(divider); + printerMenuField->SetDivider(divider); + transportMenuField->SetDivider(divider); - sv = new BStringView(tr, NULL, TRANSPORT_SETTINGS_AREA_TEXT); - bb->AddChild(sv); - sv->ResizeToPreferred(); - - bb->ResizeTo(bb->Bounds().Width(), 100); - - r.OffsetBy(0, bb->Frame().Height() + V_MARGIN); - - // make some space before the buttons row - r.OffsetBy(0, V_MARGIN); - // add a "OK" button, and make it default - ok = new BButton(r, NULL, "Add", new BMessage(B_OK), B_FOLLOW_RIGHT | B_FOLLOW_TOP); - fOk = ok; - ok->MakeDefault(true); - ok->ResizeToPreferred(); - ok->GetPreferredSize(&w, &h); - x = r.right - w; - ok->MoveTo(x, ok->Frame().top); // put the ok bottom at bottom right corner - panel->AddChild(ok); + fOk = new BButton(r, NULL, "Add", new BMessage(B_OK), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); + fOk->MakeDefault(true); + fOk->ResizeToPreferred(); + fOk->GetPreferredSize(&w, &h); + // put the ok bottom at bottom right corner + float x = panel->Bounds().right - w - kHMargin; + float y = panel->Bounds().bottom - h - kVMargin; + fOk->MoveTo(x, y); + panel->AddChild(fOk); SetDefaultButton(fOk); // add a "Cancel button - cancel = new BButton(r, NULL, "Cancel", new BMessage(B_CANCEL), B_FOLLOW_RIGHT | B_FOLLOW_TOP); + BButton *cancel = new BButton(r, NULL, "Cancel", new BMessage(B_CANCEL), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); cancel->ResizeToPreferred(); cancel->GetPreferredSize(&w, &h); - cancel->MoveTo(x - w - H_MARGIN, r.top); // put cancel button left next the ok button + // put cancel button left next the ok button + x = fOk->Frame().left - w - kVMargin; + y = fOk->Frame().top; + cancel->MoveTo(x, y); panel->AddChild(cancel); // Auto resize window - ResizeTo(ok->Frame().right + H_MARGIN, ok->Frame().bottom + V_MARGIN); + r.bottom = transportMenuField->Frame().bottom + fOk->Bounds().Height() + 2 * kVMargin; + ResizeTo(r.right, r.bottom); + SetSizeLimits(r.right, 10e5, r.bottom, 10e5); + fName->MakeFocus(true); Update(); @@ -315,8 +316,10 @@ static directory_which gAddonDirs[] = { B_BEOS_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY - // B_USER_ADDONS_DIRECTORY same as common directory - // TODO: not in Haiku! + #if HAIKU_COMPATIBLE + // TODO test + // , B_USER_ADDONS_DIRECTORY + #endif }; @@ -325,10 +328,16 @@ { for (uint32 i = 0; i < sizeof(gAddonDirs) / sizeof(directory_which); i ++) { BPath addonPath; - if (find_directory(gAddonDirs[i], &addonPath) != B_OK) continue; - if (addonPath.Append(path) != B_OK) continue; + if (find_directory(gAddonDirs[i], &addonPath) != B_OK) + continue; + + if (addonPath.Append(path) != B_OK) + continue; + BDirectory dir(addonPath.Path()); - if (dir.InitCheck() != B_OK) continue; + if (dir.InitCheck() != B_OK) + continue; + BEntry entry; while (dir.GetNextEntry(&entry, true) == B_OK) { if (!entry.IsFile()) @@ -403,11 +412,12 @@ subMenu->SetRadioMode(true); int32 index = menu->IndexOf(subMenu); BMenuItem* item = menu->ItemAt(index); - if (item) item->SetMessage(new BMessage(MSG_TRANSPORT_SELECTED)); + if (item != NULL) + item->SetMessage(new BMessage(kTransportSelectedMsg)); } // setup menu item for port - BMessage* msg = new BMessage(MSG_TRANSPORT_SELECTED); + BMessage* msg = new BMessage(kTransportSelectedMsg); msg->AddString("name", transport); msg->AddString("path", path.Leaf()); BMenuItem* item = new BMenuItem(path.Leaf(), msg); @@ -421,6 +431,7 @@ { fOk->SetEnabled(fNameText != "" && fPrinterText != "" && (fTransportText != "" || fPrinterText == "Preview")); - fTransport->SetEnabled(fPrinterText != "" &&fPrinterText != "Preview"); + + fTransport->SetEnabled(fPrinterText != "" && fPrinterText != "Preview"); } Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.h =================================================================== --- haiku/trunk/src/preferences/print/AddPrinterDialog.h 2007-02-12 20:04:05 UTC (rev 20124) +++ haiku/trunk/src/preferences/print/AddPrinterDialog.h 2007-02-12 20:08:17 UTC (rev 20125) @@ -1,35 +1,15 @@ -/*****************************************************************************/ -// Printers Preference Application. -// -// This application and all source files used in its construction, except -// where noted, are licensed under the MIT License, and have been written -// and are: -// -// Copyright (c) 2001-2003 OpenBeOS Project -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -/*****************************************************************************/ +/* + * Copyright 2001-2007, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * Philippe Houdoin + * Michael Pfeiffer + */ +#ifndef ADD_PRINTER_DIALOG_H +#define ADD_PRINTER_DIALOG_H -#ifndef ADDPRINTERDIALOG_H -#define ADDPRINTERDIALOG_H - class AddPrinterDialog; #include @@ -40,28 +20,39 @@ class AddPrinterDialog : public BWindow { - typedef BWindow Inherited; -public: - static status_t Start(); - -private: - AddPrinterDialog(); - void MessageReceived(BMessage* msg); - - void BuildGUI(int stage); - void FillMenu(BMenu* menu, const char* path, uint32 what); - void AddPortSubMenu(BMenu* menu, const char* transport, const char* port); - void Update(); - - BTextControl* fName; - BPopUpMenu* fPrinter; - BPopUpMenu* fTransport; - BButton* fOk; + typedef BWindow Inherited; - BString fNameText; - BString fPrinterText; - BString fTransportText; - BString fTransportPathText; + public: + static status_t Start(); + + private: + enum MessageKind { + kPrinterSelectedMsg = 'adlg', + kTransportSelectedMsg, + kNameChangedMsg, + }; + + AddPrinterDialog(); + void MessageReceived(BMessage *msg); + + void AddPrinter(BMessage *msg); + void StorePrinter(BMessage *msg); + void HandleChangedTransport(BMessage *msg); + + void BuildGUI(int stage); + void FillMenu(BMenu *menu, const char *path, uint32 what); + void AddPortSubMenu(BMenu *menu, const char *transport, const char *port); + void Update(); + + BTextControl *fName; + BPopUpMenu *fPrinter; + BPopUpMenu *fTransport; + BButton *fOk; + + BString fNameText; + BString fPrinterText; + BString fTransportText; + BString fTransportPathText; }; #endif Modified: haiku/trunk/src/preferences/print/Messages.h =================================================================== --- haiku/trunk/src/preferences/print/Messages.h 2007-02-12 20:04:05 UTC (rev 20124) +++ haiku/trunk/src/preferences/print/Messages.h 2007-02-12 20:08:17 UTC (rev 20125) @@ -39,7 +39,4 @@ const uint32 MSG_RESTART_JOB = 'RstJ'; const uint32 MSG_JOB_SELECTED = 'JSel'; -const uint32 MSG_TRANSPORT_SELECTED = 'TSel'; -const uint32 MSG_NAME_CHANGED = 'NCgd'; - #endif From laplace at mail.berlios.de Mon Feb 12 21:33:39 2007 From: laplace at mail.berlios.de (laplace at BerliOS) Date: Mon, 12 Feb 2007 21:33:39 +0100 Subject: [Haiku-commits] r20126 - haiku/trunk/src/preferences/print Message-ID: <200702122033.l1CKXd60020768@sheep.berlios.de> Author: laplace Date: 2007-02-12 21:33:39 +0100 (Mon, 12 Feb 2007) New Revision: 20126 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20126&view=rev Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp Log: Bug fixes. Forgot to call method in MessageRecieved(). Align buttons correctly. Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp =================================================================== --- haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2007-02-12 20:08:17 UTC (rev 20125) +++ haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2007-02-12 20:33:39 UTC (rev 20126) @@ -67,7 +67,7 @@ break; case kTransportSelectedMsg: - + HandleChangedTransport(msg); break; @@ -231,7 +231,6 @@ // add a "OK" button, and make it default fOk = new BButton(r, NULL, "Add", new BMessage(B_OK), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - fOk->MakeDefault(true); fOk->ResizeToPreferred(); fOk->GetPreferredSize(&w, &h); // put the ok bottom at bottom right corner @@ -239,7 +238,6 @@ float y = panel->Bounds().bottom - h - kVMargin; fOk->MoveTo(x, y); panel->AddChild(fOk); - SetDefaultButton(fOk); // add a "Cancel button BButton *cancel = new BButton(r, NULL, "Cancel", new BMessage(B_CANCEL), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); @@ -251,6 +249,9 @@ cancel->MoveTo(x, y); panel->AddChild(cancel); + SetDefaultButton(fOk); + fOk->MakeDefault(true); + // Auto resize window r.bottom = transportMenuField->Frame().bottom + fOk->Bounds().Height() + 2 * kVMargin; ResizeTo(r.right, r.bottom); From axeld at mail.berlios.de Tue Feb 13 07:42:59 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 13 Feb 2007 07:42:59 +0100 Subject: [Haiku-commits] r20127 - haiku/trunk/src/system/kernel Message-ID: <200702130642.l1D6gxCL009267@sheep.berlios.de> Author: axeld Date: 2007-02-13 07:42:58 +0100 (Tue, 13 Feb 2007) New Revision: 20127 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20127&view=rev Modified: haiku/trunk/src/system/kernel/team.c Log: Prevented the somewhat broken env copying code from clobbering memory it shouldn't really touch. Modified: haiku/trunk/src/system/kernel/team.c =================================================================== --- haiku/trunk/src/system/kernel/team.c 2007-02-12 20:33:39 UTC (rev 20126) +++ haiku/trunk/src/system/kernel/team.c 2007-02-13 06:42:58 UTC (rev 20127) @@ -706,7 +706,7 @@ B_EXACT_ADDRESS, sizeLeft, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_STACK_AREA); if (t->user_stack_area < 0) { dprintf("team_create_thread_start: could not create default user stack region\n"); - + free_team_arg(teamArgs); return t->user_stack_area; } @@ -717,9 +717,10 @@ argCount = teamArgs->arg_count; envCount = teamArgs->env_count; - uspa = (struct uspace_program_args *)(t->user_stack_base + t->user_stack_size + TLS_SIZE + ENV_SIZE); + uspa = (struct uspace_program_args *)(t->user_stack_base + t->user_stack_size + + TLS_SIZE + ENV_SIZE); uargs = (char **)(uspa + 1); - udest = (char *)(uargs + argCount + 1); + udest = (char *)(uargs + argCount + 1); TRACE(("addr: stack base = 0x%lx, uargs = %p, udest = %p, sizeLeft = %lu\n", t->user_stack_base, uargs, udest, sizeLeft)); @@ -740,14 +741,21 @@ uargs[argCount] = NULL; uenv = (char **)(t->user_stack_base + t->user_stack_size + TLS_SIZE); + sizeLeft = ENV_SIZE; udest = (char *)uenv + ENV_SIZE - 1; // the environment variables are copied from back to front - TRACE(("team_create_thread_start: envc: %ld, env: %p\n", teamArgs->env_count, (void *)teamArgs->env)); + TRACE(("team_create_thread_start: envc: %ld, env: %p\n", + teamArgs->env_count, (void *)teamArgs->env)); for (i = 0; i < envCount; i++) { ssize_t length = strlen(teamArgs->env[i]) + 1; udest -= length; + if (udest < (char *)&uenv[envCount]) { + envCount = i; + break; + } + uenv[i] = udest; if (user_memcpy(udest, teamArgs->env[i], length) < B_OK) { From axeld at mail.berlios.de Tue Feb 13 08:22:07 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 13 Feb 2007 08:22:07 +0100 Subject: [Haiku-commits] r20128 - haiku/trunk/src/preferences/filetypes Message-ID: <200702130722.l1D7M7RD010517@sheep.berlios.de> Author: axeld Date: 2007-02-13 08:22:06 +0100 (Tue, 13 Feb 2007) New Revision: 20128 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20128&view=rev Modified: haiku/trunk/src/preferences/filetypes/IconView.cpp Log: Fixed a bug that I eventually introduced that prevented Icon-O-Matic from being started from FileTypes. Modified: haiku/trunk/src/preferences/filetypes/IconView.cpp =================================================================== --- haiku/trunk/src/preferences/filetypes/IconView.cpp 2007-02-13 06:42:58 UTC (rev 20127) +++ haiku/trunk/src/preferences/filetypes/IconView.cpp 2007-02-13 07:22:06 UTC (rev 20128) @@ -1,5 +1,5 @@ /* - * Copyright 2006, Axel D?rfler, axeld at pinc-software.de. All rights reserved. + * Copyright 2006-2007, Axel D?rfler, axeld at pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. */ @@ -601,6 +601,8 @@ switch (message->what) { case kMsgIconInvoked: + case kMsgEditIcon: + case kMsgAddIcon: _AddOrEditIcon(); break; case kMsgRemoveIcon: From axeld at mail.berlios.de Tue Feb 13 09:21:27 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 13 Feb 2007 09:21:27 +0100 Subject: [Haiku-commits] r20129 - haiku/trunk/src/apps/bemail Message-ID: <200702130821.l1D8LRlE013316@sheep.berlios.de> Author: axeld Date: 2007-02-13 09:21:27 +0100 (Tue, 13 Feb 2007) New Revision: 20129 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20129&view=rev Modified: haiku/trunk/src/apps/bemail/Mail.cpp Log: * Added "Close and > Move to Trash" back in, as it's actually different from just moving the mail to trash (and move on to the next mail) - and very handy, too. * Removed "Close and > Set to Read" as it's not really necessary at all (and since quitting BeMail and just closing the window will do the same thing, it's also rather confusing than helpful). * Some cleanup. Modified: haiku/trunk/src/apps/bemail/Mail.cpp =================================================================== --- haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-13 07:22:06 UTC (rev 20128) +++ haiku/trunk/src/apps/bemail/Mail.cpp 2007-02-13 08:21:27 UTC (rev 20129) @@ -1214,31 +1214,30 @@ } -//==================================================================== // #pragma mark - -TMailWindow::TMailWindow(BRect rect, const char *title, const entry_ref *ref, const char *to, - const BFont *font, bool resending, BMessenger *messenger) - : BWindow(rect, title, B_DOCUMENT_WINDOW, 0), - fFieldState(0), - fPanel(NULL), - fSendButton(NULL), - fSaveButton(NULL), - fPrintButton(NULL), - fSigButton(NULL), - fZoom(rect), - fEnclosuresView(NULL), - fPrevTrackerPositionSaved(false), - fNextTrackerPositionSaved(false), - fSigAdded(false), - fReplying(false), - fResending(resending), - fSent(false), - fDraft(false), - fChanged(false), - fStartingText(NULL), - fOriginatingWindow(NULL) +TMailWindow::TMailWindow(BRect rect, const char *title, const entry_ref *ref, + const char *to, const BFont *font, bool resending, BMessenger *messenger) + : BWindow(rect, title, B_DOCUMENT_WINDOW, 0), + fFieldState(0), + fPanel(NULL), + fSendButton(NULL), + fSaveButton(NULL), + fPrintButton(NULL), + fSigButton(NULL), + fZoom(rect), + fEnclosuresView(NULL), + fPrevTrackerPositionSaved(false), + fNextTrackerPositionSaved(false), + fSigAdded(false), + fReplying(false), + fResending(resending), + fSent(false), + fDraft(false), + fChanged(false), + fStartingText(NULL), + fOriginatingWindow(NULL) { if (messenger != NULL) fTrackerMessenger = *messenger; @@ -1320,9 +1319,11 @@ subMenu->AddItem(item = new BMenuItem( MDR_DIALECT_CHOICE ("Leave as New", "N) ????????"), new BMessage(M_CLOSE_SAME), 'W', B_SHIFT_KEY)); +#if 0 subMenu->AddItem(item = new BMenuItem( MDR_DIALECT_CHOICE ("Set to Read", "R) ??????"), new BMessage(M_CLOSE_READ), 'W')); +#endif message = M_CLOSE_READ; } else { if (strlen(str)) @@ -1335,11 +1336,14 @@ AddShortcut('W', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(M_CLOSE_SAME)); } + subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Move to Trash", + "T) ??????"), new BMessage(M_DELETE), 'T', B_CONTROL_KEY)); + AddShortcut('T', B_SHIFT_KEY | B_COMMAND_KEY, new BMessage(M_DELETE_NEXT)); + subMenu->AddSeparatorItem(); - subMenu->AddItem(new BMenuItem( - MDR_DIALECT_CHOICE ("Set to Saved", "S) ??????"), - new BMessage(M_CLOSE_SAVED), 'W', B_CONTROL_KEY)); + subMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Set to Saved", + "S) ??????"), new BMessage(M_CLOSE_SAVED), 'W', B_CONTROL_KEY)); if (add_query_menu_items(subMenu, INDEX_STATUS, M_STATUS, MDR_DIALECT_CHOICE("Set to %s", "???<%s>???")) > 0) @@ -1896,35 +1900,30 @@ int32 start = 0; BTextView *textView; - if (!fIncoming) - { - enable = strlen(fHeaderView->fTo->Text()) || - strlen(fHeaderView->fBcc->Text()); + if (!fIncoming) { + enable = strlen(fHeaderView->fTo->Text()) + || strlen(fHeaderView->fBcc->Text()); fSendNow->SetEnabled(enable); fSendLater->SetEnabled(enable); be_clipboard->Lock(); - fPaste->SetEnabled(be_clipboard->Data()->HasData("text/plain", B_MIME_TYPE) && - ((fEnclosuresView == NULL) || !fEnclosuresView->fList->IsFocus())); + fPaste->SetEnabled(be_clipboard->Data()->HasData("text/plain", B_MIME_TYPE) + && (fEnclosuresView == NULL || !fEnclosuresView->fList->IsFocus())); be_clipboard->Unlock(); fQuote->SetEnabled(false); fRemoveQuote->SetEnabled(false); fAdd->SetEnabled(true); - fRemove->SetEnabled((fEnclosuresView != NULL) && - (fEnclosuresView->fList->CurrentSelection() >= 0)); - } - else - { - if (fResending) - { + fRemove->SetEnabled(fEnclosuresView != NULL + && fEnclosuresView->fList->CurrentSelection() >= 0); + } else { + if (fResending) { enable = strlen(fHeaderView->fTo->Text()); fSendNow->SetEnabled(enable); // fSendLater->SetEnabled(enable); - if (fHeaderView->fTo->HasFocus()) - { + if (fHeaderView->fTo->HasFocus()) { textView = fHeaderView->fTo->TextView(); textView->GetSelection(&start, &finish); @@ -1932,15 +1931,11 @@ be_clipboard->Lock(); fPaste->SetEnabled(be_clipboard->Data()->HasData("text/plain", B_MIME_TYPE)); be_clipboard->Unlock(); - } - else - { + } else { fCut->SetEnabled(false); fPaste->SetEnabled(false); } - } - else - { + } else { fCut->SetEnabled(false); fPaste->SetEnabled(false); @@ -1954,16 +1949,13 @@ fPrint->SetEnabled(fContentView->fTextView->TextLength()); textView = dynamic_cast(CurrentFocus()); - if ((NULL != textView) && (dynamic_cast(textView->Parent()) != NULL)) - { + if (textView != NULL + && dynamic_cast(textView->Parent()) != NULL) { // one of To:, Subject:, Account:, Cc:, Bcc: textView->GetSelection(&start, &finish); - } - else if (fContentView->fTextView->IsFocus()) - { + } else if (fContentView->fTextView->IsFocus()) { fContentView->fTextView->GetSelection(&start, &finish); - if (!fIncoming) - { + if (!fIncoming) { fQuote->SetEnabled(true); fRemoveQuote->SetEnabled(true); } @@ -1975,7 +1967,7 @@ // Undo stuff bool isRedo = false; - undo_state undoState = B_UNDO_UNAVAILABLE; + undo_state undoState = B_UNDO_UNAVAILABLE; BTextView *focusTextView = dynamic_cast(CurrentFocus()); if (focusTextView != NULL) @@ -1995,8 +1987,7 @@ int32 prevState = fFieldState, fieldMask = msg->FindInt32("bitmask"); void *source; - if (msg->FindPointer("source", &source) == B_OK) - { + if (msg->FindPointer("source", &source) == B_OK) { int32 length; if (fieldMask == FIELD_BODY) @@ -2011,8 +2002,7 @@ } // Has anything changed? - if (prevState != fFieldState || !fChanged) - { + if (prevState != fFieldState || !fChanged) { // Change Buttons to reflect this if (fSaveButton) fSaveButton->SetEnabled(fFieldState); @@ -2024,8 +2014,7 @@ fChanged = true; // Update title bar if "subject" has changed - if (!fIncoming && fieldMask & FIELD_SUBJECT) - { + if (!fIncoming && fieldMask & FIELD_SUBJECT) { // If no subject, set to "BeMail" if (!fHeaderView->fSubject->TextView()->TextLength()) SetTitle("BeMail"); @@ -2063,8 +2052,7 @@ */ uint32 buttons; if (msg->FindInt32("buttons", (int32 *)&buttons) == B_OK - && buttons == B_SECONDARY_MOUSE_BUTTON) - { + && buttons == B_SECONDARY_MOUSE_BUTTON) { BPopUpMenu menu("Spam Actions", false, false); for (int i = 0; i < 4; i++) menu.AddItem(new BMenuItem(kSpamMenuItemTextArray[i], new BMessage(M_TRAIN_SPAM_AND_DELETE + i))); @@ -2075,23 +2063,25 @@ if ((item = menu.Go(where, false, false)) != NULL) PostMessage(item->Message()); break; - } else // Default action for left clicking on the spam button. - PostMessage (new BMessage (M_TRAIN_SPAM_AND_DELETE)); + } else { + // Default action for left clicking on the spam button. + PostMessage(new BMessage(M_TRAIN_SPAM_AND_DELETE)); + } break; } case M_TRAIN_SPAM_AND_DELETE: - PostMessage (M_DELETE_NEXT); + PostMessage(M_DELETE_NEXT); case M_TRAIN_SPAM: - TrainMessageAs ("Spam"); + TrainMessageAs("Spam"); break; case M_UNTRAIN: - TrainMessageAs ("Uncertain"); + TrainMessageAs("Uncertain"); break; case M_TRAIN_GENUINE: - TrainMessageAs ("Genuine"); + TrainMessageAs("Genuine"); break; case M_REPLY: @@ -2099,8 +2089,7 @@ // TODO: This needs removed in favor of a split toolbar button. See comments for Spam button uint32 buttons; if (msg->FindInt32("buttons", (int32 *)&buttons) == B_OK - && buttons == B_SECONDARY_MOUSE_BUTTON) - { + && buttons == B_SECONDARY_MOUSE_BUTTON) { BPopUpMenu menu("Reply To", false, false); menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply","R) ??"),new BMessage(M_REPLY))); menu.AddItem(new BMenuItem(MDR_DIALECT_CHOICE ("Reply to Sender","S) ??????"),new BMessage(M_REPLY_TO_SENDER))); @@ -2110,8 +2099,7 @@ msg->FindPoint("where", &where); BMenuItem *item; - if ((item = menu.Go(where, false, false)) != NULL) - { + if ((item = menu.Go(where, false, false)) != NULL) { item->SetTarget(this); PostMessage(item->Message()); } @@ -2167,11 +2155,8 @@ bool foundRef = false; entry_ref nextRef; - if ((msg->what == M_DELETE_PREV || msg->what == M_DELETE_NEXT) && fRef) - { - // - // Find the next message that should be displayed - // + if ((msg->what == M_DELETE_PREV || msg->what == M_DELETE_NEXT) && fRef) { + // Find the next message that should be displayed nextRef = *fRef; foundRef = GetTrackerWindowFile(&nextRef, msg->what == M_DELETE_NEXT); @@ -2180,10 +2165,8 @@ SetCurrentMessageRead(); if (!fTrackerMessenger.IsValid() || !fIncoming) { - // - // Not associated with a tracker window. Create a new - // messenger and ask the tracker to delete this entry - // + // Not associated with a tracker window. Create a new + // messenger and ask the tracker to delete this entry if (fDraft || fIncoming) { BMessenger tracker("application/x-vnd.Be-TRAK"); if (tracker.IsValid()) { @@ -2198,13 +2181,11 @@ } } } else { - // // This is associated with a tracker window. Ask the // window to delete this entry. Do it this way if we // can instead of the above way because it doesn't reset // the selection (even though we set selection below, this // still causes problems). - // BMessage delmsg(B_DELETE_PROPERTY); BMessage entryspec('sref'); entryspec.AddRef("refs", fRef); @@ -2213,10 +2194,8 @@ fTrackerMessenger.SendMessage(&delmsg); } - // // If the next file was found, open it. If it was not, // we have no choice but to close this window. - // if (foundRef) { TMailWindow *window = static_cast(be_app)->FindWindow(nextRef); if (window == NULL) From axeld at mail.berlios.de Tue Feb 13 09:31:21 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Tue, 13 Feb 2007 09:31:21 +0100 Subject: [Haiku-commits] r20130 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702130831.l1D8VLlE013745@sheep.berlios.de> Author: axeld Date: 2007-02-13 09:31:21 +0100 (Tue, 13 Feb 2007) New Revision: 20130 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20130&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: * Removed spacing before the links - it looked really weird, especially with other fonts; I hope mmu_man won't mind. * Cleaned up our team leads: moved Michael Wilber and Kurtis Kopf to the list of contributors, added Waldemar (website), and Jorge (marcom), replaced DarkWyrm with his alter ego Jon. * Fixed a warning - even though I'm not sure we really need this percentage stuff at all. Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-13 08:21:27 UTC (rev 20129) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-13 08:31:21 UTC (rev 20130) @@ -331,7 +331,7 @@ fCreditsView->Insert(string); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.haiku-os.org\n\n"); + fCreditsView->Insert("www.haiku-os.org\n\n"); fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuOrange); fCreditsView->Insert("Team Leads:\n"); @@ -339,15 +339,15 @@ fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert( "Bruno G. Albuquerque\n" - "DarkWyrm\n" "Axel D?rfler\n" "Phil Greenway\n" "Philippe Houdoin\n" - "Kurtis Kopf\n" + "Waldemar Kornewald\n" + "Jorge G. Mare\n" "Marcus Overhagen\n" "Michael Pfeiffer\n" "Ingo Weinhold\n" - "Michael Wilber\n" + "Jonathan Yoder\n" "\n"); fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuOrange); @@ -387,6 +387,7 @@ "Carwyn Jones\n" "Vasilis Kaoutsis\n" "Marcin Konicki\n" + "Kurtis Kopf\n" "Elad Lahav\n" "Santiago Lema\n" "Oscar Lesta\n" @@ -419,6 +420,7 @@ "Jason Vandermark\n" "Sandor Vroemisse\n" "Nathan Whitehorn\n" + "Michael Wilber\n" "Ulrich Wimboeck\n" "Gabe Yoder\n" "?ukasz Zemczak\n" @@ -452,7 +454,7 @@ fCreditsView->Insert(" - Bourne Again Shell.\n"); fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " The Free Software Foundation.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.gnu.org\n\n"); + fCreditsView->Insert("www.gnu.org\n\n"); // FFMpeg copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -460,7 +462,7 @@ fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " 2000-2007 Fabrice Bellard, et al.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.ffmpeg.org\n\n"); + fCreditsView->Insert("www.ffmpeg.org\n\n"); // AGG copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -468,7 +470,7 @@ fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &darkgrey); fCreditsView->Insert("Copyright " B_UTF8_COPYRIGHT " 2002-2006 Maxim Shemanarev (McSeem).\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.antigrain.com\n\n"); + fCreditsView->Insert("www.antigrain.com\n\n"); // PDFLib copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -479,7 +481,7 @@ "All rights reserved.\n" "PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.pdflib.com\n\n"); + fCreditsView->Insert("www.pdflib.com\n\n"); // FreeType copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -488,7 +490,7 @@ fCreditsView->Insert("Portions of this software are copyright " B_UTF8_COPYRIGHT " 1996-2006 The FreeType" " Project. All rights reserved.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.freetype.org\n\n"); + fCreditsView->Insert("www.freetype.org\n\n"); // Mesa3D (http://www.mesa3d.org) copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -498,7 +500,7 @@ "Copyright " B_UTF8_COPYRIGHT " 1999-2006 Brian Paul. " "Mesa3D project. All rights reserved.\n"); fCreditsView->SetFontAndColor(be_plain_font, B_FONT_ALL, &linkBlue); - fCreditsView->Insert(" www.mesa3d.org\n\n"); + fCreditsView->Insert("www.mesa3d.org\n\n"); // SGI's GLU implementation copyrights fCreditsView->SetFontAndColor(&font, B_FONT_ALL, &haikuYellow); @@ -666,7 +668,7 @@ snprintf(string, size, "%d MB total, %d MB used (%d%%)", int(systemInfo.max_pages / 256.0f + 0.5f), int(systemInfo.used_pages / 256.0f + 0.5f), - 100 * systemInfo.used_pages / systemInfo.max_pages); + int(100 * systemInfo.used_pages / systemInfo.max_pages)); return string; } From stefano.ceccherini at gmail.com Tue Feb 13 09:42:37 2007 From: stefano.ceccherini at gmail.com (Stefano Ceccherini) Date: Tue, 13 Feb 2007 09:42:37 +0100 Subject: [Haiku-commits] r20118 - haiku/trunk/build/jam In-Reply-To: <45CDB014.6080606@gmail.com> References: <200702091145.l19Bj4NL003809@sheep.berlios.de> <45CDB014.6080606@gmail.com> Message-ID: <894b9700702130042l4bb24dfkd8b70708a5416081@mail.gmail.com> 2007/2/10, Fredrik Ekdahl : > This breaks the gcc 4 build. Here's the error message: > > src/apps/fontdemo/ControlView.cpp: In member function 'void > ControlView::_UpdateAndSendFamily(const BMessage*)': > src/apps/fontdemo/ControlView.cpp:425: error: ISO C++ forbids casting to > an array type 'char [64]' > > ...failed C++ > generated/objects/haiku/x86/release/apps/fontdemo/ControlView.o ... > ...skipped FontDemo for lack of ControlView.o... > > Changing line 425 from > get_font_style(font_family(family), 0, &style); > to > get_font_style(const_cast(family), 0, &style); > > fixes the build. I'm not sure the change is correct, but it removes the > error at least :) The correct fix is changing the definition of family. Currently it's a const char *, while it should be a font_family. Maybe I can commit the fix later this day, if no one beats me before. From revol at free.fr Tue Feb 13 11:36:59 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Tue, 13 Feb 2007 11:36:59 +0100 CET Subject: [Haiku-commits] r20130 - haiku/trunk/src/apps/abouthaiku In-Reply-To: <200702130831.l1D8VLlE013745@sheep.berlios.de> Message-ID: <278834636-BeMail@laptop> > * Removed spacing before the links - it looked really weird, > especially > with other fonts; > I hope mmu_man won't mind. Not at all, the effect really wasn't as good as I intended anyway. > * Fixed a warning - even though I'm not sure we really need this > percentage stuff at all. Dunno, maybe a BStatusBar like in R5 ? Fran?ois. From geist at mail.berlios.de Wed Feb 14 07:25:00 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Wed, 14 Feb 2007 07:25:00 +0100 Subject: [Haiku-commits] r20131 - in haiku/trunk: headers/private/kernel/arch/x86 src/system/kernel/arch/x86 Message-ID: <200702140625.l1E6P0w9020434@sheep.berlios.de> Author: geist Date: 2007-02-14 07:24:59 +0100 (Wed, 14 Feb 2007) New Revision: 20131 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20131&view=rev Modified: haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c haiku/trunk/src/system/kernel/arch/x86/arch_int.c Log: clean up TSS initialization. Now two complete tss structures exist within the per-cpu structure. Instead of having to create a seperate area per each one, initialize them in place. Also, the old mechanism to getting all of the cpus to get initialized was subtly broken, but still managed to work. Now, just force all the cpus to initialize at boot, which makes the actual swapping of esp0 somewhat simpler. Modified: haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h 2007-02-13 08:31:21 UTC (rev 20130) +++ haiku/trunk/headers/private/kernel/arch/x86/arch_cpu.h 2007-02-14 06:24:59 UTC (rev 20131) @@ -158,6 +158,7 @@ }; typedef struct arch_cpu_info { + // saved cpu info enum x86_vendors vendor; enum x86_feature_type feature[FEATURE_NUM]; char model_name[49]; @@ -167,6 +168,10 @@ int stepping; int model; char feature_string[256]; + + // local TSS for this cpu + struct tss tss; + struct tss double_fault_tss; } arch_cpu_info; #ifdef __cplusplus @@ -203,7 +208,6 @@ void x86_set_mtrr(uint32 index, uint64 base, uint64 length, uint8 type); status_t x86_get_mtrr(uint32 index, uint64 *_base, uint64 *_length, uint8 *_type); bool x86_check_feature(uint32 feature, enum x86_feature_type type); -struct tss *x86_get_main_tss(void); #define read_cr3(value) \ Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-13 08:31:21 UTC (rev 20130) +++ haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-14 06:24:59 UTC (rev 20131) @@ -65,10 +65,6 @@ void (*gX86SwapFPUFunc)(void *oldState, const void *newState); bool gHasSSE = false; -static struct tss **sTSS; -//static struct tss **sDoubleFaultTSS; -struct tss **sDoubleFaultTSS; -static int *sIsTSSLoaded; static vint32 sWaitAllCPUs; segment_descriptor *gGDT = NULL; @@ -79,15 +75,6 @@ static x86_cpu_module_info *sCpuModule; - -struct tss * -x86_get_main_tss(void) -{ - int cpuNum = smp_get_current_cpu(); - return sTSS[cpuNum]; -} - - /** Disable CPU caches, and invalidate them. */ static void @@ -208,13 +195,11 @@ static void -load_tss(void *data, int cpu) +load_tss(int cpu) { short seg = ((TSS_BASE_SEGMENT + cpu) << 3) | DPL_KERNEL; asm("movw %0, %%ax;" "ltr %%ax;" : : "r" (seg) : "eax"); - - sIsTSSLoaded[cpu] = true; } @@ -223,7 +208,7 @@ { /* set up the double fault tss */ /* TODO: Axel - fix SMP support */ - struct tss *tss = sDoubleFaultTSS[cpuNum]; + struct tss *tss = &gCPU[cpuNum].arch.tss; memset(tss, 0, sizeof(struct tss)); tss->sp0 = (uint32)sDoubleFaultStack + sizeof(sDoubleFaultStack); @@ -462,6 +447,11 @@ { detect_cpu(args, curr_cpu); + // load the TSS for this cpu + // note the main cpu gets initialized in arch_cpu_init_post_vm() + if (curr_cpu != 0) + load_tss(curr_cpu); + return 0; } @@ -490,60 +480,20 @@ //i386_selector_init(gGDT); // pass the new gdt // setup task-state segments - - sTSS = malloc(sizeof(struct tss *) * args->num_cpus); - if (sTSS == NULL) { - panic("arch_cpu_init_post_vm: could not allocate buffer for tss pointers\n"); - return B_NO_MEMORY; - } - - sDoubleFaultTSS = malloc(sizeof(struct tss *) * args->num_cpus); - if (sDoubleFaultTSS == NULL) { - panic("arch_cpu_init_post_vm: could not allocate buffer for double fault tss pointers\n"); - return B_NO_MEMORY; - } - - sIsTSSLoaded = malloc(sizeof(int) * args->num_cpus); - if (sIsTSSLoaded == NULL) { - panic("arch_cpu_init_post_vm: could not allocate buffer for tss booleans\n"); - return B_NO_MEMORY; - } - memset(sIsTSSLoaded, 0, sizeof(int) * args->num_cpus); - for (i = 0; i < args->num_cpus; i++) { - char tssName[32]; - area_id area; + // initialize the regular and double fault tss stored in the per-cpu structure + memset(&gCPU[i].arch.tss, 0, sizeof(struct tss)); + gCPU[i].arch.tss.ss0 = KERNEL_DATA_SEG; - // create standard tasks - sprintf(tssName, "tss%lu", i); - area = create_area(tssName, (void **)&sTSS[i], B_ANY_KERNEL_ADDRESS, B_PAGE_SIZE, - B_FULL_LOCK, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA); - if (area < 0) { - panic("arch_cpu_init2: unable to create region for tss\n"); - return B_NO_MEMORY; - } - - // initialize TSS - memset(sTSS[i], 0, sizeof(struct tss)); - sTSS[i]->ss0 = KERNEL_DATA_SEG; - // add TSS descriptor for this new TSS - set_tss_descriptor(&gGDT[TSS_BASE_SEGMENT + i], (addr_t)sTSS[i], sizeof(struct tss)); + set_tss_descriptor(&gGDT[TSS_BASE_SEGMENT + i], (addr_t)&gCPU[i].arch.tss, sizeof(struct tss)); - // create double-fault task - sprintf(tssName, "double_fault_tss%lu", i); - area = create_area(tssName, (void **)&sDoubleFaultTSS[i], B_ANY_KERNEL_ADDRESS, B_PAGE_SIZE, - B_FULL_LOCK, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA); - if (area < 0) { - panic("arch_cpu_init2: unable to create region for tss\n"); - return B_NO_MEMORY; - } - - // initialize TSS + // initialize the double fault tss init_double_fault(i); } - call_all_cpus(&load_tss, NULL); + // set the current hardware task on cpu 0 + load_tss(0); x86_set_task_gate(8, DOUBLE_FAULT_TSS_BASE_SEGMENT << 3); @@ -590,19 +540,9 @@ void i386_set_tss_and_kstack(addr_t kstack) { - int32 currentCPU = smp_get_current_cpu(); - - if (!sIsTSSLoaded[currentCPU]) { - short seg = ((TSS_BASE_SEGMENT + currentCPU) << 3) | DPL_KERNEL; - asm("movw %0, %%ax;" - "ltr %%ax;" : : "r" (seg) : "eax"); - sIsTSSLoaded[currentCPU] = true; - } - - sTSS[currentCPU]->sp0 = kstack; + get_cpu_struct()->arch.tss.sp0 = kstack; } - void arch_cpu_global_TLB_invalidate(void) { Modified: haiku/trunk/src/system/kernel/arch/x86/arch_int.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_int.c 2007-02-13 08:31:21 UTC (rev 20130) +++ haiku/trunk/src/system/kernel/arch/x86/arch_int.c 2007-02-14 06:24:59 UTC (rev 20131) @@ -386,13 +386,16 @@ case 8: // Double Fault Exception (#DF) { +#if 0 + // XXX what is this supposed to do? struct tss *tss = x86_get_main_tss(); frame.cs = tss->cs; frame.eip = tss->eip; frame.esp = tss->esp; frame.flags = tss->eflags; - +#endif + panic("double fault! errorcode = 0x%lx\n", frame.error_code); break; From mmu_man at mail.berlios.de Thu Feb 15 10:10:32 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Thu, 15 Feb 2007 10:10:32 +0100 Subject: [Haiku-commits] r20132 - haiku/trunk Message-ID: <200702150910.l1F9AWQE012831@sheep.berlios.de> Author: mmu_man Date: 2007-02-15 10:10:31 +0100 (Thu, 15 Feb 2007) New Revision: 20132 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20132&view=rev Modified: haiku/trunk/configure Log: Remove dupped word. Modified: haiku/trunk/configure =================================================================== --- haiku/trunk/configure 2007-02-14 06:24:59 UTC (rev 20131) +++ haiku/trunk/configure 2007-02-15 09:10:31 UTC (rev 20132) @@ -38,7 +38,7 @@ --target=TARGET Select build target platform. [default=${target}] valid targets=r5,bone,dano,haiku --use-gcc-pipe Build with GCC option -pipe. Speeds up the build - build process, but uses more memory. + process, but uses more memory. environment variables: HAIKU_AR The static library archiver. Defaults to "ar". From mmu_man at mail.berlios.de Thu Feb 15 15:01:40 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Thu, 15 Feb 2007 15:01:40 +0100 Subject: [Haiku-commits] r20133 - in haiku/trunk/src/system: kernel/fs libroot/posix/unistd Message-ID: <200702151401.l1FE1eKj019426@sheep.berlios.de> Author: mmu_man Date: 2007-02-15 15:01:40 +0100 (Thu, 15 Feb 2007) New Revision: 20133 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20133&view=rev Modified: haiku/trunk/src/system/kernel/fs/devfs.cpp haiku/trunk/src/system/libroot/posix/unistd/ttyname.c Log: Much simpler and safer ttyname() using B_GET_PATH_FOR_DEVICE. Also added ttyname_r for which we had a proto in the headers. Modified: haiku/trunk/src/system/kernel/fs/devfs.cpp =================================================================== --- haiku/trunk/src/system/kernel/fs/devfs.cpp 2007-02-15 09:10:31 UTC (rev 20132) +++ haiku/trunk/src/system/kernel/fs/devfs.cpp 2007-02-15 14:01:40 UTC (rev 20133) @@ -1616,6 +1616,8 @@ */ strcpy(path, "/dev/"); get_device_name(vnode, path + 5, sizeof(path) - 5); + if (length && (length <= strlen(path))) + return ERANGE; return user_strlcpy((char *)buffer, path, sizeof(path)); } Modified: haiku/trunk/src/system/libroot/posix/unistd/ttyname.c =================================================================== --- haiku/trunk/src/system/libroot/posix/unistd/ttyname.c 2007-02-15 09:10:31 UTC (rev 20132) +++ haiku/trunk/src/system/libroot/posix/unistd/ttyname.c 2007-02-15 14:01:40 UTC (rev 20133) @@ -1,78 +1,59 @@ /* ** Copyright 2003, Daniel Reinhold, danielre at users.sf.net. All rights reserved. +** Copyright 2007, Fran?ois Revol, mmu_man at users.sf.net. All rights reserved. ** Distributed under the terms of the OpenBeOS License. */ #include +#include +#include #include #include #include -#include #include #include - -/* the root directory in /dev where all tty devices reside */ -#define DEV_TTY "/dev/tt/" - - -/** return the full pathname of the tty device - * (NULL if not a tty or an error occurs) +/** + * give the name of a tty fd. threadsafe. + * @param fd the tty to get the name from. + * @param buffer where to store the name to. + * @param bufferSize length of the buffer. + * @return 0 on success, -1 on error, sets errno. */ - -char * -ttyname(int fd) +int +ttyname_r(int fd, char *buffer, size_t bufferSize) { - static char pathname[MAXPATHLEN]; - char *stub = pathname + sizeof(DEV_TTY) - 1; - int stubLen = sizeof(pathname) - sizeof(DEV_TTY); struct stat fdStat; - DIR *dir; - bool found = false; + int err; // first, some sanity checks: - if (!isatty(fd)) - return NULL; - if (fstat(fd, &fdStat) < 0) - return NULL; + return -1; - if (!S_ISCHR(fdStat.st_mode)) - return NULL; + if (!S_ISCHR(fdStat.st_mode) || !isatty(fd)) { + errno = ENOTTY; + return ENOTTY; + } - // start with the root tty directory at /dev - strcpy(pathname, DEV_TTY); + // just ask devfs + return ioctl(fd, B_GET_PATH_FOR_DEVICE, name, namesize); +} - if ((dir = opendir(pathname)) != NULL) { - // find a matching entry in the directory: - // we must match both the inode for the file - // and the device that the file resides on - struct dirent *e; - struct stat entryStat; - while ((e = readdir(dir)) != NULL) { - // try to match the file's inode - if (e->d_ino != fdStat.st_ino) - continue; +/** + * give the name of a tty fd. + * @param fd the tty to get the name from. + * @return the name of the tty or NULL on error. + */ +char * +ttyname(int fd) +{ + static char pathname[MAXPATHLEN]; - // construct the entry's full filename and - // call stat() to retrieve the inode info - strncpy(stub, e->d_name, stubLen); - - if (stat(pathname, &entryStat) < 0) - continue; - - if (entryStat.st_ino == fdStat.st_ino && - entryStat.st_dev == fdStat.st_dev) { - found = true; - break; - } - } - - closedir(dir); - } - - return found ? pathname : NULL; + int err = ttyname_r(fd, pathname, sizeof(pathname)); + if (err < 0) + return NULL; + return pathname; } From bonefish at mail.berlios.de Thu Feb 15 19:59:45 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Thu, 15 Feb 2007 19:59:45 +0100 Subject: [Haiku-commits] r20134 - haiku/trunk/src/system/libroot/posix/unistd Message-ID: <200702151859.l1FIxjWp005649@sheep.berlios.de> Author: bonefish Date: 2007-02-15 19:59:45 +0100 (Thu, 15 Feb 2007) New Revision: 20134 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20134&view=rev Modified: haiku/trunk/src/system/libroot/posix/unistd/ttyname.c Log: Fixed build. Modified: haiku/trunk/src/system/libroot/posix/unistd/ttyname.c =================================================================== --- haiku/trunk/src/system/libroot/posix/unistd/ttyname.c 2007-02-15 14:01:40 UTC (rev 20133) +++ haiku/trunk/src/system/libroot/posix/unistd/ttyname.c 2007-02-15 18:59:45 UTC (rev 20134) @@ -26,7 +26,6 @@ ttyname_r(int fd, char *buffer, size_t bufferSize) { struct stat fdStat; - int err; // first, some sanity checks: if (fstat(fd, &fdStat) < 0) @@ -38,7 +37,7 @@ } // just ask devfs - return ioctl(fd, B_GET_PATH_FOR_DEVICE, name, namesize); + return ioctl(fd, B_GET_PATH_FOR_DEVICE, buffer, bufferSize); } From bonefish at mail.berlios.de Thu Feb 15 23:59:39 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Thu, 15 Feb 2007 23:59:39 +0100 Subject: [Haiku-commits] r20135 - haiku/trunk/src/tests/system/consoled Message-ID: <200702152259.l1FMxdav020210@sheep.berlios.de> Author: bonefish Date: 2007-02-15 23:59:38 +0100 (Thu, 15 Feb 2007) New Revision: 20135 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20135&view=rev Modified: haiku/trunk/src/tests/system/consoled/consoled.cpp Log: Got rid of wait_sem in the console structure. It was pretty useless. Added stop_console(), a shutdown procedure for consoled (for cases when it executes a single command only, like the debugger). Unfortunately the system kind of freezes when the keyboard is attempted to be closed. Entering KDL still works. It always shows consoled's keyboard reader thread running somewhere in the endless loop in keyboard_read() in the keyboard driver. The main thread is ready in delete_sem() invoked by keyboard_close(), not advancing any further when continuing the system. Apparently the scheduler needs a good spanking. :-P Generally it also doesn't help that the keyboard driver code is completely cookie ignorant. Modified: haiku/trunk/src/tests/system/consoled/consoled.cpp =================================================================== --- haiku/trunk/src/tests/system/consoled/consoled.cpp 2007-02-15 18:59:45 UTC (rev 20134) +++ haiku/trunk/src/tests/system/consoled/consoled.cpp 2007-02-15 22:59:38 UTC (rev 20135) @@ -42,7 +42,6 @@ int tty_num; thread_id keyboard_reader; thread_id console_writer; - sem_id wait_sem; }; @@ -143,7 +142,6 @@ } #endif // USE_INPUT_SERVER - release_sem(con->wait_sem); return 0; } @@ -164,7 +162,6 @@ write_len = write(con->console_fd, buf, len); } - release_sem(con->wait_sem); return 0; } @@ -175,11 +172,13 @@ DIR *dir; memset(con, 0, sizeof(struct console)); + con->console_fd = -1; + con->keyboard_fd = -1; + con->tty_master_fd = -1; + con->tty_slave_fd = -1; + con->keyboard_reader = -1; + con->console_writer = -1; - con->wait_sem = create_sem(0, "console wait sem"); - if (con->wait_sem < 0) - return -1; - con->console_fd = open("/dev/console", O_WRONLY); if (con->console_fd < 0) return -2; @@ -261,6 +260,27 @@ } +static void +stop_console(struct console* con) +{ + // close TTY FDs; this will also unblock the threads + close(con->tty_master_fd); + close(con->tty_slave_fd); + + // close console and keyboard + close(con->console_fd); +#ifndef USE_INPUT_SERVER + close(con->keyboard_fd); + // TODO: USE_INPUT_SERVER case. +#endif + + // wait for the threads + status_t returnCode; + wait_for_thread(con->console_writer, &returnCode); + wait_for_thread(con->keyboard_reader, &returnCode); +} + + static pid_t start_process(int argc, const char **argv, struct console *con) { @@ -344,7 +364,7 @@ } } - acquire_sem(gConsole.wait_sem); + stop_console(&gConsole); return 0; } From bonefish at mail.berlios.de Fri Feb 16 00:10:34 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 16 Feb 2007 00:10:34 +0100 Subject: [Haiku-commits] r20136 - haiku/trunk/src/servers/registrar Message-ID: <200702152310.l1FNAYng020836@sheep.berlios.de> Author: bonefish Date: 2007-02-16 00:10:33 +0100 (Fri, 16 Feb 2007) New Revision: 20136 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20136&view=rev Modified: haiku/trunk/src/servers/registrar/Registrar.cpp haiku/trunk/src/servers/registrar/Registrar.h Log: We catch exceptions in Registrar::MessageReceived() and main() and invoke the debugger. At the moment the ultimate effect is the same as before (the registrar terminates), but it does at least cause some output in the serial debug output. And as soon as the scheduler and keyboard stuff is fixed, I can commit my debug server changes and the registrar should become debuggable. Modified: haiku/trunk/src/servers/registrar/Registrar.cpp =================================================================== --- haiku/trunk/src/servers/registrar/Registrar.cpp 2007-02-15 22:59:38 UTC (rev 20135) +++ haiku/trunk/src/servers/registrar/Registrar.cpp 2007-02-15 23:10:33 UTC (rev 20136) @@ -6,30 +6,31 @@ * Ingo Weinhold, bonefish at users.sf.net */ +#include "Registrar.h" -#include "Debug.h" +#include +#include +#include + +#include +#include +#include +#include +#include + #include "ClipboardHandler.h" +#include "Debug.h" #include "EventQueue.h" #include "MessageDeliverer.h" #include "MessageEvent.h" #include "MessageRunnerManager.h" #include "MessagingService.h" #include "MIMEManager.h" -#include "Registrar.h" #include "ShutdownProcess.h" #include "TRoster.h" -#include -#include -#include -#include -#include -#include -#include - - /*! \class Registrar \brief The application class of the registrar. @@ -97,6 +98,108 @@ void Registrar::MessageReceived(BMessage *message) { + try { + _MessageReceived(message); + } catch (std::exception& exception) { + char buffer[1024]; + snprintf(buffer, sizeof(buffer), + "Registrar::MessageReceived() caught exception: %s", + exception.what()); + debugger(buffer); + } catch (...) { + debugger("Registrar::MessageReceived() caught unknown exception"); + } +} + +// ReadyToRun +/*! \brief Overrides the super class version to initialize the registrar + services. +*/ +void +Registrar::ReadyToRun() +{ + FUNCTION_START(); + + // create message deliverer + status_t error = MessageDeliverer::CreateDefault(); + if (error != B_OK) { + FATAL(("Registrar::ReadyToRun(): Failed to create the message " + "deliverer: %s\n", strerror(error))); + } + + // create event queue + fEventQueue = new EventQueue(kEventQueueName); + + // create roster + fRoster = new TRoster; + fRoster->Init(); + + // create clipboard handler + fClipboardHandler = new ClipboardHandler; + AddHandler(fClipboardHandler); + + // create MIME manager + fMIMEManager = new MIMEManager; + fMIMEManager->Run(); + + // create message runner manager + fMessageRunnerManager = new MessageRunnerManager(fEventQueue); + + // init the global be_roster + BRoster::Private().SetTo(be_app_messenger, BMessenger(NULL, fMIMEManager)); + + // create the messaging service + error = MessagingService::CreateDefault(); + if (error != B_OK) { + ERROR(("Registrar::ReadyToRun(): Failed to init messaging service " + "(that's by design when running under R5): %s\n", strerror(error))); + } + + // create and schedule the sanity message event + fSanityEvent = new MessageEvent(system_time() + kRosterSanityEventInterval, + this, B_REG_ROSTER_SANITY_EVENT); + fSanityEvent->SetAutoDelete(false); + fEventQueue->AddEvent(fSanityEvent); + + FUNCTION_END(); +} + +// QuitRequested +/*! \brief Overrides the super class version to avoid termination of the + registrar until the system shutdown. +*/ +bool +Registrar::QuitRequested() +{ + FUNCTION_START(); + // The final registrar must not quit. At least not that easily. ;-) + return BApplication::QuitRequested(); +} + +// GetEventQueue +/*! \brief Returns the registrar's event queue. + \return The registrar's event queue. +*/ +EventQueue* +Registrar::GetEventQueue() const +{ + return fEventQueue; +} + +// App +/*! \brief Returns the Registrar application object. + \return The Registrar application object. +*/ +Registrar* +Registrar::App() +{ + return dynamic_cast(be_app); +} + +// _MessageReceived +void +Registrar::_MessageReceived(BMessage *message) +{ switch (message->what) { // general requests case B_REG_GET_MIME_MESSENGER: @@ -235,91 +338,6 @@ } } -// ReadyToRun -/*! \brief Overrides the super class version to initialize the registrar - services. -*/ -void -Registrar::ReadyToRun() -{ - FUNCTION_START(); - - // create message deliverer - status_t error = MessageDeliverer::CreateDefault(); - if (error != B_OK) { - FATAL(("Registrar::ReadyToRun(): Failed to create the message " - "deliverer: %s\n", strerror(error))); - } - - // create event queue - fEventQueue = new EventQueue(kEventQueueName); - - // create roster - fRoster = new TRoster; - fRoster->Init(); - - // create clipboard handler - fClipboardHandler = new ClipboardHandler; - AddHandler(fClipboardHandler); - - // create MIME manager - fMIMEManager = new MIMEManager; - fMIMEManager->Run(); - - // create message runner manager - fMessageRunnerManager = new MessageRunnerManager(fEventQueue); - - // init the global be_roster - BRoster::Private().SetTo(be_app_messenger, BMessenger(NULL, fMIMEManager)); - - // create the messaging service - error = MessagingService::CreateDefault(); - if (error != B_OK) { - ERROR(("Registrar::ReadyToRun(): Failed to init messaging service " - "(that's by design when running under R5): %s\n", strerror(error))); - } - - // create and schedule the sanity message event - fSanityEvent = new MessageEvent(system_time() + kRosterSanityEventInterval, - this, B_REG_ROSTER_SANITY_EVENT); - fSanityEvent->SetAutoDelete(false); - fEventQueue->AddEvent(fSanityEvent); - - FUNCTION_END(); -} - -// QuitRequested -/*! \brief Overrides the super class version to avoid termination of the - registrar until the system shutdown. -*/ -bool -Registrar::QuitRequested() -{ - FUNCTION_START(); - // The final registrar must not quit. At least not that easily. ;-) - return BApplication::QuitRequested(); -} - -// GetEventQueue -/*! \brief Returns the registrar's event queue. - \return The registrar's event queue. -*/ -EventQueue* -Registrar::GetEventQueue() const -{ - return fEventQueue; -} - -// App -/*! \brief Returns the Registrar application object. - \return The Registrar application object. -*/ -Registrar* -Registrar::App() -{ - return dynamic_cast(be_app); -} - // _HandleShutDown /*! \brief Handle a shut down request message. \param request The request to be handled. @@ -383,8 +401,18 @@ rename_thread(find_thread(NULL), kRosterThreadName); PRINT(("app->Run()...\n")); - app->Run(); + try { + app->Run(); + } catch (std::exception& exception) { + char buffer[1024]; + snprintf(buffer, sizeof(buffer), + "registrar main() caught exception: %s", exception.what()); + debugger(buffer); + } catch (...) { + debugger("registrar?main() caught unknown exception"); + } + PRINT(("delete app...\n")); delete app; Modified: haiku/trunk/src/servers/registrar/Registrar.h =================================================================== --- haiku/trunk/src/servers/registrar/Registrar.h 2007-02-15 22:59:38 UTC (rev 20135) +++ haiku/trunk/src/servers/registrar/Registrar.h 2007-02-15 23:10:33 UTC (rev 20136) @@ -52,6 +52,7 @@ static Registrar *App(); private: + void _MessageReceived(BMessage *message); void _HandleShutDown(BMessage *message); TRoster *fRoster; From korli at mail.berlios.de Fri Feb 16 00:43:06 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Fri, 16 Feb 2007 00:43:06 +0100 Subject: [Haiku-commits] r20137 - in haiku/trunk: headers/os/opengl/GL headers/private/opengl/GL/internal src/add-ons/opengl/mesa_software_renderer src/kits/opengl src/kits/opengl/glu/libnurbs/interface src/kits/opengl/glu/libnurbs/internals src/kits/opengl/glu/libnurbs/nurbtess src/kits/opengl/glu/libtess src/kits/opengl/glu/libutil src/kits/opengl/glut src/kits/opengl/mesa src/kits/opengl/mesa/array_cache src/kits/opengl/mesa/drivers/common src/kits/opengl/mesa/glapi src/kits/opengl/mesa/main src/kits/opengl/mesa/math src/kits/opengl/mesa/ppc src/kits/opengl/mesa/shader src/kits/opengl/mesa/sparc src/kits/opengl/mesa/swrast src/kits/opengl/mesa/swrast_setup src/kits/opengl/mesa/tnl src/kits/opengl/mesa/tnl_dd src/kits/opengl/mesa/tnl_dd/imm src/kits/opengl/mesa/x86 Message-ID: <200702152343.l1FNh6Gs014279@sheep.berlios.de> Author: korli Date: 2007-02-16 00:40:43 +0100 (Fri, 16 Feb 2007) New Revision: 20137 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20137&view=rev Added: haiku/trunk/src/kits/opengl/mesa/glapi/dispatch.h haiku/trunk/src/kits/opengl/mesa/main/arrayobj.c haiku/trunk/src/kits/opengl/mesa/main/arrayobj.h haiku/trunk/src/kits/opengl/mesa/main/bitset.h haiku/trunk/src/kits/opengl/mesa/main/depthstencil.c haiku/trunk/src/kits/opengl/mesa/main/depthstencil.h haiku/trunk/src/kits/opengl/mesa/main/execmem.c haiku/trunk/src/kits/opengl/mesa/main/fbobject.c haiku/trunk/src/kits/opengl/mesa/main/fbobject.h haiku/trunk/src/kits/opengl/mesa/main/framebuffer.c haiku/trunk/src/kits/opengl/mesa/main/framebuffer.h haiku/trunk/src/kits/opengl/mesa/main/getstring.c haiku/trunk/src/kits/opengl/mesa/main/mipmap.c haiku/trunk/src/kits/opengl/mesa/main/mipmap.h haiku/trunk/src/kits/opengl/mesa/main/mm.c haiku/trunk/src/kits/opengl/mesa/main/mm.h haiku/trunk/src/kits/opengl/mesa/main/rbadaptors.c haiku/trunk/src/kits/opengl/mesa/main/rbadaptors.h haiku/trunk/src/kits/opengl/mesa/main/renderbuffer.c haiku/trunk/src/kits/opengl/mesa/main/renderbuffer.h haiku/trunk/src/kits/opengl/mesa/main/texenvprogram.c haiku/trunk/src/kits/opengl/mesa/main/texenvprogram.h haiku/trunk/src/kits/opengl/mesa/main/texrender.c haiku/trunk/src/kits/opengl/mesa/main/texrender.h haiku/trunk/src/kits/opengl/mesa/shader/grammar/ haiku/trunk/src/kits/opengl/mesa/shader/program_instruction.h haiku/trunk/src/kits/opengl/mesa/shader/programopt.c haiku/trunk/src/kits/opengl/mesa/shader/programopt.h haiku/trunk/src/kits/opengl/mesa/shader/shaderobjects_3dlabs.c haiku/trunk/src/kits/opengl/mesa/shader/shaderobjects_3dlabs.h haiku/trunk/src/kits/opengl/mesa/shader/slang/ haiku/trunk/src/kits/opengl/mesa/swrast/s_arbshader.c haiku/trunk/src/kits/opengl/mesa/swrast/s_arbshader.h haiku/trunk/src/kits/opengl/mesa/swrast/s_blit.c haiku/trunk/src/kits/opengl/mesa/swrast/s_texcombine.c haiku/trunk/src/kits/opengl/mesa/swrast/s_texcombine.h haiku/trunk/src/kits/opengl/mesa/swrast/s_texfilter.c haiku/trunk/src/kits/opengl/mesa/swrast/s_texfilter.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_arbprogram.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_arbprogram.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_arbprogram_sse.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_arbshader.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex_generic.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex_sse.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vp_build.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vp_build.h haiku/trunk/src/kits/opengl/mesa/x86-64/ haiku/trunk/src/kits/opengl/mesa/x86/rtasm/ Removed: haiku/trunk/src/kits/opengl/mesa/glapi/glX_XML.py haiku/trunk/src/kits/opengl/mesa/glapi/glX_doc.py haiku/trunk/src/kits/opengl/mesa/glapi/glX_proto_send.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_API.xml haiku/trunk/src/kits/opengl/mesa/glapi/gl_SPARC_asm.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_XML.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_apitemp.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_offsets.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_procs.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_table.py haiku/trunk/src/kits/opengl/mesa/glapi/gl_x86_asm.py haiku/trunk/src/kits/opengl/mesa/glapi/license.py haiku/trunk/src/kits/opengl/mesa/glapi/mesadef.py haiku/trunk/src/kits/opengl/mesa/glapi/next_available_offset.sh haiku/trunk/src/kits/opengl/mesa/main/KNOWN_BUGS haiku/trunk/src/kits/opengl/mesa/ppc/glapi_ppc.S haiku/trunk/src/kits/opengl/mesa/shader/arbfragparse.c haiku/trunk/src/kits/opengl/mesa/shader/arbfragparse.h haiku/trunk/src/kits/opengl/mesa/shader/arbprogram.syn haiku/trunk/src/kits/opengl/mesa/shader/arbvertparse.c haiku/trunk/src/kits/opengl/mesa/shader/arbvertparse.h haiku/trunk/src/kits/opengl/mesa/shader/asmopcodes.reg haiku/trunk/src/kits/opengl/mesa/shader/grammar.c haiku/trunk/src/kits/opengl/mesa/shader/grammar.h haiku/trunk/src/kits/opengl/mesa/shader/grammar.syn haiku/trunk/src/kits/opengl/mesa/shader/grammar_mesa.c haiku/trunk/src/kits/opengl/mesa/shader/grammar_mesa.h haiku/trunk/src/kits/opengl/mesa/shader/grammar_syn.h haiku/trunk/src/kits/opengl/mesa/shader/nvfragprog.h haiku/trunk/src/kits/opengl/mesa/shader/nvvertprog.h haiku/trunk/src/kits/opengl/mesa/shader/slang_common_builtin.gc haiku/trunk/src/kits/opengl/mesa/shader/slang_core.gc haiku/trunk/src/kits/opengl/mesa/shader/slang_fragment_builtin.gc haiku/trunk/src/kits/opengl/mesa/shader/slang_shader.syn haiku/trunk/src/kits/opengl/mesa/shader/slang_shader_syn.h haiku/trunk/src/kits/opengl/mesa/shader/slang_vertex_builtin.gc haiku/trunk/src/kits/opengl/mesa/swrast/NOTES haiku/trunk/src/kits/opengl/mesa/swrast/s_alphabuf.c haiku/trunk/src/kits/opengl/mesa/swrast/s_alphabuf.h haiku/trunk/src/kits/opengl/mesa/swrast/s_auxbuffer.c haiku/trunk/src/kits/opengl/mesa/swrast/s_auxbuffer.h haiku/trunk/src/kits/opengl/mesa/swrast/s_fragprog_to_c.c haiku/trunk/src/kits/opengl/mesa/swrast/s_pixeltex.c haiku/trunk/src/kits/opengl/mesa/swrast/s_pixeltex.h haiku/trunk/src/kits/opengl/mesa/swrast/s_tcc.c haiku/trunk/src/kits/opengl/mesa/swrast/s_texture.c haiku/trunk/src/kits/opengl/mesa/swrast/s_texture.h haiku/trunk/src/kits/opengl/mesa/swrast_setup/NOTES haiku/trunk/src/kits/opengl/mesa/tnl/NOTES haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex_c.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex_codegen.c haiku/trunk/src/kits/opengl/mesa/x86/gen_matypes Modified: haiku/trunk/headers/os/opengl/GL/gl.h haiku/trunk/headers/os/opengl/GL/glext.h haiku/trunk/headers/os/opengl/GL/glu.h haiku/trunk/headers/os/opengl/GL/glut.h haiku/trunk/headers/private/opengl/GL/internal/glcore.h haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h haiku/trunk/src/kits/opengl/GLDispatcher.h haiku/trunk/src/kits/opengl/glu/libnurbs/interface/bezierEval.cc haiku/trunk/src/kits/opengl/glu/libnurbs/interface/glcurveval.cc haiku/trunk/src/kits/opengl/glu/libnurbs/interface/glsurfeval.cc haiku/trunk/src/kits/opengl/glu/libnurbs/interface/mystdio.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/arc.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/arcsorter.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/arctess.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/basiccrveval.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/basiccrveval.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/basicsurfeval.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/basicsurfeval.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/bin.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/bufpool.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/cachingeval.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/ccw.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/dataTransform.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/flistsorter.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/intersect.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/knotvector.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/maplist.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/monoTriangulationBackend.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/monotonizer.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/nurbsinterfac.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/nurbstess.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/patch.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/quilt.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/slicer.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/sorter.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/sorter.h haiku/trunk/src/kits/opengl/glu/libnurbs/internals/splitarcs.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/tobezier.cc haiku/trunk/src/kits/opengl/glu/libnurbs/internals/trimline.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/monoChain.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/monoTriangulation.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/mystdio.h haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/polyDBG.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/sampleComp.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/sampleCompRight.cc haiku/trunk/src/kits/opengl/glu/libnurbs/nurbtess/sampleMonoPoly.cc haiku/trunk/src/kits/opengl/glu/libtess/dict.c haiku/trunk/src/kits/opengl/glu/libutil/error.c haiku/trunk/src/kits/opengl/glu/libutil/mipmap.c haiku/trunk/src/kits/opengl/glu/libutil/project.c haiku/trunk/src/kits/opengl/glu/libutil/quad.c haiku/trunk/src/kits/opengl/glut/glutCallback.cpp haiku/trunk/src/kits/opengl/glut/glutWindow.h haiku/trunk/src/kits/opengl/mesa/Jamfile haiku/trunk/src/kits/opengl/mesa/array_cache/ac_context.c haiku/trunk/src/kits/opengl/mesa/array_cache/ac_import.c haiku/trunk/src/kits/opengl/mesa/drivers/common/driverfuncs.c haiku/trunk/src/kits/opengl/mesa/glapi/glapi.c haiku/trunk/src/kits/opengl/mesa/glapi/glapi.h haiku/trunk/src/kits/opengl/mesa/glapi/glapioffsets.h haiku/trunk/src/kits/opengl/mesa/glapi/glapitable.h haiku/trunk/src/kits/opengl/mesa/glapi/glapitemp.h haiku/trunk/src/kits/opengl/mesa/glapi/glprocs.h haiku/trunk/src/kits/opengl/mesa/glapi/glthread.c haiku/trunk/src/kits/opengl/mesa/glapi/glthread.h haiku/trunk/src/kits/opengl/mesa/main/accum.c haiku/trunk/src/kits/opengl/mesa/main/api_arrayelt.c haiku/trunk/src/kits/opengl/mesa/main/api_arrayelt.h haiku/trunk/src/kits/opengl/mesa/main/api_loopback.c haiku/trunk/src/kits/opengl/mesa/main/api_noop.c haiku/trunk/src/kits/opengl/mesa/main/api_noop.h haiku/trunk/src/kits/opengl/mesa/main/api_validate.c haiku/trunk/src/kits/opengl/mesa/main/attrib.c haiku/trunk/src/kits/opengl/mesa/main/blend.c haiku/trunk/src/kits/opengl/mesa/main/blend.h haiku/trunk/src/kits/opengl/mesa/main/bufferobj.c haiku/trunk/src/kits/opengl/mesa/main/bufferobj.h haiku/trunk/src/kits/opengl/mesa/main/buffers.c haiku/trunk/src/kits/opengl/mesa/main/buffers.h haiku/trunk/src/kits/opengl/mesa/main/clip.c haiku/trunk/src/kits/opengl/mesa/main/colortab.c haiku/trunk/src/kits/opengl/mesa/main/colortab.h haiku/trunk/src/kits/opengl/mesa/main/config.h haiku/trunk/src/kits/opengl/mesa/main/context.c haiku/trunk/src/kits/opengl/mesa/main/context.h haiku/trunk/src/kits/opengl/mesa/main/convolve.c haiku/trunk/src/kits/opengl/mesa/main/dd.h haiku/trunk/src/kits/opengl/mesa/main/debug.c haiku/trunk/src/kits/opengl/mesa/main/depth.c haiku/trunk/src/kits/opengl/mesa/main/depth.h haiku/trunk/src/kits/opengl/mesa/main/dispatch.c haiku/trunk/src/kits/opengl/mesa/main/dlist.c haiku/trunk/src/kits/opengl/mesa/main/dlist.h haiku/trunk/src/kits/opengl/mesa/main/drawpix.c haiku/trunk/src/kits/opengl/mesa/main/enable.c haiku/trunk/src/kits/opengl/mesa/main/enums.c haiku/trunk/src/kits/opengl/mesa/main/enums.h haiku/trunk/src/kits/opengl/mesa/main/extensions.c haiku/trunk/src/kits/opengl/mesa/main/extensions.h haiku/trunk/src/kits/opengl/mesa/main/fog.c haiku/trunk/src/kits/opengl/mesa/main/get.c haiku/trunk/src/kits/opengl/mesa/main/glheader.h haiku/trunk/src/kits/opengl/mesa/main/hash.c haiku/trunk/src/kits/opengl/mesa/main/hash.h haiku/trunk/src/kits/opengl/mesa/main/hint.c haiku/trunk/src/kits/opengl/mesa/main/histogram.c haiku/trunk/src/kits/opengl/mesa/main/image.c haiku/trunk/src/kits/opengl/mesa/main/image.h haiku/trunk/src/kits/opengl/mesa/main/imports.c haiku/trunk/src/kits/opengl/mesa/main/imports.h haiku/trunk/src/kits/opengl/mesa/main/light.c haiku/trunk/src/kits/opengl/mesa/main/light.h haiku/trunk/src/kits/opengl/mesa/main/macros.h haiku/trunk/src/kits/opengl/mesa/main/matrix.c haiku/trunk/src/kits/opengl/mesa/main/mtypes.h haiku/trunk/src/kits/opengl/mesa/main/occlude.c haiku/trunk/src/kits/opengl/mesa/main/occlude.h haiku/trunk/src/kits/opengl/mesa/main/pixel.c haiku/trunk/src/kits/opengl/mesa/main/pixel.h haiku/trunk/src/kits/opengl/mesa/main/points.c haiku/trunk/src/kits/opengl/mesa/main/points.h haiku/trunk/src/kits/opengl/mesa/main/polygon.c haiku/trunk/src/kits/opengl/mesa/main/rastpos.c haiku/trunk/src/kits/opengl/mesa/main/state.c haiku/trunk/src/kits/opengl/mesa/main/state.h haiku/trunk/src/kits/opengl/mesa/main/stencil.c haiku/trunk/src/kits/opengl/mesa/main/stencil.h haiku/trunk/src/kits/opengl/mesa/main/texcompress.c haiku/trunk/src/kits/opengl/mesa/main/texcompress.h haiku/trunk/src/kits/opengl/mesa/main/texcompress_fxt1.c haiku/trunk/src/kits/opengl/mesa/main/texcompress_s3tc.c haiku/trunk/src/kits/opengl/mesa/main/texformat.c haiku/trunk/src/kits/opengl/mesa/main/texformat.h haiku/trunk/src/kits/opengl/mesa/main/texformat_tmp.h haiku/trunk/src/kits/opengl/mesa/main/teximage.c haiku/trunk/src/kits/opengl/mesa/main/teximage.h haiku/trunk/src/kits/opengl/mesa/main/texobj.c haiku/trunk/src/kits/opengl/mesa/main/texobj.h haiku/trunk/src/kits/opengl/mesa/main/texstate.c haiku/trunk/src/kits/opengl/mesa/main/texstate.h haiku/trunk/src/kits/opengl/mesa/main/texstore.c haiku/trunk/src/kits/opengl/mesa/main/texstore.h haiku/trunk/src/kits/opengl/mesa/main/varray.c haiku/trunk/src/kits/opengl/mesa/main/version.h haiku/trunk/src/kits/opengl/mesa/main/vtxfmt.c haiku/trunk/src/kits/opengl/mesa/main/vtxfmt_tmp.h haiku/trunk/src/kits/opengl/mesa/math/m_debug_clip.c haiku/trunk/src/kits/opengl/mesa/math/m_debug_norm.c haiku/trunk/src/kits/opengl/mesa/math/m_debug_util.h haiku/trunk/src/kits/opengl/mesa/math/m_debug_xform.c haiku/trunk/src/kits/opengl/mesa/math/m_matrix.c haiku/trunk/src/kits/opengl/mesa/math/m_matrix.h haiku/trunk/src/kits/opengl/mesa/math/m_trans_tmp.h haiku/trunk/src/kits/opengl/mesa/math/m_translate.c haiku/trunk/src/kits/opengl/mesa/math/m_translate.h haiku/trunk/src/kits/opengl/mesa/math/m_xform.c haiku/trunk/src/kits/opengl/mesa/math/m_xform.h haiku/trunk/src/kits/opengl/mesa/shader/arbprogparse.c haiku/trunk/src/kits/opengl/mesa/shader/arbprogparse.h haiku/trunk/src/kits/opengl/mesa/shader/arbprogram.c haiku/trunk/src/kits/opengl/mesa/shader/arbprogram.h haiku/trunk/src/kits/opengl/mesa/shader/atifragshader.c haiku/trunk/src/kits/opengl/mesa/shader/atifragshader.h haiku/trunk/src/kits/opengl/mesa/shader/nvfragparse.c haiku/trunk/src/kits/opengl/mesa/shader/nvfragparse.h haiku/trunk/src/kits/opengl/mesa/shader/nvprogram.c haiku/trunk/src/kits/opengl/mesa/shader/nvvertexec.c haiku/trunk/src/kits/opengl/mesa/shader/nvvertexec.h haiku/trunk/src/kits/opengl/mesa/shader/nvvertparse.c haiku/trunk/src/kits/opengl/mesa/shader/nvvertparse.h haiku/trunk/src/kits/opengl/mesa/shader/program.c haiku/trunk/src/kits/opengl/mesa/shader/program.h haiku/trunk/src/kits/opengl/mesa/shader/shaderobjects.c haiku/trunk/src/kits/opengl/mesa/shader/shaderobjects.h haiku/trunk/src/kits/opengl/mesa/sparc/clip.S haiku/trunk/src/kits/opengl/mesa/sparc/glapi_sparc.S haiku/trunk/src/kits/opengl/mesa/sparc/norm.S haiku/trunk/src/kits/opengl/mesa/sparc/sparc.c haiku/trunk/src/kits/opengl/mesa/sparc/sparc_matrix.h haiku/trunk/src/kits/opengl/mesa/sparc/xform.S haiku/trunk/src/kits/opengl/mesa/swrast/s_aaline.c haiku/trunk/src/kits/opengl/mesa/swrast/s_aalinetemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_aatriangle.c haiku/trunk/src/kits/opengl/mesa/swrast/s_aatritemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_accum.c haiku/trunk/src/kits/opengl/mesa/swrast/s_accum.h haiku/trunk/src/kits/opengl/mesa/swrast/s_alpha.c haiku/trunk/src/kits/opengl/mesa/swrast/s_alpha.h haiku/trunk/src/kits/opengl/mesa/swrast/s_atifragshader.c haiku/trunk/src/kits/opengl/mesa/swrast/s_atifragshader.h haiku/trunk/src/kits/opengl/mesa/swrast/s_bitmap.c haiku/trunk/src/kits/opengl/mesa/swrast/s_blend.c haiku/trunk/src/kits/opengl/mesa/swrast/s_blend.h haiku/trunk/src/kits/opengl/mesa/swrast/s_buffers.c haiku/trunk/src/kits/opengl/mesa/swrast/s_context.c haiku/trunk/src/kits/opengl/mesa/swrast/s_context.h haiku/trunk/src/kits/opengl/mesa/swrast/s_copypix.c haiku/trunk/src/kits/opengl/mesa/swrast/s_depth.c haiku/trunk/src/kits/opengl/mesa/swrast/s_depth.h haiku/trunk/src/kits/opengl/mesa/swrast/s_drawpix.c haiku/trunk/src/kits/opengl/mesa/swrast/s_feedback.c haiku/trunk/src/kits/opengl/mesa/swrast/s_fog.c haiku/trunk/src/kits/opengl/mesa/swrast/s_fog.h haiku/trunk/src/kits/opengl/mesa/swrast/s_imaging.c haiku/trunk/src/kits/opengl/mesa/swrast/s_lines.c haiku/trunk/src/kits/opengl/mesa/swrast/s_linetemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_logic.c haiku/trunk/src/kits/opengl/mesa/swrast/s_logic.h haiku/trunk/src/kits/opengl/mesa/swrast/s_masking.c haiku/trunk/src/kits/opengl/mesa/swrast/s_masking.h haiku/trunk/src/kits/opengl/mesa/swrast/s_nvfragprog.c haiku/trunk/src/kits/opengl/mesa/swrast/s_nvfragprog.h haiku/trunk/src/kits/opengl/mesa/swrast/s_pointtemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_readpix.c haiku/trunk/src/kits/opengl/mesa/swrast/s_span.c haiku/trunk/src/kits/opengl/mesa/swrast/s_span.h haiku/trunk/src/kits/opengl/mesa/swrast/s_spantemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_stencil.c haiku/trunk/src/kits/opengl/mesa/swrast/s_stencil.h haiku/trunk/src/kits/opengl/mesa/swrast/s_texstore.c haiku/trunk/src/kits/opengl/mesa/swrast/s_triangle.c haiku/trunk/src/kits/opengl/mesa/swrast/s_tritemp.h haiku/trunk/src/kits/opengl/mesa/swrast/s_zoom.c haiku/trunk/src/kits/opengl/mesa/swrast/s_zoom.h haiku/trunk/src/kits/opengl/mesa/swrast/swrast.h haiku/trunk/src/kits/opengl/mesa/swrast_setup/ss_context.c haiku/trunk/src/kits/opengl/mesa/swrast_setup/ss_context.h haiku/trunk/src/kits/opengl/mesa/swrast_setup/ss_triangle.c haiku/trunk/src/kits/opengl/mesa/swrast_setup/ss_tritmp.h haiku/trunk/src/kits/opengl/mesa/tnl/t_array_api.c haiku/trunk/src/kits/opengl/mesa/tnl/t_array_import.c haiku/trunk/src/kits/opengl/mesa/tnl/t_context.c haiku/trunk/src/kits/opengl/mesa/tnl/t_context.h haiku/trunk/src/kits/opengl/mesa/tnl/t_pipeline.c haiku/trunk/src/kits/opengl/mesa/tnl/t_pipeline.h haiku/trunk/src/kits/opengl/mesa/tnl/t_save_api.c haiku/trunk/src/kits/opengl/mesa/tnl/t_save_api.h haiku/trunk/src/kits/opengl/mesa/tnl/t_save_loopback.c haiku/trunk/src/kits/opengl/mesa/tnl/t_save_playback.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_cliptmp.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_cull.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_fog.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_light.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_lighttmp.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_normals.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_points.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_program.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_render.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_rendertmp.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_texgen.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_texmat.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vb_vertex.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vertex.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_api.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_api.h haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_eval.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_exec.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_generic.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_x86.c haiku/trunk/src/kits/opengl/mesa/tnl/t_vtx_x86_gcc.S haiku/trunk/src/kits/opengl/mesa/tnl/tnl.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/imm/t_dd_imm_capi.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/t_dd_dmatmp.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/t_dd_dmatmp2.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/t_dd_triemit.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/t_dd_tritmp.h haiku/trunk/src/kits/opengl/mesa/tnl_dd/t_dd_unfilled.h haiku/trunk/src/kits/opengl/mesa/x86/3dnow.c haiku/trunk/src/kits/opengl/mesa/x86/3dnow_normal.S haiku/trunk/src/kits/opengl/mesa/x86/3dnow_xform1.S haiku/trunk/src/kits/opengl/mesa/x86/3dnow_xform2.S haiku/trunk/src/kits/opengl/mesa/x86/3dnow_xform3.S haiku/trunk/src/kits/opengl/mesa/x86/3dnow_xform4.S haiku/trunk/src/kits/opengl/mesa/x86/Makefile haiku/trunk/src/kits/opengl/mesa/x86/assyntax.h haiku/trunk/src/kits/opengl/mesa/x86/common_x86.c haiku/trunk/src/kits/opengl/mesa/x86/common_x86_asm.S haiku/trunk/src/kits/opengl/mesa/x86/common_x86_asm.h haiku/trunk/src/kits/opengl/mesa/x86/gen_matypes.c haiku/trunk/src/kits/opengl/mesa/x86/glapi_x86.S haiku/trunk/src/kits/opengl/mesa/x86/matypes.h haiku/trunk/src/kits/opengl/mesa/x86/mmx.h haiku/trunk/src/kits/opengl/mesa/x86/mmx_blend.S haiku/trunk/src/kits/opengl/mesa/x86/read_rgba_span_x86.S haiku/trunk/src/kits/opengl/mesa/x86/sse.c haiku/trunk/src/kits/opengl/mesa/x86/sse_normal.S haiku/trunk/src/kits/opengl/mesa/x86/sse_xform1.S haiku/trunk/src/kits/opengl/mesa/x86/sse_xform2.S haiku/trunk/src/kits/opengl/mesa/x86/sse_xform3.S haiku/trunk/src/kits/opengl/mesa/x86/sse_xform4.S haiku/trunk/src/kits/opengl/mesa/x86/x86.c haiku/trunk/src/kits/opengl/mesa/x86/x86_cliptest.S haiku/trunk/src/kits/opengl/mesa/x86/x86_xform2.S haiku/trunk/src/kits/opengl/mesa/x86/x86_xform3.S haiku/trunk/src/kits/opengl/mesa/x86/x86_xform4.S Log: updated mesa to 6.5.2 updated the mesa software addon to work again (maybe would need more work) Modified: haiku/trunk/headers/os/opengl/GL/gl.h =================================================================== --- haiku/trunk/headers/os/opengl/GL/gl.h 2007-02-15 23:10:33 UTC (rev 20136) +++ haiku/trunk/headers/os/opengl/GL/gl.h 2007-02-15 23:40:43 UTC (rev 20137) @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.3 + * Version: 6.5.1 * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -39,7 +39,6 @@ #if !defined(__SCITECH_SNAP__) #if defined(__BEOS__) -#include #include /* to get some BeOS-isms */ #endif @@ -63,6 +62,9 @@ #elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */ # define GLAPI extern # define GLAPIENTRY __stdcall +#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303 +# define GLAPI __attribute__((visibility("default"))) +# define GLAPIENTRY #endif /* WIN32 && !CYGWIN */ #if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) @@ -102,7 +104,7 @@ #define APIENTRY GLAPIENTRY #endif -/* "P" suffix for when function returns a pointer */ +/* "P" suffix to be used for a pointer to a function */ #ifndef APIENTRYP #define APIENTRYP APIENTRY * #endif @@ -439,16 +441,16 @@ #define GL_OR_INVERTED 0x150D /* Stencil */ -#define GL_STENCIL_TEST 0x0B90 -#define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BITS 0x0D57 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_INDEX 0x1901 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 @@ -498,16 +500,16 @@ /* Implementation limits */ #define GL_MAX_LIST_NESTING 0x0B31 -#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 -#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 -#define GL_MAX_NAME_STACK_DEPTH 0x0D37 -#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 -#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 +#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_NAME_STACK_DEPTH 0x0D37 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B @@ -565,22 +567,22 @@ #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_COEFF 0x0A00 -#define GL_DOMAIN 0x0A02 #define GL_ORDER 0x0A01 +#define GL_DOMAIN 0x0A02 /* Hints */ -#define GL_FOG_HINT 0x0C54 -#define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_FOG_HINT 0x0C54 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* Scissor box */ -#define GL_SCISSOR_TEST 0x0C11 #define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 /* Pixel Mode / Transfer */ #define GL_MAP_COLOR 0x0D10 @@ -685,8 +687,8 @@ /* Errors */ #define GL_NO_ERROR 0x0 -#define GL_INVALID_VALUE 0x0501 #define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 @@ -851,7 +853,7 @@ GLAPI GLenum GLAPIENTRY glGetError( void ); -GLAPI const GLubyte GLAPIENTRYP glGetString( GLenum name ); +GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name ); GLAPI void GLAPIENTRY glFinish( void ); @@ -2150,37 +2152,26 @@ -/* - * ???. GL_MESA_trace - * XXX obsolete - */ -#ifndef GL_MESA_trace -#define GL_MESA_trace 1 +#if GL_ARB_shader_objects -#define GL_TRACE_ALL_BITS_MESA 0xFFFF -#define GL_TRACE_OPERATIONS_BIT_MESA 0x0001 -#define GL_TRACE_PRIMITIVES_BIT_MESA 0x0002 -#define GL_TRACE_ARRAYS_BIT_MESA 0x0004 -#define GL_TRACE_TEXTURES_BIT_MESA 0x0008 -#define GL_TRACE_PIXELS_BIT_MESA 0x0010 -#define GL_TRACE_ERRORS_BIT_MESA 0x0020 -#define GL_TRACE_MASK_MESA 0x8755 -#define GL_TRACE_NAME_MESA 0x8756 +#ifndef GL_MESA_shader_debug +#define GL_MESA_shader_debug 1 -GLAPI void GLAPIENTRY glEnableTraceMESA( GLbitfield mask ); -GLAPI void GLAPIENTRY glDisableTraceMESA( GLbitfield mask ); -GLAPI void GLAPIENTRY glNewTraceMESA( GLbitfield mask, const GLubyte * traceName ); -GLAPI void GLAPIENTRY glEndTraceMESA( void ); -GLAPI void GLAPIENTRY glTraceAssertAttribMESA( GLbitfield attribMask ); -GLAPI void GLAPIENTRY glTraceCommentMESA( const GLubyte * comment ); -GLAPI void GLAPIENTRY glTraceTextureMESA( GLuint name, const GLubyte* comment ); -GLAPI void GLAPIENTRY glTraceListMESA( GLuint name, const GLubyte* comment ); -GLAPI void GLAPIENTRY glTracePointerMESA( GLvoid* pointer, const GLubyte* comment ); -GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid* last, const GLubyte* comment ); +#define GL_DEBUG_OBJECT_MESA 0x8759 +#define GL_DEBUG_PRINT_MESA 0x875A +#define GL_DEBUG_ASSERT_MESA 0x875B -#endif /* GL_MESA_trace */ +GLAPI GLhandleARB APIENTRY glCreateDebugObjectMESA (void); +GLAPI void APIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType); +GLAPI void APIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength, + GLsizei *length, GLcharARB *debugLog); +GLAPI GLsizei APIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType); +#endif /* GL_MESA_shader_debug */ +#endif /* GL_ARB_shader_objects */ + + /* * ???. GL_MESA_packed_depth_stencil * XXX obsolete @@ -2211,13 +2202,9 @@ typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); -extern void -glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, - GLvoid *data); +GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data); -extern void -glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, - GLfloat *v); +GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v); #endif /* GL_MESA_program_debug */ @@ -2233,17 +2220,7 @@ #endif /* GL_ATI_blend_equation_separate */ -/* As soon as the official glext.h is updated to include this, it will be - * removed from here. - */ -#ifndef GL_OES_read_format -#define GL_OES_read_format 1 -#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B - -#endif /* GL_OES_read_format */ - /** ** NOTE!!!!! If you add new functions to this file, or update ** glext.h be sure to regenerate the gl_mangle.h file. See comments @@ -2251,6 +2228,7 @@ **/ + /********************************************************************** * Begin system-specific stuff */ Modified: haiku/trunk/headers/os/opengl/GL/glext.h =================================================================== --- haiku/trunk/headers/os/opengl/GL/glext.h 2007-02-15 23:10:33 UTC (rev 20136) +++ haiku/trunk/headers/os/opengl/GL/glext.h 2007-02-15 23:40:43 UTC (rev 20137) @@ -52,9 +52,9 @@ /*************************************************************/ /* Header file version number, required by OpenGL ABI for Linux */ -/* glext.h last updated 2004/7/26 */ -/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ -#define GL_GLEXT_VERSION 24 +/* glext.h last updated 2006/08/30 */ +/* Current version at http://www.opengl.org/registry/ */ +#define GL_GLEXT_VERSION 34 #ifndef GL_VERSION_1_2 #define GL_UNSIGNED_BYTE_3_3_2 0x8032 @@ -372,6 +372,119 @@ #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA #endif +#ifndef GL_VERSION_2_0 +#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_COORDS 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#endif + +#ifndef GL_VERSION_2_1 +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B +#endif + #ifndef GL_ARB_multitexture #define GL_TEXTURE0_ARB 0x84C0 #define GL_TEXTURE1_ARB 0x84C1 @@ -825,6 +938,48 @@ #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 #endif +#ifndef GL_ARB_color_buffer_float +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_FIXED_ONLY_ARB 0x891D +#endif + +#ifndef GL_ARB_half_float_pixel +#define GL_HALF_FLOAT_ARB 0x140B +#endif + +#ifndef GL_ARB_texture_float +#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 +#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 +#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 +#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 +#define GL_RGBA32F_ARB 0x8814 +#define GL_RGB32F_ARB 0x8815 +#define GL_ALPHA32F_ARB 0x8816 +#define GL_INTENSITY32F_ARB 0x8817 +#define GL_LUMINANCE32F_ARB 0x8818 +#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 +#define GL_RGBA16F_ARB 0x881A +#define GL_RGB16F_ARB 0x881B +#define GL_ALPHA16F_ARB 0x881C +#define GL_INTENSITY16F_ARB 0x881D +#define GL_LUMINANCE16F_ARB 0x881E +#define GL_LUMINANCE_ALPHA16F_ARB 0x881F +#endif + +#ifndef GL_ARB_pixel_buffer_object +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF +#endif + #ifndef GL_EXT_abgr #define GL_ABGR_EXT 0x8000 #endif @@ -2793,6 +2948,11 @@ #ifndef GL_ATI_vertex_attrib_array_object #endif +#ifndef GL_OES_read_format +#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B +#endif + #ifndef GL_EXT_depth_bounds_test #define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 #define GL_DEPTH_BOUNDS_EXT 0x8891 @@ -2846,10 +3006,131 @@ /* reuse GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ #endif +#ifndef GL_EXT_framebuffer_object +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 +#endif +#ifndef GL_GREMEDY_string_marker +#endif + +#ifndef GL_EXT_packed_depth_stencil +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB8_EXT 0x8C41 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CAA +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E +#endif + +#ifndef GL_EXT_timer_query +#define GL_TIME_ELAPSED_EXT 0x88BF +#endif + +#ifndef GL_EXT_gpu_program_parameters +#endif + + /*************************************************************/ #include +#ifndef GL_VERSION_2_0 +/* GL type for program/shader text */ +typedef char GLchar; /* native character */ +#endif + #ifndef GL_VERSION_1_5 /* GL types for handling large vertex buffer objects */ typedef ptrdiff_t GLintptr; @@ -2863,16 +3144,62 @@ #endif #ifndef GL_ARB_shader_objects -/* GL types for handling shader object handles and characters */ +/* GL types for handling shader object handles and program/shader text */ typedef char GLcharARB; /* native character */ typedef unsigned int GLhandleARB; /* shader object handle */ #endif +/* GL types for "half" precision (s10e5) float data in host memory */ +#ifndef GL_ARB_half_float_pixel +typedef unsigned short GLhalfARB; +#endif + #ifndef GL_NV_half_float -/* GL type for representing NVIDIA "half" floating point type in host memory */ typedef unsigned short GLhalfNV; #endif +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GLX_OML_sync_control extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) +#include +#if defined(__STDC__) +#if defined(__arch64__) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(WIN32) && defined(_MSC_VER) +typedef long int int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#elif defined(WIN32) && defined(__GNUC__) +#include +#else +#include /* Fallback option */ +#endif +#endif + +#ifndef GL_EXT_timer_query +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif + #ifndef GL_VERSION_1_2 #define GL_VERSION_1_2 1 #ifdef GL_GLEXT_PROTOTYPES @@ -3193,6 +3520,216 @@ typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params); #endif +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationSeparate (GLenum, GLenum); +GLAPI void APIENTRY glDrawBuffers (GLsizei, const GLenum *); +GLAPI void APIENTRY glStencilOpSeparate (GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glStencilFuncSeparate (GLenum, GLenum, GLint, GLuint); +GLAPI void APIENTRY glStencilMaskSeparate (GLenum, GLuint); +GLAPI void APIENTRY glAttachShader (GLuint, GLuint); +GLAPI void APIENTRY glBindAttribLocation (GLuint, GLuint, const GLchar *); +GLAPI void APIENTRY glCompileShader (GLuint); +GLAPI GLuint APIENTRY glCreateProgram (void); +GLAPI GLuint APIENTRY glCreateShader (GLenum); +GLAPI void APIENTRY glDeleteProgram (GLuint); +GLAPI void APIENTRY glDeleteShader (GLuint); +GLAPI void APIENTRY glDetachShader (GLuint, GLuint); +GLAPI void APIENTRY glDisableVertexAttribArray (GLuint); +GLAPI void APIENTRY glEnableVertexAttribArray (GLuint); +GLAPI void APIENTRY glGetActiveAttrib (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); +GLAPI void APIENTRY glGetActiveUniform (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); +GLAPI void APIENTRY glGetAttachedShaders (GLuint, GLsizei, GLsizei *, GLuint *); +GLAPI GLint APIENTRY glGetAttribLocation (GLuint, const GLchar *); +GLAPI void APIENTRY glGetProgramiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetProgramInfoLog (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetShaderiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetShaderInfoLog (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetShaderSource (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI GLint APIENTRY glGetUniformLocation (GLuint, const GLchar *); +GLAPI void APIENTRY glGetUniformfv (GLuint, GLint, GLfloat *); +GLAPI void APIENTRY glGetUniformiv (GLuint, GLint, GLint *); +GLAPI void APIENTRY glGetVertexAttribdv (GLuint, GLenum, GLdouble *); +GLAPI void APIENTRY glGetVertexAttribfv (GLuint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetVertexAttribiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint, GLenum, GLvoid* *); +GLAPI GLboolean APIENTRY glIsProgram (GLuint); +GLAPI GLboolean APIENTRY glIsShader (GLuint); +GLAPI void APIENTRY glLinkProgram (GLuint); +GLAPI void APIENTRY glShaderSource (GLuint, GLsizei, const GLchar* *, const GLint *); +GLAPI void APIENTRY glUseProgram (GLuint); +GLAPI void APIENTRY glUniform1f (GLint, GLfloat); +GLAPI void APIENTRY glUniform2f (GLint, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform3f (GLint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform4f (GLint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glUniform1i (GLint, GLint); +GLAPI void APIENTRY glUniform2i (GLint, GLint, GLint); +GLAPI void APIENTRY glUniform3i (GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform4i (GLint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glUniform1fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform2fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform3fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform4fv (GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glUniform1iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform2iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform3iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniform4iv (GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glUniformMatrix2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glValidateProgram (GLuint); +GLAPI void APIENTRY glVertexAttrib1d (GLuint, GLdouble); +GLAPI void APIENTRY glVertexAttrib1dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib1f (GLuint, GLfloat); +GLAPI void APIENTRY glVertexAttrib1fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib1s (GLuint, GLshort); +GLAPI void APIENTRY glVertexAttrib1sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib2d (GLuint, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib2dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib2f (GLuint, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib2fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib2s (GLuint, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib2sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib3d (GLuint, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib3dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib3f (GLuint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib3fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib3s (GLuint, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib3sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4Niv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4Nub (GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttrib4bv (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttrib4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glVertexAttrib4dv (GLuint, const GLdouble *); +GLAPI void APIENTRY glVertexAttrib4f (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glVertexAttrib4fv (GLuint, const GLfloat *); +GLAPI void APIENTRY glVertexAttrib4iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttrib4s (GLuint, GLshort, GLshort, GLshort, GLshort); +GLAPI void APIENTRY glVertexAttrib4sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttrib4ubv (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttrib4uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttrib4usv (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttribPointer (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name); +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type); +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj); +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params); +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length); +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); +#endif + +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif + #ifndef GL_ARB_multitexture #define GL_ARB_multitexture 1 #ifdef GL_GLEXT_PROTOTYPES @@ -3752,6 +4289,26 @@ #define GL_ARB_texture_rectangle 1 #endif +#ifndef GL_ARB_color_buffer_float +#define GL_ARB_color_buffer_float 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClampColorARB (GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); +#endif + +#ifndef GL_ARB_half_float_pixel +#define GL_ARB_half_float_pixel 1 +#endif + +#ifndef GL_ARB_texture_float +#define GL_ARB_texture_float 1 +#endif + +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 +#endif + #ifndef GL_EXT_abgr #define GL_EXT_abgr 1 #endif @@ -3880,8 +4437,8 @@ typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); #endif -#ifndef GL_EXT_color_matrix -#define GL_EXT_color_matrix 1 +#ifndef GL_SGI_color_matrix +#define GL_SGI_color_matrix 1 #endif #ifndef GL_SGI_color_table @@ -5741,12 +6298,12 @@ #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint); GLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei, const GLuint *); -GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *); GLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint); #endif /* GL_GLEXT_PROTOTYPES */ typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays); -typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays); +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); #endif @@ -5974,6 +6531,10 @@ typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params); #endif +#ifndef GL_OES_read_format +#define GL_OES_read_format 1 +#endif + #ifndef GL_EXT_depth_bounds_test #define GL_EXT_depth_bounds_test 1 #ifdef GL_GLEXT_PROTOTYPES @@ -6022,7 +6583,111 @@ #define GL_NV_vertex_program3 1 #endif +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glIsRenderbufferEXT (GLuint); +GLAPI void APIENTRY glBindRenderbufferEXT (GLenum, GLuint); +GLAPI void APIENTRY glDeleteRenderbuffersEXT (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenRenderbuffersEXT (GLsizei, GLuint *); +GLAPI void APIENTRY glRenderbufferStorageEXT (GLenum, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glGetRenderbufferParameterivEXT (GLenum, GLenum, GLint *); +GLAPI GLboolean APIENTRY glIsFramebufferEXT (GLuint); +GLAPI void APIENTRY glBindFramebufferEXT (GLenum, GLuint); +GLAPI void APIENTRY glDeleteFramebuffersEXT (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenFramebuffersEXT (GLsizei, GLuint *); +GLAPI GLenum APIENTRY glCheckFramebufferStatusEXT (GLenum); +GLAPI void APIENTRY glFramebufferTexture1DEXT (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture2DEXT (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture3DEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glFramebufferRenderbufferEXT (GLenum, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGenerateMipmapEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); +typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers); +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); +#endif +#ifndef GL_GREMEDY_string_marker +#define GL_GREMEDY_string_marker 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei, const GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string); +#endif + +#ifndef GL_EXT_packed_depth_stencil +#define GL_EXT_packed_depth_stencil 1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_EXT_stencil_clear_tag 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStencilClearTagEXT (GLsizei, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag); +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_EXT_texture_sRGB 1 +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_EXT_framebuffer_blit 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlitFramebufferEXT (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_EXT_framebuffer_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_MESAX_texture_stack 1 +#endif + +#ifndef GL_EXT_timer_query +#define GL_EXT_timer_query 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint, GLenum, GLint64EXT *); +GLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint, GLenum, GLuint64EXT *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); [... truncated: 173424 lines follow ...] From korli at mail.berlios.de Fri Feb 16 01:01:32 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Fri, 16 Feb 2007 01:01:32 +0100 Subject: [Haiku-commits] r20138 - haiku/trunk/build/jam Message-ID: <200702160001.l1G01Wqw006217@sheep.berlios.de> Author: korli Date: 2007-02-16 01:01:31 +0100 (Fri, 16 Feb 2007) New Revision: 20138 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20138&view=rev Modified: haiku/trunk/build/jam/FileRules Log: fix the build on non english locale systems (to have svn info output Revision instead of R?\195?\169vision) Modified: haiku/trunk/build/jam/FileRules =================================================================== --- haiku/trunk/build/jam/FileRules 2007-02-15 23:40:43 UTC (rev 20137) +++ haiku/trunk/build/jam/FileRules 2007-02-16 00:01:31 UTC (rev 20138) @@ -244,7 +244,7 @@ actions CopySetHaikuRevision1 { $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) - revision=`(svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | + revision=`(LANG=EN_en svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | grep Revision | awk '{printf $2}'` $(2[1]) --data $(2[3]) $(1) && $(2[2]) $(1) ${revision} From korli at mail.berlios.de Fri Feb 16 01:36:41 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Fri, 16 Feb 2007 01:36:41 +0100 Subject: [Haiku-commits] r20139 - haiku/trunk/src/apps/fontdemo Message-ID: <200702160036.l1G0afu0004706@sheep.berlios.de> Author: korli Date: 2007-02-16 01:36:40 +0100 (Fri, 16 Feb 2007) New Revision: 20139 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20139&view=rev Modified: haiku/trunk/src/apps/fontdemo/ControlView.cpp Log: build fix for gcc4 Modified: haiku/trunk/src/apps/fontdemo/ControlView.cpp =================================================================== --- haiku/trunk/src/apps/fontdemo/ControlView.cpp 2007-02-16 00:01:31 UTC (rev 20138) +++ haiku/trunk/src/apps/fontdemo/ControlView.cpp 2007-02-16 00:36:40 UTC (rev 20139) @@ -76,7 +76,7 @@ rect.OffsetBy(0.0, 29.0); fFontsizeSlider = new BSlider(rect, "Fontsize", "Size: 50", NULL, 4, 360); fFontsizeSlider->SetModificationMessage(new BMessage(FONTSIZE_MSG)); - fFontsizeSlider->SetValue(50.0); + fFontsizeSlider->SetValue(50); AddChild(fFontsizeSlider); // Get the preferred size for the sliders @@ -86,19 +86,19 @@ rect.OffsetBy(0.0, offsetX); fShearSlider = new BSlider(rect, "Shear", "Shear: 90", NULL, 45, 135); fShearSlider->SetModificationMessage(new BMessage(FONTSHEAR_MSG)); - fShearSlider->SetValue(90.0); + fShearSlider->SetValue(90); AddChild(fShearSlider); rect.OffsetBy(0.0, offsetX); fRotationSlider = new BSlider(rect, "Rotation", "Rotation: 0", NULL, 0, 360); fRotationSlider->SetModificationMessage( new BMessage(ROTATION_MSG)); - fRotationSlider->SetValue(0.0); + fRotationSlider->SetValue(0); AddChild(fRotationSlider); rect.OffsetBy(0.0, offsetX); fSpacingSlider = new BSlider(rect, "Spacing", "Spacing: 0", NULL, -5, 50); fSpacingSlider->SetModificationMessage(new BMessage(SPACING_MSG)); - fSpacingSlider->SetValue(0.0); + fSpacingSlider->SetValue(0); AddChild(fSpacingSlider); rect.OffsetBy(0.0, offsetX); @@ -410,10 +410,10 @@ { _DeselectOldItems(); - const char* family; + font_family family; font_style style; - if (message->FindString("_family", &family) == B_OK) { + if (message->FindString("_family", (const char **)&family) == B_OK) { printf("Family:%s\n\n", family); BMenuItem* markedItem = fFontFamilyMenu->FindItem(family); @@ -422,7 +422,7 @@ markedItem->SetMarked(true); - get_font_style(font_family(family), 0, &style); + get_font_style(family, 0, &style); BString string; string << family << " " << style; From revol at free.fr Fri Feb 16 01:39:23 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Fri, 16 Feb 2007 01:39:23 +0100 CET Subject: [Haiku-commits] r20134 - haiku/trunk/src/system/libroot/posix/unistd In-Reply-To: <200702151859.l1FIxjWp005649@sheep.berlios.de> Message-ID: <192443512-BeMail@laptop> > Author: bonefish > Date: 2007-02-15 19:59:45 +0100 (Thu, 15 Feb 2007) > New Revision: 20134 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20134&view=rev > > Modified: > haiku/trunk/src/system/libroot/posix/unistd/ttyname.c > Log: > Fixed build. > Thx, I saw the arg names in unist.h and only changed them on the proto. Fran?ois. From bonefish at cs.tu-berlin.de Fri Feb 16 01:35:02 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Fri, 16 Feb 2007 01:35:02 +0100 Subject: [Haiku-commits] r20138 - haiku/trunk/build/jam In-Reply-To: <200702160001.l1G01Wqw006217@sheep.berlios.de> References: <200702160001.l1G01Wqw006217@sheep.berlios.de> Message-ID: <20070216013502.16443.4@cs.tu-berlin.de> On 2007-02-16 at 01:01:32 [+0100], korli at BerliOS wrote: > Author: korli > Date: 2007-02-16 01:01:31 +0100 (Fri, 16 Feb 2007) > New Revision: 20138 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20138&view=rev > > Modified: > haiku/trunk/build/jam/FileRules > Log: > fix the build on non english locale systems (to have svn info output > Revision instead of R?\195?\169vision) Wow, localizing the command line is really one of the greatest achievements of the past few years. I suppose the next big breakthrough will be localized programming and scripting languages. I can't wait to see this translation of the launch() function in our Bootscript: starte () { wenn [ -d "/stiefel/$1" ] dann "/stiefel/$1" & [ "$2" != "" ] && warteauf "$2" gibzur?ck 1 sonst echo Es gibt kein "$1" nnew gibzur?ck 0 } *muahaha* ;-) CU, Ingo From revol at free.fr Fri Feb 16 01:46:20 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Fri, 16 Feb 2007 01:46:20 +0100 CET Subject: [Haiku-commits] r20138 - haiku/trunk/build/jam In-Reply-To: <200702160001.l1G01Wqw006217@sheep.berlios.de> Message-ID: <609869455-BeMail@laptop> > - revision=`(svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | > + revision=`(LANG=EN_en svn info $(HAIKU_TOP) 2> /dev/null || echo > Revision: 0) | It should likely be something like en_US... but the default one is just LANG=C so it's the one that should be used. Fran?ois. From axeld at mail.berlios.de Fri Feb 16 07:30:37 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Fri, 16 Feb 2007 07:30:37 +0100 Subject: [Haiku-commits] r20140 - haiku/trunk/src/add-ons/kernel/drivers/arch/x86/keyboard Message-ID: <200702160630.l1G6UbM5029920@sheep.berlios.de> Author: axeld Date: 2007-02-16 07:30:36 +0100 (Fri, 16 Feb 2007) New Revision: 20140 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20140&view=rev Modified: haiku/trunk/src/add-ons/kernel/drivers/arch/x86/keyboard/keyboard.c Log: Fixed endless loop in the legacy keyboard driver (currently only used by consoled). This actually fixes bug #1024. Modified: haiku/trunk/src/add-ons/kernel/drivers/arch/x86/keyboard/keyboard.c =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/arch/x86/keyboard/keyboard.c 2007-02-16 00:36:40 UTC (rev 20139) +++ haiku/trunk/src/add-ons/kernel/drivers/arch/x86/keyboard/keyboard.c 2007-02-16 06:30:36 UTC (rev 20140) @@ -1,7 +1,7 @@ /* -** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. -** Distributed under the terms of the NewOS License. -*/ + * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the NewOS License. + */ #include @@ -250,7 +250,7 @@ } -// #pragma mark - +// #pragma mark - device hooks static status_t @@ -333,6 +333,8 @@ *_length = 0; return B_OK; } + if (status < B_OK) + return status; // critical section mutex_lock(&keyboard_read_mutex); @@ -403,8 +405,7 @@ }; -// #pragma mark - -/***** driver hooks *****/ +// #pragma mark - driver hooks status_t From phoudoin at mail.berlios.de Fri Feb 16 12:37:39 2007 From: phoudoin at mail.berlios.de (phoudoin at BerliOS) Date: Fri, 16 Feb 2007 12:37:39 +0100 Subject: [Haiku-commits] r20141 - haiku/trunk/src/kits/opengl/glut Message-ID: <200702161137.l1GBbdqk029822@sheep.berlios.de> Author: phoudoin Date: 2007-02-16 12:37:36 +0100 (Fri, 16 Feb 2007) New Revision: 20141 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20141&view=rev Modified: haiku/trunk/src/kits/opengl/glut/glutCallback.cpp haiku/trunk/src/kits/opengl/glut/glutEvent.cpp haiku/trunk/src/kits/opengl/glut/glutWindow.cpp haiku/trunk/src/kits/opengl/glut/glutWindow.h haiku/trunk/src/kits/opengl/glut/glut_ext.c Log: Applied Troeglazov "3dEyes**" Gerasim's patches: adds keys up and mouse wheel events support. Thanks. Modified: haiku/trunk/src/kits/opengl/glut/glutCallback.cpp =================================================================== --- haiku/trunk/src/kits/opengl/glut/glutCallback.cpp 2007-02-16 06:30:36 UTC (rev 20140) +++ haiku/trunk/src/kits/opengl/glut/glutCallback.cpp 2007-02-16 11:37:36 UTC (rev 20141) @@ -38,12 +38,24 @@ } void APIENTRY +glutKeyboardUpFunc(GLUTkeyboardCB keyboardUpFunc) +{ + gState.currentWindow->keyboardUp = keyboardUpFunc; +} + +void APIENTRY glutSpecialFunc(GLUTspecialCB specialFunc) { gState.currentWindow->special = specialFunc; } void APIENTRY +glutSpecialUpFunc(GLUTspecialCB specialUpFunc) +{ + gState.currentWindow->specialUp = specialUpFunc; +} + +void APIENTRY glutMouseFunc(GLUTmouseCB mouseFunc) { gState.currentWindow->mouse = mouseFunc; @@ -136,6 +148,11 @@ } void APIENTRY +glutJoystickFunc(GLUTjoystickCB joystickFunc, int pollInterval) +{ +} + +void APIENTRY glutSpaceballMotionFunc(GLUTspaceMotionCB spaceMotionFunc) { } Modified: haiku/trunk/src/kits/opengl/glut/glutEvent.cpp =================================================================== --- haiku/trunk/src/kits/opengl/glut/glutEvent.cpp 2007-02-16 06:30:36 UTC (rev 20140) +++ haiku/trunk/src/kits/opengl/glut/glutEvent.cpp 2007-02-16 11:37:36 UTC (rev 20141) @@ -18,7 +18,11 @@ #include "glutint.h" #include "glutState.h" #include "glutBlocker.h" +#include +#define MOUSE_WHEEL_UP 3 +#define MOUSE_WHEEL_DOWN 4 + /*********************************************************** * CLASS: GLUTtimer * @@ -222,6 +226,31 @@ if (!gState.windowList[i]) continue; // window was destroyed by callback! + if (win->keybUpEvent) { + win->keybUpEvent = false; + __glutSetWindow(win); + if (win->keyboardUp) { + gState.modifierKeys = win->modifierKeys; + win->keyboardUp(win->key, win->keyX, win->keyY); + gState.modifierKeys = ~0; + } + } + if (!gState.windowList[i]) + continue; // window was destroyed by callback! + + if (win->specialUpEvent) { + win->specialUpEvent = false; + __glutSetWindow(win); + if (win->specialUp) { + gState.modifierKeys = win->modifierKeys; + win->specialUp(win->specialKey, win->specialX, win->specialY); + gState.modifierKeys = ~0; + } + } + if (!gState.windowList[i]) + continue; // window was destroyed by callback! + + if (win->entryEvent) { win->entryEvent = false; __glutSetWindow(win); @@ -461,6 +490,127 @@ /*********************************************************** * CLASS: GlutWindow * + * FUNCTION: KeyUp + * + * DESCRIPTION: handles keyboard and special events + ***********************************************************/ +void GlutWindow::KeyUp(const char *s, int32 slen) +{ + ulong aChar = s[0]; + BGLView::KeyUp(s,slen); + + BPoint p; + + switch (aChar) { + case B_FUNCTION_KEY: + switch(Window()->CurrentMessage()->FindInt32("key")) { + case B_F1_KEY: + aChar = GLUT_KEY_F1; + goto specialLabel; + case B_F2_KEY: + aChar = GLUT_KEY_F2; + goto specialLabel; + case B_F3_KEY: + aChar = GLUT_KEY_F3; + goto specialLabel; + case B_F4_KEY: + aChar = GLUT_KEY_F4; + goto specialLabel; + case B_F5_KEY: + aChar = GLUT_KEY_F5; + goto specialLabel; + case B_F6_KEY: + aChar = GLUT_KEY_F6; + goto specialLabel; + case B_F7_KEY: + aChar = GLUT_KEY_F7; + goto specialLabel; + case B_F8_KEY: + aChar = GLUT_KEY_F8; + goto specialLabel; + case B_F9_KEY: + aChar = GLUT_KEY_F9; + goto specialLabel; + case B_F10_KEY: + aChar = GLUT_KEY_F10; + goto specialLabel; + case B_F11_KEY: + aChar = GLUT_KEY_F11; + goto specialLabel; + case B_F12_KEY: + aChar = GLUT_KEY_F12; + goto specialLabel; + default: + return; + } + case B_LEFT_ARROW: + aChar = GLUT_KEY_LEFT; + goto specialLabel; + case B_UP_ARROW: + aChar = GLUT_KEY_UP; + goto specialLabel; + case B_RIGHT_ARROW: + aChar = GLUT_KEY_RIGHT; + goto specialLabel; + case B_DOWN_ARROW: + aChar = GLUT_KEY_DOWN; + goto specialLabel; + case B_PAGE_UP: + aChar = GLUT_KEY_PAGE_UP; + goto specialLabel; + case B_PAGE_DOWN: + aChar = GLUT_KEY_PAGE_DOWN; + goto specialLabel; + case B_HOME: + aChar = GLUT_KEY_HOME; + goto specialLabel; + case B_END: + aChar = GLUT_KEY_END; + goto specialLabel; + case B_INSERT: + aChar = GLUT_KEY_INSERT; +specialLabel: + if (specialUp!=0) { + anyevents = specialUpEvent = true; + GetMouse(&p,&m_buttons); + specialKey = aChar; + specialX = (int)p.x; + specialY = (int)p.y; + goto setModifiers; // set the modifier variable + } + return; + + default: + break; + } + + if (keyboardUp!=0) { + anyevents = keybUpEvent = true; + GetMouse(&p,&m_buttons); + key = aChar; + keyX = (int)p.x; + keyY = (int)p.y; +setModifiers: + modifierKeys = 0; + uint32 beMod = Window()->CurrentMessage()->FindInt32("modifiers"); + if(beMod & B_SHIFT_KEY) + modifierKeys |= GLUT_ACTIVE_SHIFT; + if(beMod & B_CONTROL_KEY) + modifierKeys |= GLUT_ACTIVE_CTRL; + if(beMod & B_OPTION_KEY) { + // since the window traps B_COMMAND_KEY, we'll have to settle + // for the option key.. but we need to get the raw character, + // not the Unicode-enhanced version + key = Window()->CurrentMessage()->FindInt32("raw_char"); + modifierKeys |= GLUT_ACTIVE_ALT; + } + gBlock.NewEvent(); + } +} + +/*********************************************************** + * CLASS: GlutWindow + * * FUNCTION: MouseDown * * DESCRIPTION: handles mouse and menustatus events @@ -598,6 +748,35 @@ /*********************************************************** * CLASS: GlutWindow * + * FUNCTION: MessageReceived + * + * DESCRIPTION: handles mouse wheel events + ***********************************************************/ + +void GlutWindow::MessageReceived(BMessage *message) +{ + switch(message->what){ + case B_MOUSE_WHEEL_CHANGED: + { + float shift=0; + if(message->FindFloat("be:wheel_delta_y",&shift)==B_OK) { + if(shift>0)button = MOUSE_WHEEL_UP; + if(shift<0)button = MOUSE_WHEEL_DOWN; + if(shift!=0) { + anyevents = mouseEvent = true; + gBlock.NewEvent(); + } + } + break; + } + default: + break; + } +} + +/*********************************************************** + * CLASS: GlutWindow + * * FUNCTION: FrameResized * * DESCRIPTION: handles reshape event Modified: haiku/trunk/src/kits/opengl/glut/glutWindow.cpp =================================================================== --- haiku/trunk/src/kits/opengl/glut/glutWindow.cpp 2007-02-16 06:30:36 UTC (rev 20140) +++ haiku/trunk/src/kits/opengl/glut/glutWindow.cpp 2007-02-16 11:37:36 UTC (rev 20141) @@ -120,8 +120,10 @@ passive = 0; entry = 0; keyboard = 0; + keyboardUp = 0; visibility = 0; special = 0; + specialUp = 0; windowStatus = 0; // clear event counters @@ -133,9 +135,11 @@ passiveEvent = 0; entryEvent = 0; keybEvent = 0; + keybUpEvent = 0; windowStatusEvent = 0; // DirectConnected() will report change in visState = -1; // visibility specialEvent = 0; + specialUpEvent = 0; statusEvent = 0; menuEvent = 0; visible = true; Modified: haiku/trunk/src/kits/opengl/glut/glutWindow.h =================================================================== --- haiku/trunk/src/kits/opengl/glut/glutWindow.h 2007-02-16 06:30:36 UTC (rev 20140) +++ haiku/trunk/src/kits/opengl/glut/glutWindow.h 2007-02-16 11:37:36 UTC (rev 20141) @@ -31,8 +31,10 @@ public: GlutWindow(GlutWindow *nparent, char *name, int x, int y, int width, int height, ulong options); - + + virtual void MessageReceived(BMessage *message); void KeyDown(const char *bytes, int32 numBytes); + void KeyUp(const char *bytes, int32 numBytes); void MouseDown(BPoint point); void MouseMoved(BPoint point, uint32 transit, const BMessage *message); void FrameResized(float width, float height); @@ -63,8 +65,10 @@ GLUTpassiveCB passive; /* passive motion (x,y) */ GLUTentryCB entry; /* window entry/exit (state) */ GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */ + GLUTkeyboardCB keyboardUp; /* keyboard up (ASCII,x,y) */ GLUTvisibilityCB visibility; /* visibility */ GLUTspecialCB special; /* special key */ + GLUTspecialCB specialUp; /* special key up */ GLUTwindowStatusCB windowStatus; /* window status */ bool anyevents; // were any events received? @@ -75,8 +79,10 @@ bool passiveEvent; // call passive bool entryEvent; // call entry bool keybEvent; // call keyboard + bool keybUpEvent; // call keyboard bool windowStatusEvent; // call visibility bool specialEvent; // call special + bool specialUpEvent; // call special bool statusEvent; // menu status changed bool menuEvent; // menu selected Modified: haiku/trunk/src/kits/opengl/glut/glut_ext.c =================================================================== --- haiku/trunk/src/kits/opengl/glut/glut_ext.c 2007-02-16 06:30:36 UTC (rev 20140) +++ haiku/trunk/src/kits/opengl/glut/glut_ext.c 2007-02-16 11:37:36 UTC (rev 20141) @@ -123,8 +123,8 @@ { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc }, { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc }, { "glutWindowStatusFunc", (const GLUTproc) glutWindowStatusFunc }, -// { "glutKeyboardUpFunc", (const GLUTproc) glutKeyboardUpFunc }, -// { "glutSpecialUpFunc", (const GLUTproc) glutSpecialUpFunc }, + { "glutKeyboardUpFunc", (const GLUTproc) glutKeyboardUpFunc }, + { "glutSpecialUpFunc", (const GLUTproc) glutSpecialUpFunc }, // { "glutJoystickFunc", (const GLUTproc) glutJoystickFunc }, { "glutSetColor", (const GLUTproc) glutSetColor }, { "glutGetColor", (const GLUTproc) glutGetColor }, From phoudoin at mail.berlios.de Fri Feb 16 12:47:43 2007 From: phoudoin at mail.berlios.de (phoudoin at BerliOS) Date: Fri, 16 Feb 2007 12:47:43 +0100 Subject: [Haiku-commits] r20142 - haiku/trunk/src/apps/abouthaiku Message-ID: <200702161147.l1GBlhX5012895@sheep.berlios.de> Author: phoudoin Date: 2007-02-16 12:47:40 +0100 (Fri, 16 Feb 2007) New Revision: 20142 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20142&view=rev Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp Log: Append Troeglazov "3dEyes**" Gerasim to contributors list. Modified: haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp =================================================================== --- haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-16 11:37:36 UTC (rev 20141) +++ haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp 2007-02-16 11:47:40 UTC (rev 20142) @@ -382,6 +382,7 @@ "Cian Duffy\n" "Marc Flerackers\n" "Daniel Furrer\n" + "Troeglazov Gerasim\n" "Matthijs Hollemans\n" "Erik Jaesler\n" "Carwyn Jones\n" From bonefish at cs.tu-berlin.de Fri Feb 16 13:23:21 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Fri, 16 Feb 2007 13:23:21 +0100 Subject: [Haiku-commits] r20142 - haiku/trunk/src/apps/abouthaiku In-Reply-To: <200702161147.l1GBlhX5012895@sheep.berlios.de> References: <200702161147.l1GBlhX5012895@sheep.berlios.de> Message-ID: <20070216132321.1779.3@cs.tu-berlin.de> On 2007-02-16 at 12:47:43 [+0100], phoudoin at BerliOS wrote: > Author: phoudoin > Date: 2007-02-16 12:47:40 +0100 (Fri, 16 Feb 2007) > New Revision: 20142 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20142&view=rev > > Modified: > haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp > Log: > Append Troeglazov "3dEyes**" Gerasim to contributors list. You sure you didn't swap first and surname? CU, Ingo From philippe.houdoin at free.fr Fri Feb 16 16:46:55 2007 From: philippe.houdoin at free.fr (Philippe Houdoin) Date: Fri, 16 Feb 2007 16:46:55 +0100 Subject: [Haiku-commits] r20142 - haiku/trunk/src/apps/abouthaiku Message-ID: <1171640815.45d5d1efe5b22@imp.free.fr> >> Modified: >> haiku/trunk/src/apps/abouthaiku/AboutHaiku.cpp >> Log: >> Append Troeglazov "3dEyes**" Gerasim to contributors list. > > You sure you didn't swap first and surname? Nope. Now that you said that, I think I did, indeed. That's why nicknames are great too :-) - Philippe From bonefish at mail.berlios.de Fri Feb 16 17:45:33 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 16 Feb 2007 17:45:33 +0100 Subject: [Haiku-commits] r20143 - haiku/trunk/src/tests/system/consoled Message-ID: <200702161645.l1GGjXnO016106@sheep.berlios.de> Author: bonefish Date: 2007-02-16 17:45:33 +0100 (Fri, 16 Feb 2007) New Revision: 20143 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20143&view=rev Modified: haiku/trunk/src/tests/system/consoled/Jamfile Log: Don't link against libbe.so anymore. This is only necessary for the version using the input server. Modified: haiku/trunk/src/tests/system/consoled/Jamfile =================================================================== --- haiku/trunk/src/tests/system/consoled/Jamfile 2007-02-16 11:47:40 UTC (rev 20142) +++ haiku/trunk/src/tests/system/consoled/Jamfile 2007-02-16 16:45:33 UTC (rev 20143) @@ -3,6 +3,4 @@ UsePrivateHeaders kernel ; UseHeaders [ FDirName $(HAIKU_TOP) src apps terminal ] ; -Application consoled : - consoled.cpp - : libroot.so libbe.so ; +Application consoled : consoled.cpp ; From bonefish at mail.berlios.de Fri Feb 16 17:53:45 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 16 Feb 2007 17:53:45 +0100 Subject: [Haiku-commits] r20144 - haiku/trunk/src/kits/app Message-ID: <200702161653.l1GGrjhp016485@sheep.berlios.de> Author: bonefish Date: 2007-02-16 17:53:45 +0100 (Fri, 16 Feb 2007) New Revision: 20144 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20144&view=rev Modified: haiku/trunk/src/kits/app/Roster.cpp Log: The BRoster initialization (contacting the registrar) can now time out (generous 1s for delivery and for reply). This allows for the registrar main thread to be debugged. Before the libbe initialization in gdb would block, since it constructed the global be_roster which waited forever for a reply from the registrar. Modified: haiku/trunk/src/kits/app/Roster.cpp =================================================================== --- haiku/trunk/src/kits/app/Roster.cpp 2007-02-16 16:45:33 UTC (rev 20143) +++ haiku/trunk/src/kits/app/Roster.cpp 2007-02-16 16:53:45 UTC (rev 20144) @@ -2416,11 +2416,17 @@ port_info info; if (rosterPort >= 0 && get_port_info(rosterPort, &info) == B_OK) { DBG(OUT(" found roster port\n")); - // ask for the MIME messenger + BMessenger::Private(fMessenger).SetTo(info.team, rosterPort, B_PREFERRED_TOKEN); + + // ask for the MIME messenger + // Generous 1s + 1s timeouts. It could actually be synchronous, but + // timeouts allow us to debug the registrar main thread. + BMessage request(B_REG_GET_MIME_MESSENGER); BMessage reply; - status_t error = fMessenger.SendMessage(B_REG_GET_MIME_MESSENGER, &reply); + status_t error = fMessenger.SendMessage(&request, &reply, 1000000LL, + 1000000LL); if (error == B_OK && reply.what == B_REG_SUCCESS) { DBG(OUT(" got reply from roster\n")); reply.FindMessenger("messenger", &fMimeMessenger); @@ -2429,6 +2435,7 @@ strerror(error))); if (error == B_OK) DBG(reply.PrintToStream()); + fMessenger = BMessenger(); } } DBG(OUT("BRoster::InitMessengers() done\n")); From bonefish at mail.berlios.de Fri Feb 16 18:03:34 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 16 Feb 2007 18:03:34 +0100 Subject: [Haiku-commits] r20145 - haiku/trunk/src/servers/debug Message-ID: <200702161703.l1GH3Yjn017028@sheep.berlios.de> Author: bonefish Date: 2007-02-16 18:03:34 +0100 (Fri, 16 Feb 2007) New Revision: 20145 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20145&view=rev Modified: haiku/trunk/src/servers/debug/DebugServer.cpp Log: * All "GUI servers" (app server, input server, and registrar) will now be debugged automatically in a consoled session, when they crash. Note, that after a recoverable error (like a debugger() call) one can "detach" the debugged team in gdb, "quit", and continue as if nothing happened. 8-O * The input server will no longer be killed when starting the debugger in a consoled session. Not sure why it was done; it simply works as it is now. * Replaced all printf()s and fprintf()s by debug_printf() or TRACE(()). The debug server prints little enough anyway. In fact only when something crashes or an unexpected error occurs. Modified: haiku/trunk/src/servers/debug/DebugServer.cpp =================================================================== --- haiku/trunk/src/servers/debug/DebugServer.cpp 2007-02-16 16:53:45 UTC (rev 20144) +++ haiku/trunk/src/servers/debug/DebugServer.cpp 2007-02-16 17:03:34 UTC (rev 20145) @@ -29,7 +29,7 @@ //#define TRACE_DEBUG_SERVER #ifdef TRACE_DEBUG_SERVER -# define TRACE(x) printf x +# define TRACE(x) debug_printf x #else # define TRACE(x) ; #endif @@ -54,15 +54,15 @@ if (!appName) { status_t error = get_team_info(team, &info); if (error != B_OK) { - printf("debug_server: KillTeam(): Error getting info for team %ld: " - "%s\n", team, strerror(error)); + debug_printf("debug_server: KillTeam(): Error getting info for " + "team %ld: %s\n", team, strerror(error)); info.args[0] = '\0'; } appName = info.args; } - printf("debug_server: Killing team %ld (%s)\n", team, appName); + debug_printf("debug_server: Killing team %ld (%s)\n", team, appName); kill_team(team); } @@ -328,15 +328,15 @@ // get the team info for the team status_t error = get_team_info(fTeam, &fTeamInfo); if (error != B_OK) { - printf("debug_server: TeamDebugHandler::Init(): Failed to get info " - "for team %ld: %s\n", fTeam, strerror(error)); + debug_printf("debug_server: TeamDebugHandler::Init(): Failed to get " + "info for team %ld: %s\n", fTeam, strerror(error)); return error; } // get the executable path error = BPrivate::get_app_path(fTeam, fExecutablePath); if (error != B_OK) { - printf("debug_server: TeamDebugHandler::Init(): Failed to get " + debug_printf("debug_server: TeamDebugHandler::Init(): Failed to get " "executable path of team %ld: %s\n", fTeam, strerror(error)); fExecutablePath[0] = '\0'; @@ -345,7 +345,7 @@ // init a debug context for the handler error = init_debug_context(&fDebugContext, fTeam, nubPort); if (error != B_OK) { - printf("debug_server: TeamDebugHandler::Init(): Failed to init " + debug_printf("debug_server: TeamDebugHandler::Init(): Failed to init " "debug context for team %ld, port %ld: %s\n", fTeam, nubPort, strerror(error)); return error; @@ -356,7 +356,7 @@ snprintf(name, sizeof(name), "team %ld message count", fTeam); fMessageCountSem = create_sem(0, name); if (fMessageCountSem < 0) { - printf("debug_server: TeamDebugHandler::Init(): Failed to create " + debug_printf("debug_server: TeamDebugHandler::Init(): Failed to create " "message count semaphore: %s\n", strerror(fMessageCountSem)); return fMessageCountSem; } @@ -366,7 +366,7 @@ fHandlerThread = spawn_thread(&_HandlerThreadEntry, name, B_NORMAL_PRIORITY, this); if (fHandlerThread < 0) { - printf("debug_server: TeamDebugHandler::Init(): Failed to spawn " + debug_printf("debug_server: TeamDebugHandler::Init(): Failed to spawn " "handler thread: %s\n", strerror(fHandlerThread)); return fHandlerThread; } @@ -425,21 +425,8 @@ TRACE(("debug_server: TeamDebugHandler::_EnterDebugger(): team %ld\n", fTeam)); - bool debugInConsoled = _IsAppServer(); + bool debugInConsoled = _IsGUIServer() || !_AreGUIServersAlive(); - if (debugInConsoled) { - TRACE(("debug_server: TeamDebugHandler::_EnterDebugger(): team %ld is " - "the app server. Killing input_server...\n", fTeam)); - - // kill the input server - team_id isTeam = _FindTeam("input_server"); - if (isTeam >= 0) { - printf("debug_server: preparing for debugging the app server: " - "killing the input server\n"); - kill_team(isTeam); - } - } - // prepare a debugger handover TRACE(("debug_server: TeamDebugHandler::_EnterDebugger(): preparing " "debugger handover for team %ld...\n", fTeam)); @@ -447,7 +434,7 @@ status_t error = send_debug_message(&fDebugContext, B_DEBUG_MESSAGE_PREPARE_HANDOVER, NULL, 0, NULL, 0); if (error != B_OK) { - printf("debug_server: Failed to prepare debugger handover: %s\n", + debug_printf("debug_server: Failed to prepare debugger handover: %s\n", strerror(error)); return error; } @@ -482,7 +469,7 @@ thread_id thread = load_image(argc, argv, (const char**)environ); if (thread < 0) { - printf("debug_server: Failed to start consoled + gdb: %s\n", + debug_printf("debug_server: Failed to start consoled + gdb: %s\n", strerror(thread)); return thread; } @@ -519,7 +506,7 @@ switch (message->Code()) { case B_DEBUGGER_MESSAGE_TEAM_DELETED: // This shouldn't happen. - printf("debug_server: Got a spurious " + debug_printf("debug_server: Got a spurious " "B_DEBUGGER_MESSAGE_TEAM_DELETED message for team %ld\n", fTeam); return true; @@ -556,7 +543,7 @@ break; } - printf("debug_server: Thread %ld entered the debugger: %s\n", thread, + debug_printf("debug_server: Thread %ld entered the debugger: %s\n", thread, buffer); _PrintStackTrace(thread); @@ -565,10 +552,8 @@ // ask the user whether to debug or kill the team if (_IsGUIServer()) { - // App or input server. If it's the app server, we'll try to debug it. - kill = !(_IsAppServer() && strlen(fExecutablePath) > 0); - debug_printf("*** GUI server died: thread %ld, %s: %s\n", thread, fExecutablePath, buffer); - // TODO: for now, so that we know what's going on + // App server, input server, or registrar. We always debug those. + kill = !(strlen(fExecutablePath) > 0); } else if (USE_GUI && _AreGUIServersAlive() && _InitGUI() == B_OK) { // normal app @@ -666,8 +651,8 @@ error = debug_create_symbol_lookup_context(&fDebugContext, &lookupContext); if (error != B_OK) { - printf("debug_server: Failed to create symbol lookup context: %s\n", - strerror(error)); + debug_printf("debug_server: Failed to create symbol lookup " + "context: %s\n", strerror(error)); } // lookup the IP @@ -675,7 +660,7 @@ _LookupSymbolAddress(lookupContext, ip, symbolBuffer, sizeof(symbolBuffer) - 1); - printf("stack trace, current PC %p %s:\n", ip, symbolBuffer); + debug_printf("stack trace, current PC %p %s:\n", ip, symbolBuffer); for (int32 i = 0; i < 50; i++) { debug_stack_frame_info stackFrameInfo; @@ -689,7 +674,7 @@ _LookupSymbolAddress(lookupContext, stackFrameInfo.return_address, symbolBuffer, sizeof(symbolBuffer) - 1); - printf(" (%p) %p %s\n", stackFrameInfo.frame, + debug_printf(" (%p) %p %s\n", stackFrameInfo.frame, stackFrameInfo.return_address, symbolBuffer); stackFrameAddress = stackFrameInfo.parent_frame; @@ -746,8 +731,8 @@ kill = _HandleMessage(message); delete message; } else { - printf("TeamDebugHandler::_HandlerThread(): Failed to pop initial " - "message: %s", strerror(error)); + debug_printf("TeamDebugHandler::_HandlerThread(): Failed to pop " + "initial message: %s", strerror(error)); kill = true; } @@ -763,8 +748,8 @@ do { error = _PopMessage(message); if (error != B_OK) { - printf("TeamDebugHandler::_HandlerThread(): Failed to pop " - "message: %s", strerror(error)); + debug_printf("TeamDebugHandler::_HandlerThread(): Failed to " + "pop message: %s", strerror(error)); kill = true; break; } @@ -784,8 +769,8 @@ thread_info threadInfo; if (get_thread_info(debuggerThread, &threadInfo) != B_OK) { // the debugger is gone - printf("debug_server: The debugger for team %ld seems to " - "be gone.", fTeam); + debug_printf("debug_server: The debugger for team %ld " + "seems to be gone.", fTeam); kill = true; terminate = true; @@ -948,8 +933,8 @@ } while (bytesRead == B_INTERRUPTED); if (bytesRead < 0) { - fprintf(stderr, "debug_server: Failed to read from listener port: " - "%s\n", strerror(bytesRead)); + debug_printf("debug_server: Failed to read from listener port: " + "%s. Terminating!\n", strerror(bytesRead)); exit(1); } TRACE(("debug_server: Got debug message: team: %ld, code: %ld\n", @@ -976,7 +961,7 @@ // for the time being let the debug server print to the syslog int console = open("/dev/dprintf", O_RDONLY); if (console < 0) { - fprintf(stderr, "debug_server: Failed to open console: %s\n", + debug_printf("debug_server: Failed to open console: %s\n", strerror(errno)); } dup2(console, STDOUT_FILENO); @@ -985,7 +970,7 @@ // create the team debug handler roster if (!TeamDebugHandlerRoster::CreateDefault()) { - fprintf(stderr, "debug_server: Failed to create team debug handler " + debug_printf("debug_server: Failed to create team debug handler " "roster.\n"); exit(1); } @@ -993,7 +978,7 @@ // create application DebugServer server(error); if (error != B_OK) { - fprintf(stderr, "debug_server: Failed to create BApplication: %s\n", + debug_printf("debug_server: Failed to create BApplication: %s\n", strerror(error)); exit(1); } @@ -1001,7 +986,7 @@ // init application error = server.Init(); if (error != B_OK) { - fprintf(stderr, "debug_server: Failed to init application: %s\n", + debug_printf("debug_server: Failed to init application: %s\n", strerror(error)); exit(1); } From mmu_man at mail.berlios.de Sat Feb 17 00:40:58 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Sat, 17 Feb 2007 00:40:58 +0100 Subject: [Haiku-commits] r20146 - in haiku/trunk: headers/os/media src/kits/media Message-ID: <200702162340.l1GNewAQ017391@sheep.berlios.de> Author: mmu_man Date: 2007-02-17 00:40:49 +0100 (Sat, 17 Feb 2007) New Revision: 20146 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20146&view=rev Modified: haiku/trunk/headers/os/media/ParameterWeb.h haiku/trunk/src/kits/media/ParameterWeb.cpp Log: Added a stub BTextParameter as in Dano, I'd need that for ESDSink at least. Modified: haiku/trunk/headers/os/media/ParameterWeb.h =================================================================== --- haiku/trunk/headers/os/media/ParameterWeb.h 2007-02-16 17:03:34 UTC (rev 20145) +++ haiku/trunk/headers/os/media/ParameterWeb.h 2007-02-16 23:40:49 UTC (rev 20146) @@ -85,6 +85,7 @@ class BNullParameter; class BContinuousParameter; class BDiscreteParameter; +class BTextParameter; /* Set these flags on parameters and groups to control how a Theme will */ @@ -192,6 +193,12 @@ media_type m_type, const char * name, const char * kind); + BTextParameter * MakeTextParameter( + int32 id, + media_type m_type, + const char * name, + const char * kind, + size_t max_bytes); BParameterGroup * MakeGroup( const char * name); @@ -253,7 +260,8 @@ { B_NULL_PARAMETER, B_DISCRETE_PARAMETER, - B_CONTINUOUS_PARAMETER + B_CONTINUOUS_PARAMETER, + B_TEXT_PARAMETER }; media_parameter_type Type() const; @@ -307,6 +315,7 @@ friend class BNullParameter; friend class BContinuousParameter; friend class BDiscreteParameter; + friend class BTextParameter; friend class BParameterGroup; friend class BParameterWeb; @@ -520,4 +529,43 @@ }; +class BTextParameter : + public BParameter +{ +public: + + size_t MaxBytes() const; +virtual type_code ValueType(); + +virtual ssize_t FlattenedSize() const; +virtual status_t Flatten(void *buffer, ssize_t size) const; +virtual status_t Unflatten(type_code c, const void *buf, ssize_t size); + +private: + /* Mmmh, stuffing! */ +virtual status_t _Reserved_TextParameter_0(void *); +virtual status_t _Reserved_TextParameter_1(void *); +virtual status_t _Reserved_TextParameter_2(void *); +virtual status_t _Reserved_TextParameter_3(void *); +virtual status_t _Reserved_TextParameter_4(void *); +virtual status_t _Reserved_TextParameter_5(void *); +virtual status_t _Reserved_TextParameter_6(void *); +virtual status_t _Reserved_TextParameter_7(void *); + + friend class BParameterGroup; + + uint32 mMaxBytes; + uint32 _reserved_control_junction_[8]; + + BTextParameter( + int32 id, + media_type m_type, + BParameterWeb * web, + const char * name, + const char * kind, + size_t max_bytes); + ~BTextParameter(); + +}; + #endif /* _CONTROL_WEB_H */ Modified: haiku/trunk/src/kits/media/ParameterWeb.cpp =================================================================== --- haiku/trunk/src/kits/media/ParameterWeb.cpp 2007-02-16 17:03:34 UTC (rev 20145) +++ haiku/trunk/src/kits/media/ParameterWeb.cpp 2007-02-16 23:40:49 UTC (rev 20146) @@ -782,6 +782,21 @@ } +BTextParameter * +BParameterGroup::MakeTextParameter(int32 id, media_type mediaType, const char *name, + const char *kind, size_t max_bytes) +{ + CALLED(); + ASSERT(mControls != NULL); + + BTextParameter *parameter = new BTextParameter(id, mediaType, mWeb, name, kind, max_bytes); + parameter->mGroup = this; + mControls->AddItem(parameter); + + return parameter; +} + + BContinuousParameter * BParameterGroup::MakeContinuousParameter(int32 id, media_type mediaType, const char *name, const char *kind, const char *unit, @@ -1246,6 +1261,9 @@ case BParameter::B_CONTINUOUS_PARAMETER: return new BContinuousParameter(-1, B_MEDIA_NO_TYPE, NULL, NULL, NULL, NULL, 0, 0, 0); + case BParameter::B_TEXT_PARAMETER: + return new BTextParameter(-1, B_MEDIA_NO_TYPE, NULL, NULL, NULL, NULL); + default: ERROR("BParameterGroup::MakeControl unknown type %ld\n", type); return NULL; @@ -2387,6 +2405,125 @@ // #pragma mark - + +/************************************************************* + * public BTextParameter + *************************************************************/ + + +size_t +BTextParameter::MaxBytes() const +{ + // NULL parameters have no value type + return mMaxBytes; +} + + +type_code +BTextParameter::ValueType() +{ + // NULL parameters have no value type + return 0; +} + + +ssize_t +BTextParameter::FlattenedSize() const +{ + return BParameter::FlattenedSize() + sizeof(mMaxBytes); +} + + +status_t +BTextParameter::Flatten(void *buffer, ssize_t size) const +{ + if (buffer == NULL) { + ERROR("BTextParameter::Flatten(): buffer is NULL\n"); + return B_NO_INIT; + } + + ssize_t parameterSize = BParameter::FlattenedSize(); + if (size < static_cast(parameterSize + sizeof(mMaxBytes))) { + ERROR("BContinuousParameter::Flatten(): size to small\n"); + return B_NO_MEMORY; + } + + status_t status = BParameter::Flatten(buffer, size); + if (status != B_OK) { + ERROR("BTextParameter::Flatten(): BParameter::Flatten() failed\n"); + return status; + } + + // add our data to the general flattened BParameter + + skip_in_buffer(&buffer, parameterSize); + + write_to_buffer(&buffer, mMaxBytes); + + return B_OK; +} + + +status_t +BTextParameter::Unflatten(type_code code, const void *buffer, ssize_t size) +{ + // we try to check if the buffer size is long enough to hold an object + // as early as possible. + + if (!AllowsTypeCode(code)) { + ERROR("BTextParameter::Unflatten wrong type code\n"); + return B_BAD_TYPE; + } + + if (buffer == NULL) { + ERROR("BTextParameter::Unflatten buffer is NULL\n"); + return B_NO_INIT; + } + + if (size < static_cast(sizeof(mMaxBytes))) { + ERROR("BTextParameter::Unflatten size too small\n"); + return B_ERROR; + } + + status_t status = BParameter::Unflatten(code, buffer, size); + if (status != B_OK) { + ERROR("BTextParameter::Unflatten(): BParameter::Unflatten failed\n"); + return status; + } + + ssize_t parameterSize = BParameter::FlattenedSize(); + skip_in_buffer(&buffer, parameterSize); + + if (size < static_cast(parameterSize + sizeof(mMaxBytes))) { + ERROR("BTextParameter::Unflatten(): buffer too small\n"); + return B_BAD_VALUE; + } + + mMaxBytes = read_from_buffer_swap32(&buffer, SwapOnUnflatten()); + + return B_OK; +} + + +/************************************************************* + * private BTextParameter + *************************************************************/ + + +BTextParameter::BTextParameter(int32 id, media_type mediaType, BParameterWeb *web, + const char *name, const char *kind, size_t max_bytes) + : BParameter(id, mediaType, B_NULL_PARAMETER, web, name, kind, NULL) +{ + mMaxBytes = max_bytes; +} + + +BTextParameter::~BTextParameter() +{ +} + + +// #pragma mark - // reserved functions @@ -2444,4 +2581,13 @@ status_t BNullParameter::_Reserved_NullParameter_6(void *) { return B_ERROR; } status_t BNullParameter::_Reserved_NullParameter_7(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_0(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_1(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_2(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_3(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_4(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_5(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_6(void *) { return B_ERROR; } +status_t BTextParameter::_Reserved_TextParameter_7(void *) { return B_ERROR; } + From jackburton at mail.berlios.de Sat Feb 17 14:35:41 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Sat, 17 Feb 2007 14:35:41 +0100 Subject: [Haiku-commits] r20147 - haiku/trunk/src/apps/terminal Message-ID: <200702171335.l1HDZf4e026800@sheep.berlios.de> Author: jackburton Date: 2007-02-17 14:35:40 +0100 (Sat, 17 Feb 2007) New Revision: 20147 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20147&view=rev Modified: haiku/trunk/src/apps/terminal/TermView.cpp Log: patch by Vasilis Kaoutsis: removed the use of goto Modified: haiku/trunk/src/apps/terminal/TermView.cpp =================================================================== --- haiku/trunk/src/apps/terminal/TermView.cpp 2007-02-16 23:40:49 UTC (rev 20146) +++ haiku/trunk/src/apps/terminal/TermView.cpp 2007-02-17 13:35:40 UTC (rev 20147) @@ -2229,52 +2229,54 @@ offset = (selectionstart.y) * fTermColumns + selectionstart.x; } -restart: - //Actual search - if (forwardSearch) { - if (matchCase) { - result = buffer.FindFirst(str, offset); + for (;;) { + //Actual search + if (forwardSearch) { + if (matchCase) + result = buffer.FindFirst(str, offset); + else + result = buffer.IFindFirst(str, offset); } else { - result = buffer.IFindFirst(str, offset); + if (matchCase) + result = buffer.FindLast(str, offset); + else + result = buffer.IFindLast(str, offset); } - } else { - if (matchCase) { - result = buffer.FindLast(str, offset); - } else { - result = buffer.IFindLast(str, offset); - } - } - if (result == B_ERROR) { //Wrap search like Be's Terminal - if (forwardSearch) { - if (matchCase) { - result = buffer.FindFirst(str, 0); + + if (result == B_ERROR) { //Wrap search like Be's Terminal + if (forwardSearch) { + if (matchCase) + result = buffer.FindFirst(str, 0); + else + result = buffer.IFindFirst(str, 0); } else { - result = buffer.IFindFirst(str, 0); + if (matchCase) + result = buffer.FindLast(str, buffer.Length()); + else + result = buffer.IFindLast(str, buffer.Length()); } - } else { - if (matchCase) { - result = buffer.FindLast(str, buffer.Length()); - } else { - result = buffer.IFindLast(str, buffer.Length()); - } } - } + + if (result < 0) + return false; - if (result < 0) - return false; - - if (matchWord) { - if (isalnum(buffer.ByteAt(result - 1)) || isalnum(buffer.ByteAt(result + str.Length()))) { - if (initialresult == -1) //Set the initial offset to the first result to aid word matching - initialresult = result; - else if (initialresult == result) //We went round the buffer, nothing found - return false; - if (forwardSearch) - offset = result + str.Length(); + if (matchWord) { + if (isalnum(buffer.ByteAt(result - 1)) || isalnum(buffer.ByteAt(result + str.Length()))) { + if (initialresult == -1) //Set the initial offset to the first result to aid word matching + initialresult = result; + else if (initialresult == result) //We went round the buffer, nothing found + return false; + if (forwardSearch) + offset = result + str.Length(); + else + offset = result; + continue; + } else - offset = result; - goto restart; + break; } + else + break; } //Select the found text From marcusoverhagen at mail.berlios.de Sat Feb 17 23:42:17 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sat, 17 Feb 2007 23:42:17 +0100 Subject: [Haiku-commits] r20148 - haiku/trunk/build/jam Message-ID: <200702172242.l1HMgHZs006783@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-17 23:42:16 +0100 (Sat, 17 Feb 2007) New Revision: 20148 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20148&view=rev Modified: haiku/trunk/build/jam/KernelRules haiku/trunk/build/jam/OverriddenJamRules Log: Force recreation of *.a archives to avoid build errors caused by stale dependencies after renaming or deleting object files. This will avoid link error like the one that was caused by the recent mesa update. Modified: haiku/trunk/build/jam/KernelRules =================================================================== --- haiku/trunk/build/jam/KernelRules 2007-02-17 13:35:40 UTC (rev 20147) +++ haiku/trunk/build/jam/KernelRules 2007-02-17 22:42:16 UTC (rev 20148) @@ -154,5 +154,8 @@ actions KernelStaticLibraryObjects { + # Force recreation of the archive to avoid build errors caused by + # stale dependencies after renaming or deleting object files. + $(RM) "$(1)" $(HAIKU_AR) -r "$(1)" "$(2)" ; } Modified: haiku/trunk/build/jam/OverriddenJamRules =================================================================== --- haiku/trunk/build/jam/OverriddenJamRules 2007-02-17 13:35:40 UTC (rev 20147) +++ haiku/trunk/build/jam/OverriddenJamRules 2007-02-17 22:42:16 UTC (rev 20148) @@ -357,6 +357,14 @@ $(C++) -c "$(2)" $(C++FLAGS) $(CCDEFS) $(CCHDRS) -o "$(1)" ; } +actions together Archive +{ + # Force recreation of the archive to avoid build errors caused by + # stale dependencies after renaming or deleting object files. + $(RM) $(<) + $(AR) $(<) $(>) +} + rule Library { local lib = $(1) ; From marcusoverhagen at mail.berlios.de Sat Feb 17 23:58:00 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sat, 17 Feb 2007 23:58:00 +0100 Subject: [Haiku-commits] r20149 - in haiku/trunk: headers/os/drivers src/add-ons/kernel/bus_managers/pci Message-ID: <200702172258.l1HMw0YP009064@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-17 23:57:59 +0100 (Sat, 17 Feb 2007) New Revision: 20149 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20149&view=rev Modified: haiku/trunk/headers/os/drivers/PCI.h haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci.cpp haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_module.c haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_priv.h Log: Added support function to find a PCI capability offset in the configuration data, needed for SATA support. Modified: haiku/trunk/headers/os/drivers/PCI.h =================================================================== --- haiku/trunk/headers/os/drivers/PCI.h 2007-02-17 22:42:16 UTC (rev 20148) +++ haiku/trunk/headers/os/drivers/PCI.h 2007-02-17 22:57:59 UTC (rev 20149) @@ -147,6 +147,14 @@ ); void * (*ram_address) (const void *physical_address_in_system_memory); + + status_t (*find_pci_capability) ( + uchar bus, + uchar device, + uchar function, + uchar cap_id, + uchar *offset + ); }; #define B_PCI_MODULE_NAME "bus_managers/pci/v1" @@ -617,6 +625,7 @@ #define PCI_cap_id_debugport 0x0a #define PCI_cap_id_cpci_rsrcctl 0x0b #define PCI_cap_id_hotplug 0x0c +#define PCI_cap_id_sata 0x12 /* Serial ATA Capability */ /** Power Management Control Status Register settings */ #define PCI_pm_mask 0x03 Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci.cpp 2007-02-17 22:42:16 UTC (rev 20148) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci.cpp 2007-02-17 22:57:59 UTC (rev 20149) @@ -64,6 +64,64 @@ } +status_t +pci_find_capability(uchar bus, uchar device, uchar function, uchar cap_id, uchar *offset) +{ + uint16 status; + uint8 header_type; + uint8 cap_ptr; + int i; + + if (!offset) { + dprintf("find_pci_capability: ERROR %02x:%02x:%02x cap %02x offset NULL pointer\n", bus, device, function, cap_id); + return B_BAD_VALUE; + } + + status = pci_read_config(bus, device, function, PCI_status, 2); + if (!(status & PCI_status_capabilities)) { + dprintf("find_pci_capability: ERROR %02x:%02x:%02x cap %02x not supported\n", bus, device, function, cap_id); + return B_ERROR; + } + + header_type = pci_read_config(bus, device, function, PCI_header_type, 1); + switch (header_type & PCI_header_type_mask) { + case PCI_header_type_generic: + case PCI_header_type_PCI_to_PCI_bridge: + cap_ptr = pci_read_config(bus, device, function, PCI_capabilities_ptr, 1); + break; + case PCI_header_type_cardbus: + cap_ptr = pci_read_config(bus, device, function, PCI_capabilities_ptr_2, 1); + break; + default: + dprintf("find_pci_capability: ERROR %02x:%02x:%02x cap %02x unknown header type\n", bus, device, function, cap_id); + return B_ERROR; + } + + cap_ptr &= ~3; + if (!cap_ptr) { + dprintf("find_pci_capability: ERROR %02x:%02x:%02x cap %02x empty list\n", bus, device, function, cap_id); + return B_NAME_NOT_FOUND; + } + + for (i = 0; i < 48; i++) { + uint8 this_cap_id = pci_read_config(bus, device, function, cap_ptr, 1); + if (this_cap_id == cap_id) { + *offset = cap_ptr; + return B_OK; + } + + cap_ptr = pci_read_config(bus, device, function, cap_ptr + 1, 1); + cap_ptr &= ~3; + + if (!cap_ptr) + return B_NAME_NOT_FOUND; + } + + dprintf("find_pci_capability: ERROR %02x:%02x:%02x cap %02x circular list\n", bus, device, function, cap_id); + return B_ERROR; +} + + // #pragma mark bus manager init/uninit status_t Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_module.c =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_module.c 2007-02-17 22:42:16 UTC (rev 20148) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_module.c 2007-02-17 22:57:59 UTC (rev 20149) @@ -221,7 +221,8 @@ &pci_get_nth_pci_info, &pci_read_config, &pci_write_config, - &pci_ram_address + &pci_ram_address, + &pci_find_capability }; static struct pci_root_info sPCIModule = { Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_priv.h =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_priv.h 2007-02-17 22:42:16 UTC (rev 20148) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_priv.h 2007-02-17 22:57:59 UTC (rev 20149) @@ -41,8 +41,10 @@ extern "C" { #endif -void *pci_ram_address(const void *physical_address_in_system_memory); +void * pci_ram_address(const void *physical_address_in_system_memory); +status_t pci_find_capability(uchar bus, uchar device, uchar function, uchar cap_id, uchar *offset); + status_t pci_io_init(void); uint8 pci_read_io_8(int mapped_io_addr); void pci_write_io_8(int mapped_io_addr, uint8 value); From marcusoverhagen at mail.berlios.de Sun Feb 18 00:24:40 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sun, 18 Feb 2007 00:24:40 +0100 Subject: [Haiku-commits] r20150 - haiku/trunk/src/add-ons/kernel/bus_managers/pci Message-ID: <200702172324.l1HNOeQe011664@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-18 00:24:40 +0100 (Sun, 18 Feb 2007) New Revision: 20150 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20150&view=rev Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp Log: added SATA capability to debug output Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp 2007-02-17 22:57:59 UTC (rev 20149) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp 2007-02-17 23:24:40 UTC (rev 20150) @@ -244,6 +244,8 @@ return "cpci_rsrcctl"; case PCI_cap_id_hotplug: return "HotPlug"; + case PCI_cap_id_sata: + return "SATA"; default: return NULL; } From marcusoverhagen at mail.berlios.de Sun Feb 18 01:18:13 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sun, 18 Feb 2007 01:18:13 +0100 Subject: [Haiku-commits] r20151 - in haiku/trunk: headers/os/drivers/bus src/add-ons/kernel/bus_managers/pci Message-ID: <200702180018.l1I0IDrC026297@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-18 01:18:13 +0100 (Sun, 18 Feb 2007) New Revision: 20151 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20151&view=rev Modified: haiku/trunk/headers/os/drivers/bus/PCI.h haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_device.c Log: added PCI capability support to bus api Modified: haiku/trunk/headers/os/drivers/bus/PCI.h =================================================================== --- haiku/trunk/headers/os/drivers/bus/PCI.h 2007-02-17 23:24:40 UTC (rev 20150) +++ haiku/trunk/headers/os/drivers/bus/PCI.h 2007-02-18 00:18:13 UTC (rev 20151) @@ -112,7 +112,10 @@ status_t (*release_ioports)( uint16 ioport_base, size_t len );*/ status_t (*get_pci_info)(pci_device device, struct pci_info *info); - + + status_t (*find_pci_capability)(pci_device device, + uchar cap_id, + uchar *offset); } pci_device_module_info; Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_device.c =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_device.c 2007-02-17 23:24:40 UTC (rev 20150) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_device.c 2007-02-18 00:18:13 UTC (rev 20151) @@ -117,6 +117,14 @@ } +static status_t +pci_device_find_capability(pci_device device, uchar cap_id, uchar *offset) +{ + return pci_find_capability(device->bus, device->device, + device->function, cap_id, offset); +} + + static status_t pci_device_init_driver(device_node_handle node, void *user_cookie, void **cookie) { @@ -226,4 +234,6 @@ pci_device_ram_address, pci_device_get_pci_info, + + pci_device_find_capability }; From marcusoverhagen at mail.berlios.de Sun Feb 18 01:19:06 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sun, 18 Feb 2007 01:19:06 +0100 Subject: [Haiku-commits] r20152 - haiku/trunk/src/add-ons/kernel/busses/ide/ahci Message-ID: <200702180019.l1I0J6Op026484@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-18 01:19:06 +0100 (Sun, 18 Feb 2007) New Revision: 20152 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20152&view=rev Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c Log: print satacap 0 and 1 registers Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 00:18:13 UTC (rev 20151) +++ haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 00:19:06 UTC (rev 20152) @@ -158,12 +158,21 @@ uint32 mmio_base; uint16 device_id; uint8 int_num; + uint8 cap_ofs; int asic_index; int chan_index; status_t res; TRACE("controller_probe\n"); + res = pci->find_pci_capability(device, PCI_cap_id_sata, &cap_ofs); + if (res == B_OK) { + TRACE("PCI SATA capability found at offset 0x%x\n", cap_ofs); + uint32 satacr0 = pci->read_pci_config(device, cap_ofs, 4); + uint32 satacr1 = pci->read_pci_config(device, cap_ofs + 4, 4); + TRACE("satacr0 = 0x%08x, satacr1 = 0x%08x\n", satacr0, satacr1); + } + return B_ERROR; if (dm->init_driver(parent, NULL, (driver_module_info **)&pci, (void **)&device) != B_OK) From marcusoverhagen at mail.berlios.de Sun Feb 18 01:51:10 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sun, 18 Feb 2007 01:51:10 +0100 Subject: [Haiku-commits] r20153 - haiku/trunk/src/add-ons/kernel/busses/ide/ahci Message-ID: <200702180051.l1I0pAOZ028763@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-18 01:51:10 +0100 (Sun, 18 Feb 2007) New Revision: 20153 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20153&view=rev Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c Log: init those pointers before using them Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 00:19:06 UTC (rev 20152) +++ haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 00:51:10 UTC (rev 20153) @@ -165,6 +165,9 @@ TRACE("controller_probe\n"); + if (dm->init_driver(parent, NULL, (driver_module_info **)&pci, (void **)&device) != B_OK) + return B_ERROR; + res = pci->find_pci_capability(device, PCI_cap_id_sata, &cap_ofs); if (res == B_OK) { TRACE("PCI SATA capability found at offset 0x%x\n", cap_ofs); @@ -173,10 +176,7 @@ TRACE("satacr0 = 0x%08x, satacr1 = 0x%08x\n", satacr0, satacr1); } - return B_ERROR; - - if (dm->init_driver(parent, NULL, (driver_module_info **)&pci, (void **)&device) != B_OK) - return B_ERROR; + goto err; device_id = pci->read_pci_config(device, PCI_device_id, 2); int_num = pci->read_pci_config(device, PCI_interrupt_line, 1); From revol at free.fr Sun Feb 18 02:20:06 2007 From: revol at free.fr (=?windows-1252?q?Fran=E7ois?= Revol) Date: Sun, 18 Feb 2007 02:20:06 +0100 CET Subject: [Haiku-commits] =?windows-1252?q?r20150_-_haiku/trunk/src/add-ons?= =?windows-1252?q?/kernel/bus=5Fmanagers/pci?= In-Reply-To: <200702172324.l1HNOeQe011664@sheep.berlios.de> Message-ID: <522447970-BeMail@laptop> > + case PCI_cap_id_sata: > + return "SATA"; How come SATA-specific stuff appears in PCI capacities ? Looks like one more broken standard design :-( Fran?ois. From geist at mail.berlios.de Sun Feb 18 05:11:44 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 18 Feb 2007 05:11:44 +0100 Subject: [Haiku-commits] r20154 - haiku/trunk/src/system/kernel Message-ID: <200702180411.l1I4BifZ007852@sheep.berlios.de> Author: geist Date: 2007-02-18 05:11:43 +0100 (Sun, 18 Feb 2007) New Revision: 20154 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20154&view=rev Modified: haiku/trunk/src/system/kernel/main.c Log: should be a fix for #1018. The new cpu detect code was running on each cpu as they come up, storing away cpuid info into the current cpu structure. Trouble was the code was running before the current thread pointer was set on each cpu, so it was always looking up cpu 0's structure and saving there, leaving the other ones uninitialized. Surprisingly this works fine on my machine, but obviously fails on others (cpuid info would have been zeroed probably). Solution is to change the order that things are brought up on each cpu to set the current thread pointer first. I don't really like that solution but it'll work for now. Added a comment to the effect. Modified: haiku/trunk/src/system/kernel/main.c =================================================================== --- haiku/trunk/src/system/kernel/main.c 2007-02-18 00:51:10 UTC (rev 20153) +++ haiku/trunk/src/system/kernel/main.c 2007-02-18 04:11:43 UTC (rev 20154) @@ -166,9 +166,14 @@ resume_thread(thread); } else { // this is run for each non boot processor after they've been set loose + + // the order here is pretty important, and kind of arch specific, so it's sort of a hack at the moment. + // thread_* will set the current thread pointer, which lets low level code know what cpu it's on + // cpu_* will detect the current cpu and do any pending low level setup + // smp_* will set up the low level smp routines + thread_per_cpu_init(currentCPU); cpu_init_percpu(&sKernelArgs, currentCPU); smp_per_cpu_init(&sKernelArgs, currentCPU); - thread_per_cpu_init(currentCPU); enable_interrupts(); } From geist at mail.berlios.de Sun Feb 18 05:53:15 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 18 Feb 2007 05:53:15 +0100 Subject: [Haiku-commits] r20155 - haiku/trunk/src/system/kernel Message-ID: <200702180453.l1I4rFc6009118@sheep.berlios.de> Author: geist Date: 2007-02-18 05:53:15 +0100 (Sun, 18 Feb 2007) New Revision: 20155 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20155&view=rev Modified: haiku/trunk/src/system/kernel/syscalls.c Log: Don't reschedule at the end of every syscall. Speeds up syscalls by about 15%. Modified: haiku/trunk/src/system/kernel/syscalls.c =================================================================== --- haiku/trunk/src/system/kernel/syscalls.c 2007-02-18 04:11:43 UTC (rev 20154) +++ haiku/trunk/src/system/kernel/syscalls.c 2007-02-18 04:53:15 UTC (rev 20155) @@ -197,7 +197,7 @@ // dprintf("syscall_dispatcher: done with syscall 0x%x\n", call_num); - return B_INVOKE_SCHEDULER; + return B_HANDLED_INTERRUPT; } @@ -287,6 +287,8 @@ return status; } - +/* + * kSyscallCount and kSyscallInfos here + */ +// generated by gensyscalls #include "syscall_table.h" - // generate by gensyscalls From wkornewald at mail.berlios.de Sun Feb 18 12:46:28 2007 From: wkornewald at mail.berlios.de (wkornewald at BerliOS) Date: Sun, 18 Feb 2007 12:46:28 +0100 Subject: [Haiku-commits] r20156 - haiku/trunk Message-ID: <200702181146.l1IBkSaD004003@sheep.berlios.de> Author: wkornewald Date: 2007-02-18 12:46:25 +0100 (Sun, 18 Feb 2007) New Revision: 20156 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20156&view=rev Modified: haiku/trunk/ReadMe.cross-compile Log: Made cross-compiling instructions easier to understand. Modified: haiku/trunk/ReadMe.cross-compile =================================================================== --- haiku/trunk/ReadMe.cross-compile 2007-02-18 04:53:15 UTC (rev 20155) +++ haiku/trunk/ReadMe.cross-compile 2007-02-18 11:46:25 UTC (rev 20156) @@ -6,9 +6,8 @@ * FreeBSD To build Haiku on a non-BeOS platform you must first check out and build the -cross-compiler. The easiest method for doing so is to check it out in a -directory just below that of the Haiku root. Navigate to the parent directory -of Haiku and use a command such as: +cross-compiler. The easiest method for doing so is to check it out in the +parent directory of your Haiku repository: svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools From geist at mail.berlios.de Sun Feb 18 21:37:17 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 18 Feb 2007 21:37:17 +0100 Subject: [Haiku-commits] r20157 - haiku/trunk/src/add-ons/kernel/busses/ide/ahci Message-ID: <200702182037.l1IKbH7p032488@sheep.berlios.de> Author: geist Date: 2007-02-18 21:37:17 +0100 (Sun, 18 Feb 2007) New Revision: 20157 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20157&view=rev Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c Log: the beos compiler is pretty pedantic and wont let you use c99 style variable decls. Modified: haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c =================================================================== --- haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 11:46:25 UTC (rev 20156) +++ haiku/trunk/src/add-ons/kernel/busses/ide/ahci/ahci.c 2007-02-18 20:37:17 UTC (rev 20157) @@ -170,9 +170,11 @@ res = pci->find_pci_capability(device, PCI_cap_id_sata, &cap_ofs); if (res == B_OK) { + uint32 satacr0; + uint32 satacr1; TRACE("PCI SATA capability found at offset 0x%x\n", cap_ofs); - uint32 satacr0 = pci->read_pci_config(device, cap_ofs, 4); - uint32 satacr1 = pci->read_pci_config(device, cap_ofs + 4, 4); + satacr0 = pci->read_pci_config(device, cap_ofs, 4); + satacr1 = pci->read_pci_config(device, cap_ofs + 4, 4); TRACE("satacr0 = 0x%08x, satacr1 = 0x%08x\n", satacr0, satacr1); } From geist at mail.berlios.de Sun Feb 18 21:54:03 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Sun, 18 Feb 2007 21:54:03 +0100 Subject: [Haiku-commits] r20158 - haiku/trunk/src/system/kernel/arch/x86 Message-ID: <200702182054.l1IKs3QD000770@sheep.berlios.de> Author: geist Date: 2007-02-18 21:54:02 +0100 (Sun, 18 Feb 2007) New Revision: 20158 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20158&view=rev Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c Log: man, I gotta quit making stupid mistakes. this dumb cpuid commit is really screwing the pooch. Should be another fix for #1018 Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-18 20:37:17 UTC (rev 20157) +++ haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-18 20:54:02 UTC (rev 20158) @@ -355,12 +355,12 @@ // figure out what vendor we have here for(i=0; iarch.vendor = i; cpu->arch.vendor_name = vendor_info[i].vendor; break; } - if(!strcmp(vendor_str, vendor_info[i].ident_string[1])) { + if(vendor_info[i].ident_string[1] && !strcmp(vendor_str, vendor_info[i].ident_string[1])) { cpu->arch.vendor = i; cpu->arch.vendor_name = vendor_info[i].vendor; break; From marcusoverhagen at mail.berlios.de Sun Feb 18 22:44:30 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Sun, 18 Feb 2007 22:44:30 +0100 Subject: [Haiku-commits] r20159 - haiku/trunk/src/system/kernel Message-ID: <200702182144.l1ILiUNL004404@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-18 22:44:29 +0100 (Sun, 18 Feb 2007) New Revision: 20159 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20159&view=rev Modified: haiku/trunk/src/system/kernel/smp.c Log: This fixes building with TRACE enabled Modified: haiku/trunk/src/system/kernel/smp.c =================================================================== --- haiku/trunk/src/system/kernel/smp.c 2007-02-18 20:54:02 UTC (rev 20158) +++ haiku/trunk/src/system/kernel/smp.c 2007-02-18 21:44:29 UTC (rev 20159) @@ -355,7 +355,7 @@ if (msg == NULL) return retval; - TRACE((" cpu %d message = %d\n", curr_cpu, msg->message)); + TRACE((" cpu %d message = %d\n", currentCPU, msg->message)); switch (msg->message) { case SMP_MSG_INVALIDATE_PAGE_RANGE: @@ -428,7 +428,7 @@ struct smp_msg *msg; TRACE(("smp_send_ici: target 0x%x, mess 0x%x, data 0x%lx, data2 0x%lx, data3 0x%lx, ptr %p, flags 0x%x\n", - target_cpu, message, data, data2, data3, data_ptr, flags)); + targetCPU, message, data, data2, data3, data_ptr, flags)); if (sICIEnabled) { int state; From zooey at hirschkaefer.de Mon Feb 19 00:37:15 2007 From: zooey at hirschkaefer.de (Oliver Tappe) Date: Mon, 19 Feb 2007 00:37:15 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <20070203151927.1543.3@cs.tu-berlin.de> References: <200702020942.l129gNJL014756@sheep.berlios.de> <7156770.1170432118358.JavaMail.ngmail@webmail12> <20070203151927.1543.3@cs.tu-berlin.de> Message-ID: <20070219003715.173879.1@bee.hirschkaefer.site> Hi there, On 2007-02-03 at 15:19:27 [+0100], Ingo Weinhold wrote: > > On 2007-02-02 at 17:01:58 [+0100], Marcus Overhagen > wrote: > > > > jam pxehaiku was already working well for me when compiling on Linux, > > I wasn't aware of these problems. > > > > I didn't try invoking the target platform assembler, but I understand that > > directly invoking "as" is wrong. I've been using "as" 2.17 with target > > "i486-linux-gnu" on Ubuntu Linux. > > > > The assembler included in buildtools is 2.16.1, perhaps it needs to be > > updated. > > Updating the binutils for the gcc 4 build shouldn't pose much of a problem, > but I don't really dare to touch the binutils Oliver has painstakingly > aligned with gcc 2.95.3. > > > The 32 bit indexing is done deliberately, so there is no workaround for > > that. > > I also don't want to change the code, as this will be much work. > > OK, so we don't get around updating the tools. Today I have tried and actually managed to get binutils-2.17 working with gcc-2.95.3 (and it wasn't half as bad as I thought it would be ;o). This fixes the build problems Marcus had encountered with the PXE stage1 bootloader. Unfortunately, I am slightly confused as to how to apply that (largish) patch. I suppose I should create a vendor branch for binutils-2.17 and then merge the changes from the old vendor branch and the new one into the legacy binutils folder of the trunk. But I am not sure where the vendor branch for binutils 2.15 lives, there's a binutils-2.15 folder in the 'tags' folder hierarchy, is that it? Furthermore, I wonder if we should use this opportunity to unite the two binutls folders (the normal and the legacy one), as AFAICS, both can now be the same. Ingo, what's your view on this? cheers, Oliver From geist at mail.berlios.de Mon Feb 19 01:11:26 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Mon, 19 Feb 2007 01:11:26 +0100 Subject: [Haiku-commits] r20160 - in haiku/trunk: headers/build/os/drivers headers/os/drivers headers/private/kernel headers/private/kernel/arch src/system/kernel src/system/kernel/arch/ppc src/system/kernel/arch/x86 Message-ID: <200702190011.l1J0BQH9007907@sheep.berlios.de> Author: geist Date: 2007-02-19 01:11:24 +0100 (Mon, 19 Feb 2007) New Revision: 20160 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20160&view=rev Modified: haiku/trunk/headers/build/os/drivers/KernelExport.h haiku/trunk/headers/os/drivers/KernelExport.h haiku/trunk/headers/private/kernel/arch/cpu.h haiku/trunk/headers/private/kernel/cpu.h haiku/trunk/headers/private/kernel/thread.h haiku/trunk/src/system/kernel/arch/ppc/arch_cpu.cpp haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c haiku/trunk/src/system/kernel/cpu.c haiku/trunk/src/system/kernel/main.c haiku/trunk/src/system/kernel/smp.c haiku/trunk/src/system/kernel/thread.c Log: yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized. the new cpuid stuff was apparently exacerbating an existing problem where various bits of low level cpu code (specifically get_current_cpu) weren't really initialized before being used. Changed the order to set up a fake set of threads to point each cpu at really early in boot to make sure that at all points in code it can get the current 'thread' and thus the current cpu. A probably better solution would be to have dr3 point to the current cpu which would then point to the current thread, but that has a race condition that would require an int disable, etc. Modified: haiku/trunk/headers/build/os/drivers/KernelExport.h =================================================================== --- haiku/trunk/headers/build/os/drivers/KernelExport.h 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/headers/build/os/drivers/KernelExport.h 2007-02-19 00:11:24 UTC (rev 20160) @@ -209,6 +209,7 @@ extern status_t unregister_kernel_daemon(daemon_hook hook, void *arg); extern void call_all_cpus(void (*f)(void *, int), void *cookie); +extern void call_all_cpus_sync(void (*f)(void *, int), void *cookie); /* safe methods to access user memory without having to lock it */ extern status_t user_memcpy(void *to, const void *from, size_t size); Modified: haiku/trunk/headers/os/drivers/KernelExport.h =================================================================== --- haiku/trunk/headers/os/drivers/KernelExport.h 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/headers/os/drivers/KernelExport.h 2007-02-19 00:11:24 UTC (rev 20160) @@ -216,6 +216,7 @@ extern status_t unregister_kernel_daemon(daemon_hook hook, void *arg); extern void call_all_cpus(void (*f)(void *, int), void *cookie); +extern void call_all_cpus_sync(void (*f)(void *, int), void *cookie); /* safe methods to access user memory without having to lock it */ extern status_t user_memcpy(void *to, const void *from, size_t size); Modified: haiku/trunk/headers/private/kernel/arch/cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/cpu.h 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/headers/private/kernel/arch/cpu.h 2007-02-19 00:11:24 UTC (rev 20160) @@ -19,7 +19,7 @@ extern "C" { #endif -status_t arch_cpu_preboot_init(kernel_args *args); +status_t arch_cpu_preboot_init_percpu(kernel_args *args, int curr_cpu); status_t arch_cpu_init(kernel_args *args); status_t arch_cpu_init_percpu(kernel_args *args, int curr_cpu); status_t arch_cpu_init_post_vm(kernel_args *args); Modified: haiku/trunk/headers/private/kernel/cpu.h =================================================================== --- haiku/trunk/headers/private/kernel/cpu.h 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/headers/private/kernel/cpu.h 2007-02-19 00:11:24 UTC (rev 20160) @@ -43,7 +43,7 @@ extern "C" { #endif -status_t cpu_preboot_init(struct kernel_args *args); +status_t cpu_preboot_init_percpu(struct kernel_args *args, int curr_cpu); status_t cpu_init(struct kernel_args *args); status_t cpu_init_percpu(kernel_args *ka, int curr_cpu); status_t cpu_init_post_vm(struct kernel_args *args); Modified: haiku/trunk/headers/private/kernel/thread.h =================================================================== --- haiku/trunk/headers/private/kernel/thread.h 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/headers/private/kernel/thread.h 2007-02-19 00:11:24 UTC (rev 20160) @@ -30,7 +30,7 @@ void thread_at_kernel_exit(void); status_t thread_init(struct kernel_args *args); -status_t thread_per_cpu_init(int32 cpuNum); +status_t thread_preboot_init_percpu(struct kernel_args *args, int32 cpuNum); void thread_yield(void); void thread_exit(void); Modified: haiku/trunk/src/system/kernel/arch/ppc/arch_cpu.cpp =================================================================== --- haiku/trunk/src/system/kernel/arch/ppc/arch_cpu.cpp 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/arch/ppc/arch_cpu.cpp 2007-02-19 00:11:24 UTC (rev 20160) @@ -17,7 +17,7 @@ static bool sHasTlbia; status_t -arch_cpu_preboot_init(kernel_args *args) +arch_cpu_preboot_init_percpu(kernel_args *args, int curr_cpu) { // enable FPU set_msr(get_msr() | MSR_FP_AVAILABLE); Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-19 00:11:24 UTC (rev 20160) @@ -320,7 +320,7 @@ strlcat(str, "3dnow ", strlen); } -static int detect_cpu(kernel_args *ka, int curr_cpu) +static int detect_cpu(int curr_cpu) { cpuid_info cpuid; unsigned int data[4]; @@ -431,10 +431,8 @@ // #pragma mark - status_t -arch_cpu_preboot_init(kernel_args *args) +arch_cpu_preboot_init_percpu(kernel_args *args, int curr_cpu) { - write_dr3(0); - x86_write_cr0(x86_read_cr0() & ~(CR0_FPU_EMULATION | CR0_MONITOR_FPU)); gX86SwapFPUFunc = i386_fnsave_swap; @@ -445,7 +443,7 @@ status_t arch_cpu_init_percpu(kernel_args *args, int curr_cpu) { - detect_cpu(args, curr_cpu); + detect_cpu(curr_cpu); // load the TSS for this cpu // note the main cpu gets initialized in arch_cpu_init_post_vm() Modified: haiku/trunk/src/system/kernel/cpu.c =================================================================== --- haiku/trunk/src/system/kernel/cpu.c 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/cpu.c 2007-02-19 00:11:24 UTC (rev 20160) @@ -26,13 +26,6 @@ status_t cpu_init(kernel_args *args) { - int i; - - memset(gCPU, 0, sizeof(gCPU)); - for (i = 0; i < MAX_BOOT_CPUS; i++) { - gCPU[i].cpu_num = i; - } - return arch_cpu_init(args); } @@ -57,12 +50,16 @@ status_t -cpu_preboot_init(kernel_args *args) +cpu_preboot_init_percpu(kernel_args *args, int curr_cpu) { - return arch_cpu_preboot_init(args); + // set the cpu number in the local cpu structure so that + // we can use it for get_current_cpu + memset(&gCPU[curr_cpu], 0, sizeof(gCPU[curr_cpu])); + gCPU[curr_cpu].cpu_num = curr_cpu; + + return arch_cpu_preboot_init_percpu(args, curr_cpu); } - bigtime_t cpu_get_active_time(int32 cpu) { Modified: haiku/trunk/src/system/kernel/main.c =================================================================== --- haiku/trunk/src/system/kernel/main.c 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/main.c 2007-02-19 00:11:24 UTC (rev 20160) @@ -42,9 +42,9 @@ //#define TRACE_BOOT #ifdef TRACE_BOOT -# define TRACE(x) dprintf x +# define TRACE(x...) dprintf("INIT : " x) #else -# define TRACE(x) ; +# define TRACE(x...) ; #endif bool kernel_startup; @@ -75,7 +75,8 @@ smp_set_num_cpus(sKernelArgs.num_cpus); // do any pre-booting cpu config - cpu_preboot_init(&sKernelArgs); + cpu_preboot_init_percpu(&sKernelArgs, currentCPU); + thread_preboot_init_percpu(&sKernelArgs, currentCPU); // if we're not a boot cpu, spin here until someone wakes us up if (smp_trap_non_boot_cpus(currentCPU)) { @@ -93,92 +94,90 @@ smp_wait_for_non_boot_cpus(); // init modules - TRACE(("init CPU\n")); + TRACE("init CPU\n"); cpu_init(&sKernelArgs); cpu_init_percpu(&sKernelArgs, currentCPU); - TRACE(("init interrupts\n")); + TRACE("init interrupts\n"); int_init(&sKernelArgs); - TRACE(("init VM\n")); + TRACE("init VM\n"); vm_init(&sKernelArgs); // Before vm_init_post_sem() is called, we have to make sure that // the boot loader allocated region is not used anymore // now we can use the heap and create areas arch_platform_init_post_vm(&sKernelArgs); - TRACE(("init driver_settings\n")); + TRACE("init driver_settings\n"); boot_item_init(); driver_settings_init(&sKernelArgs); debug_init_post_vm(&sKernelArgs); int_init_post_vm(&sKernelArgs); cpu_init_post_vm(&sKernelArgs); - TRACE(("init system info\n")); + TRACE("init system info\n"); system_info_init(&sKernelArgs); - TRACE(("init SMP\n")); + TRACE("init SMP\n"); smp_init(&sKernelArgs); - TRACE(("init timer\n")); + TRACE("init timer\n"); timer_init(&sKernelArgs); - TRACE(("init real time clock\n")); + TRACE("init real time clock\n"); rtc_init(&sKernelArgs); - TRACE(("init semaphores\n")); + TRACE("init semaphores\n"); sem_init(&sKernelArgs); // now we can create and use semaphores - TRACE(("init VM semaphores\n")); + TRACE("init VM semaphores\n"); vm_init_post_sem(&sKernelArgs); - TRACE(("init driver_settings\n")); + TRACE("init driver_settings\n"); driver_settings_init_post_sem(&sKernelArgs); - TRACE(("init generic syscall\n")); + TRACE("init generic syscall\n"); generic_syscall_init(); - TRACE(("init cbuf\n")); + TRACE("init cbuf\n"); cbuf_init(); - TRACE(("init teams\n")); + TRACE("init teams\n"); team_init(&sKernelArgs); - TRACE(("init threads\n")); + TRACE("init threads\n"); thread_init(&sKernelArgs); - TRACE(("init ports\n")); + TRACE("init ports\n"); port_init(&sKernelArgs); - TRACE(("init kernel daemons\n")); + TRACE("init kernel daemons\n"); kernel_daemon_init(); arch_platform_init_post_thread(&sKernelArgs); - TRACE(("init VM threads\n")); + TRACE("init VM threads\n"); vm_init_post_thread(&sKernelArgs); - TRACE(("init ELF loader\n")); + TRACE("init ELF loader\n"); elf_init(&sKernelArgs); - TRACE(("init scheduler\n")); + TRACE("init scheduler\n"); scheduler_init(); - TRACE(("init VFS\n")); + TRACE("init VFS\n"); vfs_init(&sKernelArgs); - // start a thread to finish initializing the rest of the system - thread = spawn_kernel_thread(&main2, "main2", B_NORMAL_PRIORITY, NULL); + TRACE("enable interrupts, exit kernel startup\n"); + kernel_startup = false; - smp_wake_up_non_boot_cpus(); + TRACE("waking up AP cpus\n"); + smp_wake_up_non_boot_cpus(); - TRACE(("enable interrupts, exit kernel startup\n")); - kernel_startup = false; enable_interrupts(); - scheduler_start(); + + // start a thread to finish initializing the rest of the system + TRACE("starting main2 thread\n"); + thread = spawn_kernel_thread(&main2, "main2", B_NORMAL_PRIORITY, NULL); resume_thread(thread); } else { // this is run for each non boot processor after they've been set loose - - // the order here is pretty important, and kind of arch specific, so it's sort of a hack at the moment. - // thread_* will set the current thread pointer, which lets low level code know what cpu it's on - // cpu_* will detect the current cpu and do any pending low level setup - // smp_* will set up the low level smp routines - thread_per_cpu_init(currentCPU); cpu_init_percpu(&sKernelArgs, currentCPU); smp_per_cpu_init(&sKernelArgs, currentCPU); + // welcome to the machine enable_interrupts(); + scheduler_start(); } - TRACE(("main: done... begin idle loop on cpu %d\n", currentCPU)); + TRACE("main: done... begin idle loop on cpu %d\n", currentCPU); for (;;) arch_cpu_idle(); @@ -191,9 +190,9 @@ { (void)(unused); - TRACE(("start of main2: initializing devices\n")); + TRACE("start of main2: initializing devices\n"); - TRACE(("Init modules\n")); + TRACE("Init modules\n"); module_init(&sKernelArgs); // ToDo: the preloaded image debug data is placed in the kernel args, and @@ -208,18 +207,18 @@ } // init userland debugging - TRACE(("Init Userland debugging\n")); + TRACE("Init Userland debugging\n"); init_user_debug(); // init the messaging service - TRACE(("Init Messaging Service\n")); + TRACE("Init Messaging Service\n"); init_messaging_service(); /* bootstrap all the filesystems */ - TRACE(("Bootstrap file systems\n")); + TRACE("Bootstrap file systems\n"); vfs_bootstrap_file_systems(); - TRACE(("Init Device Manager\n")); + TRACE("Init Device Manager\n"); device_manager_init(&sKernelArgs); // ToDo: device manager starts here, bus_init()/dev_init() won't be necessary anymore, @@ -227,7 +226,7 @@ int_init_post_device_manager(&sKernelArgs); - TRACE(("Mount boot file system\n")); + TRACE("Mount boot file system\n"); vfs_mount_boot_file_system(&sKernelArgs); // CPU specific modules may now be available @@ -259,7 +258,7 @@ thread = load_image(argc, args, NULL); if (thread >= B_OK) { resume_thread(thread); - TRACE(("Bootscript started\n")); + TRACE("Bootscript started\n"); } else dprintf("error starting \"%s\" error = %ld \n", args[0], thread); } Modified: haiku/trunk/src/system/kernel/smp.c =================================================================== --- haiku/trunk/src/system/kernel/smp.c 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/smp.c 2007-02-19 00:11:24 UTC (rev 20160) @@ -551,8 +551,14 @@ { if (cpu > 0) { boot_cpu_spin[cpu] = 1; - acquire_spinlock(&boot_cpu_spin[cpu]); + acquire_spinlock_nocheck(&boot_cpu_spin[cpu]); return false; + + // lets make sure we're in sync with the main cpu + // the boot processor has probably been sending us + // tlb sync messages all along the way, but we've + // been ignoring them + arch_cpu_global_TLB_invalidate(); } return true; @@ -562,23 +568,16 @@ void smp_wake_up_non_boot_cpus() { - // resume non boot CPUs int i; - for (i = 1; i < sNumCPUs; i++) { - release_spinlock(&boot_cpu_spin[i]); - } // ICIs were previously being ignored if (sNumCPUs > 1) sICIEnabled = true; - // invalidate all of the other processors' TLB caches - arch_cpu_global_TLB_invalidate(); - smp_send_broadcast_ici(SMP_MSG_GLOBAL_INVALIDATE_PAGES, 0, 0, 0, NULL, - SMP_MSG_FLAG_SYNC); - - // start the other processors - smp_send_broadcast_ici(SMP_MSG_RESCHEDULE, 0, 0, 0, NULL, SMP_MSG_FLAG_ASYNC); + // resume non boot CPUs + for (i = 1; i < sNumCPUs; i++) { + release_spinlock(&boot_cpu_spin[i]); + } } @@ -651,13 +650,7 @@ int32 smp_get_current_cpu(void) { - struct thread *thread = thread_get_current_thread(); - if (thread) - return thread->cpu->cpu_num; - - // this is not always correct during early boot, but it's okay - // for the boot process - return 0; + return thread_get_current_thread()->cpu->cpu_num; } @@ -681,3 +674,19 @@ restore_interrupts(state); } +void +call_all_cpus_sync(void (*func)(void *, int), void *cookie) +{ + cpu_status state = disable_interrupts(); + + if (smp_get_num_cpus() > 1) { + smp_send_broadcast_ici(SMP_MSG_CALL_FUNCTION, (uint32)cookie, + 0, 0, (void *)func, SMP_MSG_FLAG_SYNC); + } + + // we need to call this function ourselves as well + func(cookie, smp_get_current_cpu()); + + restore_interrupts(state); +} + Modified: haiku/trunk/src/system/kernel/thread.c =================================================================== --- haiku/trunk/src/system/kernel/thread.c 2007-02-18 21:44:29 UTC (rev 20159) +++ haiku/trunk/src/system/kernel/thread.c 2007-02-19 00:11:24 UTC (rev 20160) @@ -63,7 +63,7 @@ spinlock thread_spinlock = 0; // thread list -static struct thread *sIdleThreads[B_MAX_CPU_COUNT]; +static struct thread sIdleThreads[B_MAX_CPU_COUNT]; static void *sThreadHash = NULL; static thread_id sNextThreadID = 1; @@ -162,30 +162,36 @@ return (uint32)key->id % range; } - -/** Allocates a thread structure (or reuses one from the dead queue). +/** Allocates and fills in thread structure (or reuses one from the dead queue). * * \param threadID The ID to be assigned to the new thread. If * \code < 0 \endcode a fresh one is allocated. + * \param thread initialize this thread struct if nonnull */ static struct thread * -create_thread_struct(const char *name, thread_id threadID) +create_thread_struct(struct thread *inthread, const char *name, thread_id threadID) { struct thread *thread; cpu_status state; char temp[64]; - state = disable_interrupts(); - GRAB_THREAD_LOCK(); - thread = thread_dequeue(&dead_q); - RELEASE_THREAD_LOCK(); - restore_interrupts(state); + if (inthread == NULL) { + // try to recycle one from the dead queue first + state = disable_interrupts(); + GRAB_THREAD_LOCK(); + thread = thread_dequeue(&dead_q); + RELEASE_THREAD_LOCK(); + restore_interrupts(state); - if (thread == NULL) { - thread = (struct thread *)malloc(sizeof(struct thread)); - if (thread == NULL) - return NULL; + // if not, create a new one + if (thread == NULL) { + thread = (struct thread *)malloc(sizeof(struct thread)); + if (thread == NULL) + return NULL; + } + } else { + thread = inthread; } if (name != NULL) @@ -195,7 +201,8 @@ thread->id = threadID >= 0 ? threadID : allocate_thread_id(); thread->team = NULL; - thread->cpu = NULL; + // XXX terrible hack, this is to leave the early boot cpu pointers alone while being initialized +// thread->cpu = NULL; thread->sem.blocking = -1; thread->fault_handler = 0; thread->page_faults_allowed = 1; @@ -251,7 +258,8 @@ delete_sem(thread->exit.sem); err1: // ToDo: put them in the dead queue instead? - free(thread); + if (inthread == NULL) + free(thread); return NULL; } @@ -352,7 +360,7 @@ TRACE(("create_thread(%s, id = %ld, %s)\n", name, threadID, kernel ? "kernel" : "user")); - thread = create_thread_struct(name, threadID); + thread = create_thread_struct(NULL, name, threadID); if (thread == NULL) return B_NO_MEMORY; @@ -1461,7 +1469,7 @@ char name[64]; sprintf(name, "idle thread %lu", i + 1); - thread = create_thread_struct(name, + thread = create_thread_struct(&sIdleThreads[i], name, i == 0 ? team_get_kernel_team_id() : -1); if (thread == NULL) { panic("error creating idle thread struct\n"); @@ -1483,11 +1491,6 @@ hash_insert(sThreadHash, thread); insert_thread_into_team(thread->team, thread); - sIdleThreads[i] = thread; - - if (i == 0) - arch_thread_set_current_thread(thread); - thread->cpu = &gCPU[i]; } sUsedThreads = args->num_cpus; @@ -1539,13 +1542,16 @@ status_t -thread_per_cpu_init(int32 cpuNum) +thread_preboot_init_percpu(struct kernel_args *args, int32 cpuNum) { - arch_thread_set_current_thread(sIdleThreads[cpuNum]); + // set up the cpu pointer in the not yet initialized per-cpu idle thread + // so that get_current_cpu and friends will work, which is crucial for + // a lot of low level routines + sIdleThreads[cpuNum].cpu = &gCPU[cpuNum]; + arch_thread_set_current_thread(&sIdleThreads[cpuNum]); return B_OK; } - // #pragma mark - public kernel API From geist at mail.berlios.de Mon Feb 19 01:32:45 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Mon, 19 Feb 2007 01:32:45 +0100 Subject: [Haiku-commits] r20161 - in haiku/trunk: headers/os/kernel headers/os/kernel/arch headers/os/kernel/arch/x86 headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 Message-ID: <200702190032.l1J0WjuF028156@sheep.berlios.de> Author: geist Date: 2007-02-19 01:32:44 +0100 (Mon, 19 Feb 2007) New Revision: 20161 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20161&view=rev Added: haiku/trunk/headers/os/kernel/arch/ haiku/trunk/headers/os/kernel/arch/x86/ haiku/trunk/headers/os/kernel/arch/x86/commpage.h haiku/trunk/headers/private/kernel/arch/x86/commpage.h haiku/trunk/src/system/kernel/arch/x86/commpage.c haiku/trunk/src/system/kernel/arch/x86/syscall.S Modified: haiku/trunk/src/system/kernel/arch/x86/Jamfile haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc Log: initial support for a commpage, which is a chunk of memory in high kernel space with user readonly permissions. The first use is to let the kernel decide what the preferred syscall mechanism is at boot time and copy the appropriate user space code there. Can be used for routines the kernel can decide best how to use (memcpy, some timing routines, etc). Added: haiku/trunk/headers/os/kernel/arch/x86/commpage.h =================================================================== --- haiku/trunk/headers/os/kernel/arch/x86/commpage.h 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/headers/os/kernel/arch/x86/commpage.h 2007-02-19 00:32:44 UTC (rev 20161) @@ -0,0 +1,23 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef __OS_KERNEL_ARCH_x86_COMMPAGE_H +#define __OS_KERNEL_ARCH_x86_COMMPAGE_H + +/* some systemwide commpage constants, used in the kernel and libroot */ + +/* be careful what you put here, this file is included from assembly */ +#define COMMPAGE_ENTRY_MAGIC 0 +#define COMMPAGE_ENTRY_VERSION 1 +#define COMMPAGE_ENTRY_SYSCALL 2 + +#define USER_COMMPAGE_ADDR (0xffff0000) +#define COMMPAGE_SIZE (0x8000) +#define TABLE_ENTRIES 64 + +#define COMMPAGE_SIGNATURE 'COMM' +#define COMMPAGE_VERSION 1 + +#endif + Added: haiku/trunk/headers/private/kernel/arch/x86/commpage.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/x86/commpage.h 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/headers/private/kernel/arch/x86/commpage.h 2007-02-19 00:32:44 UTC (rev 20161) @@ -0,0 +1,12 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _KERNEL_ARCH_x86_COMMPAGE_H +#define _KERNEL_ARCH_x86_COMMPAGE_H + + +status_t commpage_init(void); + +#endif + Modified: haiku/trunk/src/system/kernel/arch/x86/Jamfile =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/Jamfile 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/src/system/kernel/arch/x86/Jamfile 2007-02-19 00:32:44 UTC (rev 20161) @@ -31,6 +31,8 @@ apm.cpp bios.cpp cpuid.S + commpage.c + syscall.S generic_vm_physical_page_mapper.cpp : Modified: haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c 2007-02-19 00:32:44 UTC (rev 20161) @@ -17,6 +17,7 @@ #include #include #include +#include #include "interrupts.h" @@ -505,6 +506,9 @@ // setup SSE2/3 support init_sse(); + // initialize the commpage support + commpage_init(); + return B_OK; } Added: haiku/trunk/src/system/kernel/arch/x86/commpage.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/commpage.c 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/src/system/kernel/arch/x86/commpage.c 2007-02-19 00:32:44 UTC (rev 20161) @@ -0,0 +1,74 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#include +#include + +#include +#include + +#include + +static area_id comm_area; +static area_id user_comm_area; +static unsigned long *comm_ptr; +static unsigned long *user_comm_ptr; +static void *next_comm_addr; + +// user syscall assembly stub +extern void _user_syscall_int(void); +extern unsigned int _user_syscall_int_end; + +static inline +addr_t commpage_ptr_to_user_ptr(const void *ptr) +{ + return ((addr_t)ptr) + ((addr_t)user_comm_ptr - (addr_t)comm_ptr); +} + +static +status_t initialize_commpage_syscall(void) +{ + size_t len; + + // for now, we're hard coded to use the legacy method (int 99) + len = (size_t)((void *)&_user_syscall_int_end - (void *)&_user_syscall_int); + memcpy(next_comm_addr, &_user_syscall_int, len); + + // fill in the table entry + comm_ptr[COMMPAGE_ENTRY_SYSCALL] = commpage_ptr_to_user_ptr(next_comm_addr); + next_comm_addr = (void *)((addr_t)next_comm_addr + ROUNDUP(len, 4)); + + return B_OK; +} + +status_t +commpage_init(void) +{ + int i; + + // create a read/write kernel area + comm_area = create_area("commpage", (void **)&comm_ptr, B_ANY_ADDRESS, COMMPAGE_SIZE, B_FULL_LOCK, + B_KERNEL_WRITE_AREA | B_KERNEL_READ_AREA); + + // clone it at a fixed address with user read/only permissions + user_comm_ptr = (void *)USER_COMMPAGE_ADDR; + user_comm_area = clone_area("user_commpage", (void **)&user_comm_ptr, B_EXACT_ADDRESS, + B_READ_AREA | B_EXECUTE_AREA, comm_area); + + // zero it out + memset(comm_ptr, 0, COMMPAGE_SIZE); + + // fill in some of the table + comm_ptr[0] = COMMPAGE_SIGNATURE; + comm_ptr[1] = COMMPAGE_VERSION; + + // the next slot to allocate space is after the table + next_comm_addr = (void *)&comm_ptr[TABLE_ENTRIES]; + + // select the optimum syscall mechanism and patch the commpage + initialize_commpage_syscall(); + + return B_OK; +} + Added: haiku/trunk/src/system/kernel/arch/x86/syscall.S =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/syscall.S 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/src/system/kernel/arch/x86/syscall.S 2007-02-19 00:32:44 UTC (rev 20161) @@ -0,0 +1,19 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ + +#define FUNCTION(x) .global x; .type x, at function; x +#define SYM(x) .global x; x + +.text + +/* user space half of the syscall mechanism, to be copied into the commpage */ +FUNCTION(_user_syscall_int): + int $99 + ret +SYM(_user_syscall_int_end): + + + + Modified: haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc =================================================================== --- haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc 2007-02-19 00:11:24 UTC (rev 20160) +++ haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc 2007-02-19 00:32:44 UTC (rev 20161) @@ -1,4 +1,8 @@ /* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ +/* ** Copyright 2001, Travis Geiselbrecht. All rights reserved. ** Distributed under the terms of the NewOS License. */ @@ -7,16 +11,18 @@ * syscall interface works as such: * eax has syscall # * esp + 4 points to the syscall parameters + * branch to the syscall vector in the commpage */ +#include + #define _SYSCALL(name, n) \ .globl name; \ .type name, at function; \ .align 8; \ name: \ movl $n,%eax; \ - int $99; \ - ret + jmp *(USER_COMMPAGE_ADDR + COMMPAGE_ENTRY_SYSCALL * 4) #define SYSCALL0(name, n) _SYSCALL(name, n) #define SYSCALL1(name, n) _SYSCALL(name, n) @@ -35,3 +41,4 @@ #define SYSCALL14(name, n) _SYSCALL(name, n) #define SYSCALL15(name, n) _SYSCALL(name, n) #define SYSCALL16(name, n) _SYSCALL(name, n) + From bonefish at cs.tu-berlin.de Mon Feb 19 02:09:15 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Mon, 19 Feb 2007 02:09:15 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <20070219003715.173879.1@bee.hirschkaefer.site> References: <200702020942.l129gNJL014756@sheep.berlios.de> <7156770.1170432118358.JavaMail.ngmail@webmail12> <20070203151927.1543.3@cs.tu-berlin.de> <20070219003715.173879.1@bee.hirschkaefer.site> Message-ID: <20070219020915.12593.5@cs.tu-berlin.de> On 2007-02-19 at 00:37:15 [+0100], Oliver Tappe wrote: > On 2007-02-03 at 15:19:27 [+0100], Ingo Weinhold > wrote: > > > > Updating the binutils for the gcc 4 build shouldn't pose much of a > > problem, > > but I don't really dare to touch the binutils Oliver has painstakingly > > aligned with gcc 2.95.3. > > > > > The 32 bit indexing is done deliberately, so there is no workaround for > > > that. > > > I also don't want to change the code, as this will be much work. > > > > OK, so we don't get around updating the tools. > > Today I have tried and actually managed to get binutils-2.17 working with > gcc-2.95.3 (and it wasn't half as bad as I thought it would be ;o). This > fixes the build problems Marcus had encountered with the PXE stage1 > bootloader. My hero! :-) > Unfortunately, I am slightly confused as to how to apply that (largish) > patch. I suppose I should create a vendor branch for binutils-2.17 and then > merge the changes from the old vendor branch and the new one into the legacy > binutils folder of the trunk. But I am not sure where the vendor branch for > binutils 2.15 lives, there's a binutils-2.15 folder in the 'tags' folder > hierarchy, is that it? There is a binutils vendor branch in http://svn.berlios.de/viewcvs/haiku/buildtools/vendor/binutils/ which is the one I created when importing gcc 4 and binutils 2.16.1. I think I never tried to port the old CVS tags for the buildtools to SVN: http://svn.berlios.de/viewcvs/haiku/buildtools/tags/old/ Those two should be the auto-translated CVS vendor branch tags for binutils 2.15 and gcc 2.95.3. If you can confirm this, feel free to move their respective contents to .../vendor/binutils/2.15 .../vendor/gcc/2.95.3 and delete the tags/old directory. The general strategy for updating to a newer vendor version is to update the "current" version in the vendor branch directory, create a new tag there, and merge the differences into the trunk. For details I recommend the SVN Book (http://svnbook.red-bean.com/), particularly the vendor branch section: http://svnbook.red-bean.com/nightly/en/svn.advanced.vendorbr.html > Furthermore, I wonder if we should use this opportunity to unite the two > binutls folders (the normal and the legacy one), as AFAICS, both can now be > the same. > > Ingo, what's your view on this? IIRC, some of the gcc/binutils BeOS patches had no chance of being accepted by the maintainers. If that didn't concern the binutils (or wouldn't concern the new version) then I'm all for having only a single version in our repository. But I'm a bit sceptical about creating a mixed version with patches that should be submitted at some point and patches that are pure legacy. That's also why I introduced the new *-*-haiku targets instead of adjusting the *-*-beos target support. I wouldn't mind, if the latter would fade out in future gcc/binutils vendor versions. CU, Ingo From geist at mail.berlios.de Mon Feb 19 07:57:38 2007 From: geist at mail.berlios.de (geist at BerliOS) Date: Mon, 19 Feb 2007 07:57:38 +0100 Subject: [Haiku-commits] r20162 - haiku/trunk/src/system/kernel Message-ID: <200702190657.l1J6vc2D001553@sheep.berlios.de> Author: geist Date: 2007-02-19 07:57:38 +0100 (Mon, 19 Feb 2007) New Revision: 20162 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20162&view=rev Modified: haiku/trunk/src/system/kernel/team.c Log: fix a kernel clobberer that showed up when running gcc. Was able to successfully build a hello world app with gcc after this. The kernel arg logic was faulty, and wasn't using strlcpy properly (which returns the size of the src string, not the remaining size). Replaced it with a simpler, but less efficient series of strlcat()s. Modified: haiku/trunk/src/system/kernel/team.c =================================================================== --- haiku/trunk/src/system/kernel/team.c 2007-02-19 00:32:44 UTC (rev 20161) +++ haiku/trunk/src/system/kernel/team.c 2007-02-19 06:57:38 UTC (rev 20162) @@ -777,23 +777,10 @@ TRACE(("team_create_thread_start: loading elf binary '%s'\n", path)); // add args to info member - sizeLeft = strlcpy(team->args, path, sizeof(team->args)); - udest = team->args + sizeLeft; - sizeLeft = sizeof(team->args) - sizeLeft; - - for (i = 1; i < argCount && sizeLeft > 2; i++) { - size_t length; - - udest[0] = ' '; - udest++; - sizeLeft--; - - length = strlcpy(udest, teamArgs->args[i], sizeLeft); - if (length >= sizeLeft) - break; - - sizeLeft -= length; - udest += length; + team->args[0] = 0; + for (i = 1; i < argCount; i++) { + strlcat(team->args, " ", sizeof(team->args)); + strlcat(team->args, teamArgs->args[i], sizeof(team->args)); } free_team_arg(teamArgs); From mmu_man at mail.berlios.de Mon Feb 19 16:38:59 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Mon, 19 Feb 2007 16:38:59 +0100 Subject: [Haiku-commits] r20163 - haiku/trunk Message-ID: <200702191538.l1JFcxKI017868@sheep.berlios.de> Author: mmu_man Date: 2007-02-19 16:38:58 +0100 (Mon, 19 Feb 2007) New Revision: 20163 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20163&view=rev Modified: haiku/trunk/configure Log: Remove dupped case 6.* for platform checking. Modified: haiku/trunk/configure =================================================================== --- haiku/trunk/configure 2007-02-19 06:57:38 UTC (rev 20162) +++ haiku/trunk/configure 2007-02-19 15:38:58 UTC (rev 20163) @@ -260,7 +260,6 @@ 5.1) buildPlatform=dano ;; 5.0.4) buildPlatform=bone ;; 5.0*) buildPlatform=r5 ;; - 6.*) buildPlatform=dano ;; *) echo Unknown BeOS version: $revision exit 1 ;; esac From mmu_man at mail.berlios.de Mon Feb 19 16:43:20 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Mon, 19 Feb 2007 16:43:20 +0100 Subject: [Haiku-commits] r20164 - haiku/trunk/headers/private/kernel Message-ID: <200702191543.l1JFhKRH018262@sheep.berlios.de> Author: mmu_man Date: 2007-02-19 16:43:20 +0100 (Mon, 19 Feb 2007) New Revision: 20164 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20164&view=rev Modified: haiku/trunk/headers/private/kernel/vfs.h Log: Use same figures as BeOS for soft and ahrd maximums on fd and mon tables (even though we don't use a table for mons). Modified: haiku/trunk/headers/private/kernel/vfs.h =================================================================== --- haiku/trunk/headers/private/kernel/vfs.h 2007-02-19 15:38:58 UTC (rev 20163) +++ haiku/trunk/headers/private/kernel/vfs.h 2007-02-19 15:43:20 UTC (rev 20164) @@ -21,9 +21,11 @@ #include +/* R5 figures, but we don't use a table for monitors anyway */ #define DEFAULT_FD_TABLE_SIZE 128 -#define MAX_FD_TABLE_SIZE 2048 -#define MAX_NODE_MONITORS 4096 +#define MAX_FD_TABLE_SIZE 8192 +#define DEFAULT_NODE_MONITORS 4096 +#define MAX_NODE_MONITORS 65536 struct kernel_args; struct vm_cache_ref; From mmu_man at mail.berlios.de Mon Feb 19 16:48:03 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Mon, 19 Feb 2007 16:48:03 +0100 Subject: [Haiku-commits] r20165 - in haiku/trunk/src/system: kernel kernel/fs libroot/os/arch/x86 Message-ID: <200702191548.l1JFm3ww019109@sheep.berlios.de> Author: mmu_man Date: 2007-02-19 16:48:02 +0100 (Mon, 19 Feb 2007) New Revision: 20165 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20165&view=rev Modified: haiku/trunk/src/system/kernel/fs/vfs.cpp haiku/trunk/src/system/kernel/thread.c haiku/trunk/src/system/libroot/os/arch/x86/compatibility.c Log: Implemented get/setrlimit(RLIMIT_NOVMON). Note the kernel calls don't set errno... but they're called by user versions. Might want to split them if needed. Modified: haiku/trunk/src/system/kernel/fs/vfs.cpp =================================================================== --- haiku/trunk/src/system/kernel/fs/vfs.cpp 2007-02-19 15:43:20 UTC (rev 20164) +++ haiku/trunk/src/system/kernel/fs/vfs.cpp 2007-02-19 15:48:02 UTC (rev 20165) @@ -3263,7 +3263,7 @@ context->table_size = tableSize; list_init(&context->node_monitors); - context->max_monitors = MAX_NODE_MONITORS; + context->max_monitors = DEFAULT_NODE_MONITORS; return context; } @@ -3352,6 +3352,29 @@ } +static status_t +vfs_resize_monitor_table(struct io_context *context, const int newSize) +{ + void *fds; + int status = B_OK; + + if (newSize <= 0 || newSize > MAX_NODE_MONITORS) + return EINVAL; + + mutex_lock(&context->io_mutex); + + if ((size_t)newSize < context->num_monitors) { + status = EBUSY; + goto out; + } + context->max_monitors = newSize; + +out: + mutex_unlock(&context->io_mutex); + return status; +} + + int vfs_getrlimit(int resource, struct rlimit * rlp) { @@ -3373,6 +3396,20 @@ return 0; } + case RLIMIT_NOVMON: + { + struct io_context *ioctx = get_current_io_context(false); + + mutex_lock(&ioctx->io_mutex); + + rlp->rlim_cur = ioctx->max_monitors; + rlp->rlim_max = MAX_NODE_MONITORS; + + mutex_unlock(&ioctx->io_mutex); + + return 0; + } + default: return -1; } @@ -3387,8 +3424,17 @@ switch (resource) { case RLIMIT_NOFILE: + if (rlp->rlim_max != RLIM_SAVED_MAX && + rlp->rlim_max != MAX_FD_TABLE_SIZE) + return EINVAL; return vfs_resize_fd_table(get_current_io_context(false), rlp->rlim_cur); + case RLIMIT_NOVMON: + if (rlp->rlim_max != RLIM_SAVED_MAX && + rlp->rlim_max != MAX_NODE_MONITORS) + return EINVAL; + return vfs_resize_monitor_table(get_current_io_context(false), rlp->rlim_cur); + default: return -1; } Modified: haiku/trunk/src/system/kernel/thread.c =================================================================== --- haiku/trunk/src/system/kernel/thread.c 2007-02-19 15:43:20 UTC (rev 20164) +++ haiku/trunk/src/system/kernel/thread.c 2007-02-19 15:48:02 UTC (rev 20165) @@ -2016,6 +2016,7 @@ switch (resource) { case RLIMIT_NOFILE: + case RLIMIT_NOVMON: return vfs_getrlimit(resource, rlp); default: @@ -2034,6 +2035,7 @@ switch (resource) { case RLIMIT_NOFILE: + case RLIMIT_NOVMON: return vfs_setrlimit(resource, rlp); default: Modified: haiku/trunk/src/system/libroot/os/arch/x86/compatibility.c =================================================================== --- haiku/trunk/src/system/libroot/os/arch/x86/compatibility.c 2007-02-19 15:43:20 UTC (rev 20164) +++ haiku/trunk/src/system/libroot/os/arch/x86/compatibility.c 2007-02-19 15:48:02 UTC (rev 20165) @@ -36,6 +36,7 @@ if (num < 1) return EINVAL; rl.rlim_cur = num; + rl.rlim_max = RLIM_SAVED_MAX; if (setrlimit(RLIMIT_NOVMON, &rl) < 0) return errno; return B_OK; @@ -49,6 +50,7 @@ if (num < 1) return EINVAL; rl.rlim_cur = num; + rl.rlim_max = RLIM_SAVED_MAX; if (setrlimit(RLIMIT_NOFILE, &rl) < 0) return errno; return B_OK; From mmu_man at mail.berlios.de Mon Feb 19 16:57:58 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Mon, 19 Feb 2007 16:57:58 +0100 Subject: [Haiku-commits] r20166 - in haiku/trunk/src/system/kernel: . fs Message-ID: <200702191557.l1JFvwQ2021250@sheep.berlios.de> Author: mmu_man Date: 2007-02-19 16:57:58 +0100 (Mon, 19 Feb 2007) New Revision: 20166 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20166&view=rev Modified: haiku/trunk/src/system/kernel/fs/vfs.cpp haiku/trunk/src/system/kernel/thread.c Log: Return sensible errors instead of -1. Added some TODO comments. Modified: haiku/trunk/src/system/kernel/fs/vfs.cpp =================================================================== --- haiku/trunk/src/system/kernel/fs/vfs.cpp 2007-02-19 15:48:02 UTC (rev 20165) +++ haiku/trunk/src/system/kernel/fs/vfs.cpp 2007-02-19 15:57:58 UTC (rev 20166) @@ -3379,7 +3379,7 @@ vfs_getrlimit(int resource, struct rlimit * rlp) { if (!rlp) - return -1; + return B_BAD_ADDRESS; switch (resource) { case RLIMIT_NOFILE: @@ -3411,7 +3411,7 @@ } default: - return -1; + return EINVAL; } } @@ -3420,23 +3420,25 @@ vfs_setrlimit(int resource, const struct rlimit * rlp) { if (!rlp) - return -1; + return B_BAD_ADDRESS; switch (resource) { case RLIMIT_NOFILE: + /* TODO: check getuid() */ if (rlp->rlim_max != RLIM_SAVED_MAX && rlp->rlim_max != MAX_FD_TABLE_SIZE) - return EINVAL; + return EPERM; return vfs_resize_fd_table(get_current_io_context(false), rlp->rlim_cur); case RLIMIT_NOVMON: + /* TODO: check getuid() */ if (rlp->rlim_max != RLIM_SAVED_MAX && rlp->rlim_max != MAX_NODE_MONITORS) - return EINVAL; + return EPERM; return vfs_resize_monitor_table(get_current_io_context(false), rlp->rlim_cur); default: - return -1; + return EINVAL; } } Modified: haiku/trunk/src/system/kernel/thread.c =================================================================== --- haiku/trunk/src/system/kernel/thread.c 2007-02-19 15:48:02 UTC (rev 20165) +++ haiku/trunk/src/system/kernel/thread.c 2007-02-19 15:57:58 UTC (rev 20166) @@ -2008,11 +2008,12 @@ } +/* TODO: split this; have kernel version set kerrno */ int getrlimit(int resource, struct rlimit * rlp) { if (!rlp) - return -1; + return B_BAD_ADDRESS; switch (resource) { case RLIMIT_NOFILE: @@ -2020,18 +2021,19 @@ return vfs_getrlimit(resource, rlp); default: - return -1; + return EINVAL; } return 0; } +/* TODO: split this; have kernel version set kerrno */ int setrlimit(int resource, const struct rlimit * rlp) { if (!rlp) - return -1; + return B_BAD_ADDRESS; switch (resource) { case RLIMIT_NOFILE: @@ -2039,7 +2041,7 @@ return vfs_setrlimit(resource, rlp); default: - return -1; + return EINVAL; } return 0; From bonefish at cs.tu-berlin.de Mon Feb 19 17:40:36 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Mon, 19 Feb 2007 17:40:36 +0100 Subject: [Haiku-commits] r20165 - in haiku/trunk/src/system: kernel kernel/fs libroot/os/arch/x86 In-Reply-To: <200702191548.l1JFm3ww019109@sheep.berlios.de> References: <200702191548.l1JFm3ww019109@sheep.berlios.de> Message-ID: <20070219174036.2616.1@cs.tu-berlin.de> On 2007-02-19 at 16:48:03 [+0100], mmu_man at BerliOS wrote: > Author: mmu_man > Date: 2007-02-19 16:48:02 +0100 (Mon, 19 Feb 2007) > New Revision: 20165 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20165&view=rev > > Modified: > haiku/trunk/src/system/kernel/fs/vfs.cpp > haiku/trunk/src/system/kernel/thread.c > haiku/trunk/src/system/libroot/os/arch/x86/compatibility.c > Log: > Implemented get/setrlimit(RLIMIT_NOVMON). Note the kernel calls don't set > errno... but they're called by user versions. Might want to split them if > needed. Since we're not bound by any spec here: How about chosing a readable name, like RLIMIT_NODE_MONITORS, RLIMIT_NODE_MONITOR_COUNT, or even RLIMIT_NUMBER_OF_NODE_MONITORING_SLOTS? CU, Ingo From zooey at mail.berlios.de Mon Feb 19 19:58:55 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Mon, 19 Feb 2007 19:58:55 +0100 Subject: [Haiku-commits] r20167 - in buildtools: tags/old/fsf-2-15/buildtools vendor/binutils Message-ID: <200702191858.l1JIwtNe012347@sheep.berlios.de> Author: zooey Date: 2007-02-19 19:58:55 +0100 (Mon, 19 Feb 2007) New Revision: 20167 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20167&view=rev Added: buildtools/vendor/binutils/2.15/ Removed: buildtools/tags/old/fsf-2-15/buildtools/binutils/ Log: * moving old binutils vendor branch into the right place (well, hopefully...) Copied: buildtools/vendor/binutils/2.15 (from rev 20166, buildtools/tags/old/fsf-2-15/buildtools/binutils) From zooey at mail.berlios.de Mon Feb 19 20:01:31 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Mon, 19 Feb 2007 20:01:31 +0100 Subject: [Haiku-commits] r20168 - in buildtools: tags/old/fsf-2-95-3/buildtools vendor/gcc Message-ID: <200702191901.l1JJ1V56012696@sheep.berlios.de> Author: zooey Date: 2007-02-19 20:01:30 +0100 (Mon, 19 Feb 2007) New Revision: 20168 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20168&view=rev Added: buildtools/vendor/gcc/2.95.3/ Removed: buildtools/tags/old/fsf-2-95-3/buildtools/gcc/ Log: * moving older gcc vendor branch into right place Copied: buildtools/vendor/gcc/2.95.3 (from rev 20167, buildtools/tags/old/fsf-2-95-3/buildtools/gcc) From korli at users.berlios.de Mon Feb 19 20:36:00 2007 From: korli at users.berlios.de (=?ISO-8859-1?Q?J=E9r=F4me_Duval?=) Date: Mon, 19 Feb 2007 20:36:00 +0100 Subject: [Haiku-commits] r20161 - in haiku/trunk: headers/os/kernel headers/os/kernel/arch headers/os/kernel/arch/x86 headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 In-Reply-To: <200702190032.l1J0WjuF028156@sheep.berlios.de> References: <200702190032.l1J0WjuF028156@sheep.berlios.de> Message-ID: Hi Travis, 2007/2/19, geist at BerliOS : > > Author: geist > Date: 2007-02-19 01:32:44 +0100 (Mon, 19 Feb 2007) > New Revision: 20161 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20161&view=rev > > Added: > haiku/trunk/headers/os/kernel/arch/ > haiku/trunk/headers/os/kernel/arch/x86/ > haiku/trunk/headers/os/kernel/arch/x86/commpage.h > haiku/trunk/headers/private/kernel/arch/x86/commpage.h It might be better to have everything in the private headers. Is there a reason to have a public API for this commpage ? Bye, J?r?me -------------- next part -------------- An HTML attachment was scrubbed... URL: From zooey at mail.berlios.de Mon Feb 19 20:40:30 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Mon, 19 Feb 2007 20:40:30 +0100 Subject: [Haiku-commits] r20169 - in buildtools/vendor/binutils/current: . bfd bfd/doc bfd/hosts bfd/po binutils binutils/doc binutils/po binutils/testsuite binutils/testsuite/binutils-all binutils/testsuite/binutils-all/hppa binutils/testsuite/binutils-all/m68k binutils/testsuite/binutils-all/vax binutils/testsuite/binutils-all/windres binutils/testsuite/config binutils/testsuite/lib config cpu etc gas gas/config gas/doc gas/po gas/testsuite gas/testsuite/gas gas/testsuite/gas/all gas/testsuite/gas/arm gas/testsuite/gas/bfin gas/testsuite/gas/cris gas/testsuite/gas/crx gas/testsuite/gas/elf gas/testsuite/gas/hppa/basic gas/testsuite/gas/hppa/parse gas/testsuite/gas/hppa/reloc gas/testsuite/gas/hppa/unsorted gas/testsuite/gas/i386 gas/testsuite/gas/ia64 gas/testsuite/gas/lns gas/testsuite/gas/m32r gas/testsuite/gas/m68k gas/testsuite/gas/macros gas/testsuite/gas/maxq10 gas/testsuite/gas/maxq20 gas/testsuite/gas/mips gas/testsuite/gas/mmix gas/testsuite/gas/mn10200 gas/testsuite/gas/mn10300 ! gas/testsuite/gas/mt gas/testsuite/gas/pdp11 gas/testsuite/gas/ppc gas/testsuite/gas/s390 gas/testsuite/gas/sh gas/testsuite/gas/sh/arch gas/testsuite/gas/sh/sh64 gas/testsuite/gas/sparc gas/testsuite/gas/tic4x gas/testsuite/gas/tic54x gas/testsuite/gas/v850 gas/testsuite/gas/vax gas/testsuite/gas/xc16x gas/testsuite/gas/z80 gas/testsuite/lib gprof gprof/po include include/aout include/coff include/elf include/gdb include/nlm include/opcode intl ld ld/emulparams ld/emultempl ld/po ld/scripttempl ld/testsuite ld/testsuite/config ld/testsuite/ld-alpha ld/testsuite/ld-arm ld/testsuite/ld-auto-import ld/testsuite/ld-bootstrap ld/testsuite/ld-cdtest ld/testsuite/ld-checks ld/testsuite/ld-cris ld/testsuite/ld-crx ld/testsuite/ld-cygwin ld/testsuite/ld-d10v ld/testsuite/ld-discard ld/testsuite/ld-elf ld/testsuite/ld-elfcomm ld/testsuite/ld-elfvers ld/testsuite/ld-elfvsb ld/testsuite/ld-elfweak ld/testsuite/ld-fastcall ld/testsuite/ld-frv ld/testsuite/ld-h8300 ld/testsuite/ld-i386 ! ld/testsuite/ld-ia64 ld/testsuite/ld-linkonce ld/testsuite/ld-! m68hc11 Message-ID: <200702191940.l1JJeUj4018966@sheep.berlios.de> Author: zooey Date: 2007-02-19 20:30:20 +0100 (Mon, 19 Feb 2007) New Revision: 20169 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20169&view=rev Added: buildtools/vendor/binutils/current/bfd/ChangeLog-2004 buildtools/vendor/binutils/current/bfd/ChangeLog-2005 buildtools/vendor/binutils/current/bfd/coff-z80.c buildtools/vendor/binutils/current/bfd/cpu-bfin.c buildtools/vendor/binutils/current/bfd/cpu-m32c.c buildtools/vendor/binutils/current/bfd/cpu-mt.c buildtools/vendor/binutils/current/bfd/cpu-xc16x.c buildtools/vendor/binutils/current/bfd/cpu-z80.c buildtools/vendor/binutils/current/bfd/elf-vxworks.c buildtools/vendor/binutils/current/bfd/elf-vxworks.h buildtools/vendor/binutils/current/bfd/elf32-bfin.c buildtools/vendor/binutils/current/bfd/elf32-m32c.c buildtools/vendor/binutils/current/bfd/elf32-mt.c buildtools/vendor/binutils/current/bfd/elf32-xc16x.c buildtools/vendor/binutils/current/bfd/elfxx-sparc.c buildtools/vendor/binutils/current/bfd/elfxx-sparc.h buildtools/vendor/binutils/current/bfd/hosts/vaxlinux.h buildtools/vendor/binutils/current/bfd/po/rw.gmo buildtools/vendor/binutils/current/bfd/po/rw.po buildtools/vendor/binutils/current/bfd/po/vi.gmo buildtools/vendor/binutils/current/bfd/po/vi.po buildtools/vendor/binutils/current/bfd/warning.m4 buildtools/vendor/binutils/current/binutils/ChangeLog-2004 buildtools/vendor/binutils/current/binutils/ChangeLog-2005 buildtools/vendor/binutils/current/binutils/doc/config.texi buildtools/vendor/binutils/current/binutils/dwarf.c buildtools/vendor/binutils/current/binutils/dwarf.h buildtools/vendor/binutils/current/binutils/po/fi.gmo buildtools/vendor/binutils/current/binutils/po/fi.po buildtools/vendor/binutils/current/binutils/po/rw.gmo buildtools/vendor/binutils/current/binutils/po/rw.po buildtools/vendor/binutils/current/binutils/po/vi.gmo buildtools/vendor/binutils/current/binutils/po/vi.po buildtools/vendor/binutils/current/binutils/po/zh_TW.gmo buildtools/vendor/binutils/current/binutils/po/zh_TW.po buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/group.s buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/link-order.s buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/unknown.s buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/vax/ buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/vax/entrymask.s buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/vax/objdump.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/windres/escapex-2.rc buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/windres/escapex-2.rsd buildtools/vendor/binutils/current/config/depstand.m4 buildtools/vendor/binutils/current/config/enable.m4 buildtools/vendor/binutils/current/config/lead-dot.m4 buildtools/vendor/binutils/current/config/mh-ppc-aix buildtools/vendor/binutils/current/config/stdint.m4 buildtools/vendor/binutils/current/config/tls.m4 buildtools/vendor/binutils/current/cpu/m32c.cpu buildtools/vendor/binutils/current/cpu/m32c.opc buildtools/vendor/binutils/current/cpu/mt.cpu buildtools/vendor/binutils/current/cpu/mt.opc buildtools/vendor/binutils/current/cpu/xc16x.cpu buildtools/vendor/binutils/current/cpu/xc16x.opc buildtools/vendor/binutils/current/gas/ChangeLog-2004 buildtools/vendor/binutils/current/gas/ChangeLog-2005 buildtools/vendor/binutils/current/gas/bfin-lex.c buildtools/vendor/binutils/current/gas/bfin-parse.c buildtools/vendor/binutils/current/gas/bfin-parse.h buildtools/vendor/binutils/current/gas/config/bfin-aux.h buildtools/vendor/binutils/current/gas/config/bfin-defs.h buildtools/vendor/binutils/current/gas/config/bfin-lex.l buildtools/vendor/binutils/current/gas/config/bfin-parse.y buildtools/vendor/binutils/current/gas/config/tc-bfin.c buildtools/vendor/binutils/current/gas/config/tc-bfin.h buildtools/vendor/binutils/current/gas/config/tc-m32c.c buildtools/vendor/binutils/current/gas/config/tc-m32c.h buildtools/vendor/binutils/current/gas/config/tc-mt.c buildtools/vendor/binutils/current/gas/config/tc-mt.h buildtools/vendor/binutils/current/gas/config/tc-xc16x.c buildtools/vendor/binutils/current/gas/config/tc-xc16x.h buildtools/vendor/binutils/current/gas/config/tc-z80.c buildtools/vendor/binutils/current/gas/config/tc-z80.h buildtools/vendor/binutils/current/gas/config/te-armeabi.h buildtools/vendor/binutils/current/gas/config/te-gnu.h buildtools/vendor/binutils/current/gas/doc/c-bfin.texi buildtools/vendor/binutils/current/gas/doc/c-m32c.texi buildtools/vendor/binutils/current/gas/doc/c-mt.texi buildtools/vendor/binutils/current/gas/doc/c-xc16x.texi buildtools/vendor/binutils/current/gas/doc/c-z80.texi buildtools/vendor/binutils/current/gas/po/rw.gmo buildtools/vendor/binutils/current/gas/po/rw.po buildtools/vendor/binutils/current/gas/testsuite/ChangeLog-2004 buildtools/vendor/binutils/current/gas/testsuite/ChangeLog-2005 buildtools/vendor/binutils/current/gas/testsuite/gas/all/assign-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/assign-ok.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/assign.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/assign.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/cond.l buildtools/vendor/binutils/current/gas/testsuite/gas/all/equ-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/equ-ok.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/equiv1.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/equiv2.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/eqv-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/eqv-ok.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/eval.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/eval.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/forward.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/forward.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef2.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef2.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef3.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef3.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef4.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/redef5.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1g.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1l.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1u.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref1w.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref2.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref3.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/weakref4.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/abs12.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/abs12.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch4t.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch7.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch7.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch7m-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch7m-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch7m-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6t2-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6t2-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6t2-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6t2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6t2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm3-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm3-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm3-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm3.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm6.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm7dm.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/armv1-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/bignum1.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/blx-local.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/blx-local.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/eabi_attr_1.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/eabi_attr_1.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/float.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/immed.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad2.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/macro1.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/macro1.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/nomapping.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/nomapping.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/offset.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/pic_vxworks.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/r15-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/req.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/svc.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/svc.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/t16-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/t16-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/t16-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tcompat.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tcompat.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tcompat2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tcompat2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_bcond.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_bcond.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_invert.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_invert.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_it.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_it.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_it_bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_it_bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_it_bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_pool.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_pool.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_relax.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb2_relax.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb32.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb32.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumbv6k.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumbv6k.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tls.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tls.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/tls_vxworks.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/undefined.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/undefined_coff.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/unwind_vxworks.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp-bad.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp-bad_t2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp-bad_t2.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp-bad_t2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp1_t2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp1_t2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp1xD_t2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp1xD_t2.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp2_t2.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp2_t2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/ buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/arithmetic.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/arithmetic.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/bfin.exp buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/bit.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/bit.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/bit2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/bit2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/cache.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/cache.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/cache2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/cache2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/control_code.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/control_code.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/control_code2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/control_code2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/event.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/event.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/event2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/event2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/expected_errors.l buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/expected_errors.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/expected_move_errors.l buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/expected_move_errors.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/flow.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/flow.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/flow2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/flow2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/load.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/load.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/logical.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/logical.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/logical2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/logical2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/move.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/move.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/move2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/move2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel3.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel3.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel4.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/parallel4.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/reloc.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/reloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/shift.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/shift.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/shift2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/shift2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/stack.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/stack.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/stack2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/stack2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/store.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/store.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/vector.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/vector.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/vector2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/vector2.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/video.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/video.s buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/video2.d buildtools/vendor/binutils/current/gas/testsuite/gas/bfin/video2.s buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bcnst-pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-branch-pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-brokw-pic-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-brokw-pic-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-brokw-pic-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-fragtest-pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-pcplus.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-pcplus.s buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-pic-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-pic-2.s buildtools/vendor/binutils/current/gas/testsuite/gas/crx/gas-segfault.d buildtools/vendor/binutils/current/gas/testsuite/gas/crx/gas-segfault.s buildtools/vendor/binutils/current/gas/testsuite/gas/elf/redef.d buildtools/vendor/binutils/current/gas/testsuite/gas/elf/redef.s buildtools/vendor/binutils/current/gas/testsuite/gas/elf/section2.e-armeabi buildtools/vendor/binutils/current/gas/testsuite/gas/elf/struct.d buildtools/vendor/binutils/current/gas/testsuite/gas/elf/struct.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/bss.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/bss.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/equ.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/equ.e buildtools/vendor/binutils/current/gas/testsuite/gas/i386/equ.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/immed32.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/immed32.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/immed64.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/immed64.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel.e buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel16.e buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intelok.e buildtools/vendor/binutils/current/gas/testsuite/gas/i386/inval-seg.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/inval-seg.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/merom.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/merom.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/mixed-mode-reloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/mixed-mode-reloc32.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/mixed-mode-reloc64.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc32.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc32.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc32.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc64.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc64.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/reloc64.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rep-suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rep-suffix.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rep.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rep.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rex.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/rex.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/segment.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/segment.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/suffix.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/svme.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/svme.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/svme64.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/vmx.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/vmx.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-branch.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-branch.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-crx-suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-crx.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-crx.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-drx-suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-drx.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-drx.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-inval-seg.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-inval-seg.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-merom.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-merom.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-prescott.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-prescott.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-rep-suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-rep-suffix.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-rep.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-rep.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-segment.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-segment.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-stack-intel.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-stack-suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-stack.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-stack.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-vmx.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-vmx.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86_64.e buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/alloc.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/alloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/forward.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/forward.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/group-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/group-2.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/index.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/index.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-2.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-3.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-4.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-4.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-5.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ltoff22x-5.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/radix.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/radix.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/rotX.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/rotX.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/strange.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/strange.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-ok.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-ok.s buildtools/vendor/binutils/current/gas/testsuite/gas/lns/ buildtools/vendor/binutils/current/gas/testsuite/gas/lns/lns-common-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/lns/lns-common-1.s buildtools/vendor/binutils/current/gas/testsuite/gas/lns/lns-diag-1.l buildtools/vendor/binutils/current/gas/testsuite/gas/lns/lns-diag-1.s buildtools/vendor/binutils/current/gas/testsuite/gas/lns/lns.exp buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32-err.s buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32-pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32-pic.s buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32.d buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32.exp buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/rel32.s buildtools/vendor/binutils/current/gas/testsuite/gas/m68k/arch-cpu-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/m68k/arch-cpu-1.s buildtools/vendor/binutils/current/gas/testsuite/gas/m68k/mcf-fpu.d buildtools/vendor/binutils/current/gas/testsuite/gas/m68k/mcf-fpu.s buildtools/vendor/binutils/current/gas/testsuite/gas/macros/dot.l buildtools/vendor/binutils/current/gas/testsuite/gas/macros/dot.s buildtools/vendor/binutils/current/gas/testsuite/gas/macros/paren.d buildtools/vendor/binutils/current/gas/testsuite/gas/macros/paren.s buildtools/vendor/binutils/current/gas/testsuite/gas/macros/purge.l buildtools/vendor/binutils/current/gas/testsuite/gas/macros/purge.s buildtools/vendor/binutils/current/gas/testsuite/gas/macros/vararg.d buildtools/vendor/binutils/current/gas/testsuite/gas/macros/vararg.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2-64.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2pic-64.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16e-jrc.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16e-jrc.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16e-save.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16e-save.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-dsp.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-dsp.l buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-dsp.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-mt.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-mt.l buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips32-mt.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/vxworks1-el.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/vxworks1-xgot-el.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/vxworks1-xgot.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/vxworks1.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/vxworks1.s buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/hex2.d buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/hex2.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ buildtools/vendor/binutils/current/gas/testsuite/gas/mt/allinsn.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/allinsn.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badinsn.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badinsn1.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badoffsethigh.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badoffsetlow.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badorder.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badreg.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badsignedimmhigh.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badsignedimmlow.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badsyntax.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badsyntax1.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badunsignedimmhigh.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/badunsignedimmlow.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/errors.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ldst.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/misc.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/misc.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ms1-16-003.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ms1-16-003.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ms2.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/ms2.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/msys.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/msys.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/mt.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mt/relocs.d buildtools/vendor/binutils/current/gas/testsuite/gas/mt/relocs.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mt/relocs1.s buildtools/vendor/binutils/current/gas/testsuite/gas/mt/relocs2.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-g5.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-g5.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-operands.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-operands.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-reloc.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-reloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z9-109.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z9-109.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z900.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z900.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z990.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/esa-z990.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-operands.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-operands.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-reloc.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-reloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z9-109.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z9-109.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z900.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z900.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z990.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/zarch-z990.s buildtools/vendor/binutils/current/gas/testsuite/gas/sh/reg-prefix.d buildtools/vendor/binutils/current/gas/testsuite/gas/sh/reg-prefix.s buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/rdhpr.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/rdhpr.s buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/vxworks-pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/vxworks-pic.s buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/window.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/window.s buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/wrhpr.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/wrhpr.s buildtools/vendor/binutils/current/gas/testsuite/gas/vax/flonum.d buildtools/vendor/binutils/current/gas/testsuite/gas/vax/flonum.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/ buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/add.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/add_test.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/addb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/addc.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/addcb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/and.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/andb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/bfldl.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/bit.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/calla.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/calli.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/cmp.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/cmp_test.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/cmpb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/cmpi.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/cpl.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/div.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/jmpa.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/jmpi.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/jmpr.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/mov.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/mov_test.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/movb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/movbs.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/movbz.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/mul.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/neg.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/nop.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/or.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/orb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/prior.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/pushpop.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/ret.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/scxt.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/shlrol.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/sub.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/sub_test.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/subb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/subc.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/subcb.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/syscontrol1.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/syscontrol2.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/trap.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/xc16x.exp buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/xor.s buildtools/vendor/binutils/current/gas/testsuite/gas/xc16x/xorb.s buildtools/vendor/binutils/current/gas/testsuite/gas/z80/ buildtools/vendor/binutils/current/gas/testsuite/gas/z80/offset.d buildtools/vendor/binutils/current/gas/testsuite/gas/z80/offset.s buildtools/vendor/binutils/current/gas/testsuite/gas/z80/quotes.d buildtools/vendor/binutils/current/gas/testsuite/gas/z80/quotes.s buildtools/vendor/binutils/current/gas/testsuite/gas/z80/redef.d buildtools/vendor/binutils/current/gas/testsuite/gas/z80/redef.s buildtools/vendor/binutils/current/gas/testsuite/gas/z80/suffix.d buildtools/vendor/binutils/current/gas/testsuite/gas/z80/suffix.s buildtools/vendor/binutils/current/gas/testsuite/gas/z80/z80.exp buildtools/vendor/binutils/current/gprof/ChangeLog-2004 buildtools/vendor/binutils/current/gprof/ChangeLog-2005 buildtools/vendor/binutils/current/gprof/config.texi buildtools/vendor/binutils/current/gprof/po/ga.gmo buildtools/vendor/binutils/current/gprof/po/ga.po buildtools/vendor/binutils/current/gprof/po/rw.gmo buildtools/vendor/binutils/current/gprof/po/rw.po buildtools/vendor/binutils/current/include/coff/z80.h buildtools/vendor/binutils/current/include/elf/bfin.h buildtools/vendor/binutils/current/include/elf/m32c.h buildtools/vendor/binutils/current/include/elf/mt.h buildtools/vendor/binutils/current/include/elf/xc16x.h buildtools/vendor/binutils/current/include/gdb/sim-m32c.h buildtools/vendor/binutils/current/include/opcode/bfin.h buildtools/vendor/binutils/current/include/opcode/cgen-bitset.h buildtools/vendor/binutils/current/ld/ChangeLog-2004 buildtools/vendor/binutils/current/ld/ChangeLog-2005 buildtools/vendor/binutils/current/ld/elf-hints-local.h buildtools/vendor/binutils/current/ld/emulparams/bfin.sh buildtools/vendor/binutils/current/ld/emulparams/elf32_sparc_vxworks.sh buildtools/vendor/binutils/current/ld/emulparams/elf32bfinfd.sh buildtools/vendor/binutils/current/ld/emulparams/elf32ebmipvxworks.sh buildtools/vendor/binutils/current/ld/emulparams/elf32elmipvxworks.sh buildtools/vendor/binutils/current/ld/emulparams/elf32m32c.sh buildtools/vendor/binutils/current/ld/emulparams/elf32mt.sh buildtools/vendor/binutils/current/ld/emulparams/elf32ppccommon.sh buildtools/vendor/binutils/current/ld/emulparams/elf32ppcvxworks.sh buildtools/vendor/binutils/current/ld/emulparams/elf32xc16x.sh buildtools/vendor/binutils/current/ld/emulparams/elf32xc16xl.sh buildtools/vendor/binutils/current/ld/emulparams/elf32xc16xs.sh buildtools/vendor/binutils/current/ld/emulparams/elf_i386_vxworks.sh buildtools/vendor/binutils/current/ld/emulparams/vxworks.sh buildtools/vendor/binutils/current/ld/emulparams/z80.sh buildtools/vendor/binutils/current/ld/emultempl/vxworks.em buildtools/vendor/binutils/current/ld/emultempl/z80.em buildtools/vendor/binutils/current/ld/po/vi.gmo buildtools/vendor/binutils/current/ld/po/vi.po buildtools/vendor/binutils/current/ld/po/zh_CN.gmo buildtools/vendor/binutils/current/ld/po/zh_CN.po buildtools/vendor/binutils/current/ld/scripttempl/elf32xc16x.sc buildtools/vendor/binutils/current/ld/scripttempl/elf32xc16xl.sc buildtools/vendor/binutils/current/ld/scripttempl/elf32xc16xs.sc buildtools/vendor/binutils/current/ld/scripttempl/z80.sc buildtools/vendor/binutils/current/ld/testsuite/ChangeLog-2004 buildtools/vendor/binutils/current/ld/testsuite/ChangeLog-2005 buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-call.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-call1.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-call2.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/mixed-app-v5.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/thumb-entry.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/thumb-entry.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/thumb-rel32.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/thumb-rel32.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-app.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-app.r buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-app.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-lib.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-lib.r buildtools/vendor/binutils/current/ld/testsuite/ld-arm/tls-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1-lib.dd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1-lib.nd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1-lib.rd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1-static.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1.dd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks1.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks2-static.sd buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks2.s buildtools/vendor/binutils/current/ld/testsuite/ld-arm/vxworks2.sd buildtools/vendor/binutils/current/ld/testsuite/ld-cris/noov.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/noov.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh1.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh1.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh1a.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh2a.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh3.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh3.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/eh3a.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/empty.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/empty.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/empty2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/empty2.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/fini.c buildtools/vendor/binutils/current/ld/testsuite/ld-elf/fini.out buildtools/vendor/binutils/current/ld/testsuite/ld-elf/group2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/init.c buildtools/vendor/binutils/current/ld/testsuite/ld-elf/init.out buildtools/vendor/binutils/current/ld/testsuite/ld-elf/orphan.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/orphan.ld buildtools/vendor/binutils/current/ld/testsuite/ld-elf/orphan.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/orphan2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/orphan2.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/preinit.c buildtools/vendor/binutils/current/ld/testsuite/ld-elf/preinit.out buildtools/vendor/binutils/current/ld/testsuite/ld-elf/unknown.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/unknown2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/unknown2.s buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers30.c buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers30.dsym buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers30.map buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers30.ver buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers31.c buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers31.dsym buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers31.map buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers31.ver buildtools/vendor/binutils/current/ld/testsuite/ld-elfweak/size2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elfweak/size2a.s buildtools/vendor/binutils/current/ld/testsuite/ld-elfweak/size2b.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/abs.d buildtools/vendor/binutils/current/ld/testsuite/ld-i386/abs.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/emit-relocs.d buildtools/vendor/binutils/current/ld/testsuite/ld-i386/emit-relocs.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/pcrel16.d buildtools/vendor/binutils/current/ld/testsuite/ld-i386/pcrel16.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/pcrel8.d buildtools/vendor/binutils/current/ld/testsuite/ld-i386/pcrel8.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbindesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbindesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbindesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbindesc.sd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbindesc.td buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsdesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsdesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsdesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsdesc.sd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsdesc.td buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsgdesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsgdesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsgdesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1-lib.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1-lib.nd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1-lib.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1-static.d buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks1.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks2-static.sd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks2.s buildtools/vendor/binutils/current/ld/testsuite/ld-i386/vxworks2.sd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/zero.s buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/link-order.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/ buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaa-mac.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaa-mac.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaa-nodiv.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaa.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaa.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaaplus.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isaaplus.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isab-float.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isab-float.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isab-nousp.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isab.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/isab.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/m68k.exp buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1a.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1a.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1b.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1b.s buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1c.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1d.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-error-1e.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-ok-1a.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge-ok-1b.d buildtools/vendor/binutils/current/ld/testsuite/ld-m68k/merge.ld buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/emit-relocs-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/emit-relocs-1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/emit-relocs-1a.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/emit-relocs-1b.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1-10000.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1-2fe80.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1-7fff.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1-8000.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1-fff0.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/stub-dynsym-1.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/textrel-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/textrel-1.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden2-got.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden2a.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden2b.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3.ld buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3.r buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3a.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden3b.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden4.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden4.r buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden4a.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-hidden4b.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1-lib.dd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1-lib.nd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1-lib.rd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1-static.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1.dd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks1.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks2-static.sd buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks2.s buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/vxworks2.sd buildtools/vendor/binutils/current/ld/testsuite/ld-pie/ buildtools/vendor/binutils/current/ld/testsuite/ld-pie/pie.c buildtools/vendor/binutils/current/ld/testsuite/ld-pie/pie.exp buildtools/vendor/binutils/current/ld/testsuite/ld-pie/weakundef-data.c buildtools/vendor/binutils/current/ld/testsuite/ld-pie/weakundef.c buildtools/vendor/binutils/current/ld/testsuite/ld-pie/weakundef.out buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/sdadyn.d buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/sdadyn.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/sdalib.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/symtocbase-1.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/symtocbase-2.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/symtocbase.d buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-lib.dd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-lib.nd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-lib.rd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-lib.sd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1-static.d buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1.dd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks1.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks2-static.sd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks2.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/vxworks2.sd buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/cross3.t buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/cross4.c buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/empty-aligned.d buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/empty-aligned.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/empty-aligned.s buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/empty-aligned.t buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1-lib.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1-lib.nd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1-lib.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1-lib.s buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1-static.d buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1.ld buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks1.s buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks2-static.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks2.s buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/vxworks2.sd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/abs.d buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/pcrel16.d buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/pcrel8.d buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbindesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbindesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbindesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbindesc.sd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbindesc.td buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.pd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.sd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsdesc.td buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsgdesc.dd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsgdesc.rd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsgdesc.s buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/ buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/absrel.d buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/absrel.s buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/offset.d buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/offset.s buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/pcreloc.d buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/pcreloc.s buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/pcrelocl.d buildtools/vendor/binutils/current/ld/testsuite/ld-xc16x/xc16x.exp buildtools/vendor/binutils/current/libiberty/at-file.texi buildtools/vendor/binutils/current/libiberty/fopen_unlocked.c buildtools/vendor/binutils/current/libiberty/gettimeofday.c buildtools/vendor/binutils/current/libiberty/pex-common.c buildtools/vendor/binutils/current/libiberty/pex-one.c buildtools/vendor/binutils/current/libiberty/pexecute.c buildtools/vendor/binutils/current/libiberty/strndup.c buildtools/vendor/binutils/current/libiberty/strverscmp.c buildtools/vendor/binutils/current/libiberty/testsuite/test-expandargv.c buildtools/vendor/binutils/current/libiberty/testsuite/test-pexecute.c buildtools/vendor/binutils/current/libiberty/xstrndup.c buildtools/vendor/binutils/current/opcodes/ChangeLog-2004 buildtools/vendor/binutils/current/opcodes/ChangeLog-2005 buildtools/vendor/binutils/current/opcodes/bfin-dis.c buildtools/vendor/binutils/current/opcodes/cgen-bitset.c buildtools/vendor/binutils/current/opcodes/cgen-ops.h buildtools/vendor/binutils/current/opcodes/cgen-types.h buildtools/vendor/binutils/current/opcodes/m32c-asm.c buildtools/vendor/binutils/current/opcodes/m32c-desc.c buildtools/vendor/binutils/current/opcodes/m32c-desc.h buildtools/vendor/binutils/current/opcodes/m32c-dis.c buildtools/vendor/binutils/current/opcodes/m32c-ibld.c buildtools/vendor/binutils/current/opcodes/m32c-opc.c buildtools/vendor/binutils/current/opcodes/m32c-opc.h buildtools/vendor/binutils/current/opcodes/mt-asm.c buildtools/vendor/binutils/current/opcodes/mt-desc.c buildtools/vendor/binutils/current/opcodes/mt-desc.h buildtools/vendor/binutils/current/opcodes/mt-dis.c buildtools/vendor/binutils/current/opcodes/mt-ibld.c buildtools/vendor/binutils/current/opcodes/mt-opc.c buildtools/vendor/binutils/current/opcodes/mt-opc.h buildtools/vendor/binutils/current/opcodes/po/fi.gmo buildtools/vendor/binutils/current/opcodes/po/fi.po buildtools/vendor/binutils/current/opcodes/po/ga.gmo buildtools/vendor/binutils/current/opcodes/po/ga.po buildtools/vendor/binutils/current/opcodes/po/vi.gmo buildtools/vendor/binutils/current/opcodes/po/vi.po buildtools/vendor/binutils/current/opcodes/po/zh_CN.gmo buildtools/vendor/binutils/current/opcodes/po/zh_CN.po buildtools/vendor/binutils/current/opcodes/xc16x-asm.c buildtools/vendor/binutils/current/opcodes/xc16x-desc.c buildtools/vendor/binutils/current/opcodes/xc16x-desc.h buildtools/vendor/binutils/current/opcodes/xc16x-dis.c buildtools/vendor/binutils/current/opcodes/xc16x-ibld.c buildtools/vendor/binutils/current/opcodes/xc16x-opc.c buildtools/vendor/binutils/current/opcodes/xc16x-opc.h buildtools/vendor/binutils/current/opcodes/z80-dis.c Removed: buildtools/vendor/binutils/current/bfd/cf-m68klynx.c buildtools/vendor/binutils/current/bfd/coff-a29k.c buildtools/vendor/binutils/current/bfd/cpu-a29k.c buildtools/vendor/binutils/current/bfd/doc/bfd.info-1 buildtools/vendor/binutils/current/bfd/doc/bfd.info-2 buildtools/vendor/binutils/current/bfd/m68klynx.c buildtools/vendor/binutils/current/config/accross.m4 buildtools/vendor/binutils/current/config/gcc-lib-path.m4 buildtools/vendor/binutils/current/config/gcc-version.m4 buildtools/vendor/binutils/current/config/mh-mingw32 buildtools/vendor/binutils/current/gas/README-vms buildtools/vendor/binutils/current/gas/bignum-copy.c buildtools/vendor/binutils/current/gas/config-gas.com buildtools/vendor/binutils/current/gas/config/atof-tahoe.c buildtools/vendor/binutils/current/gas/config/m88k-opcode.h buildtools/vendor/binutils/current/gas/config/obj-bout.c buildtools/vendor/binutils/current/gas/config/obj-bout.h buildtools/vendor/binutils/current/gas/config/obj-hp300.c buildtools/vendor/binutils/current/gas/config/obj-hp300.h buildtools/vendor/binutils/current/gas/config/obj-vms.c buildtools/vendor/binutils/current/gas/config/obj-vms.h buildtools/vendor/binutils/current/gas/config/tc-a29k.c buildtools/vendor/binutils/current/gas/config/tc-a29k.h buildtools/vendor/binutils/current/gas/config/tc-h8500.c buildtools/vendor/binutils/current/gas/config/tc-h8500.h buildtools/vendor/binutils/current/gas/config/tc-m88k.c buildtools/vendor/binutils/current/gas/config/tc-m88k.h buildtools/vendor/binutils/current/gas/config/tc-tahoe.c buildtools/vendor/binutils/current/gas/config/tc-tahoe.h buildtools/vendor/binutils/current/gas/config/tc-tic80.c buildtools/vendor/binutils/current/gas/config/tc-tic80.h buildtools/vendor/binutils/current/gas/config/tc-w65.c buildtools/vendor/binutils/current/gas/config/tc-w65.h buildtools/vendor/binutils/current/gas/config/te-aux.h buildtools/vendor/binutils/current/gas/config/te-delt88.h buildtools/vendor/binutils/current/gas/config/te-delta.h buildtools/vendor/binutils/current/gas/config/te-dpx2.h buildtools/vendor/binutils/current/gas/config/te-hp300.h buildtools/vendor/binutils/current/gas/config/te-ic960.h buildtools/vendor/binutils/current/gas/config/te-sysv32.h buildtools/vendor/binutils/current/gas/config/vms-a-conf.h buildtools/vendor/binutils/current/gas/config/vms-conf.h buildtools/vendor/binutils/current/gas/doc/as.info-1 buildtools/vendor/binutils/current/gas/doc/as.info-2 buildtools/vendor/binutils/current/gas/doc/as.info-3 buildtools/vendor/binutils/current/gas/doc/c-a29k.texi buildtools/vendor/binutils/current/gas/doc/c-h8500.texi buildtools/vendor/binutils/current/gas/doc/c-m88k.texi buildtools/vendor/binutils/current/gas/link.cmd buildtools/vendor/binutils/current/gas/make-gas.com buildtools/vendor/binutils/current/gas/makefile.vms buildtools/vendor/binutils/current/gas/testsuite/gas/all/cond.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/wince_arm7t.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/wince_copro.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/wince_ldconst.d buildtools/vendor/binutils/current/gas/testsuite/gas/m88k/ buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2.l buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2pic.l buildtools/vendor/binutils/current/gas/testsuite/gas/mips/branch-misc-2pic.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/opcode.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/opcode.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/opcode64.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/opcode64.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/reloc.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/reloc.s buildtools/vendor/binutils/current/gas/testsuite/gas/s390/reloc64.d buildtools/vendor/binutils/current/gas/testsuite/gas/s390/reloc64.s buildtools/vendor/binutils/current/gas/testsuite/gas/tic80/ buildtools/vendor/binutils/current/gas/vmsconf.sh buildtools/vendor/binutils/current/include/coff/a29k.h buildtools/vendor/binutils/current/include/opcode/a29k.h buildtools/vendor/binutils/current/ld/emulparams/a29k.sh buildtools/vendor/binutils/current/ld/emulparams/ebmon29k.sh buildtools/vendor/binutils/current/ld/emulparams/m68klynx.sh buildtools/vendor/binutils/current/ld/emulparams/sa29200.sh buildtools/vendor/binutils/current/ld/emulparams/sparclynx.sh buildtools/vendor/binutils/current/libiberty/config.table buildtools/vendor/binutils/current/libiberty/pex-os2.c buildtools/vendor/binutils/current/opcodes/a29k-dis.c buildtools/vendor/binutils/current/opcodes/arm-opc.h Modified: buildtools/vendor/binutils/current/COPYING buildtools/vendor/binutils/current/COPYING.LIB buildtools/vendor/binutils/current/Makefile.def buildtools/vendor/binutils/current/Makefile.in buildtools/vendor/binutils/current/Makefile.tpl buildtools/vendor/binutils/current/bfd/COPYING buildtools/vendor/binutils/current/bfd/ChangeLog buildtools/vendor/binutils/current/bfd/Makefile.am buildtools/vendor/binutils/current/bfd/Makefile.in buildtools/vendor/binutils/current/bfd/acinclude.m4 buildtools/vendor/binutils/current/bfd/aix386-core.c buildtools/vendor/binutils/current/bfd/aix5ppc-core.c buildtools/vendor/binutils/current/bfd/aout-adobe.c buildtools/vendor/binutils/current/bfd/aout-arm.c buildtools/vendor/binutils/current/bfd/aout-cris.c buildtools/vendor/binutils/current/bfd/aout-ns32k.c buildtools/vendor/binutils/current/bfd/aout-sparcle.c buildtools/vendor/binutils/current/bfd/aout-target.h buildtools/vendor/binutils/current/bfd/aout-tic30.c buildtools/vendor/binutils/current/bfd/aout0.c buildtools/vendor/binutils/current/bfd/aout32.c buildtools/vendor/binutils/current/bfd/aout64.c buildtools/vendor/binutils/current/bfd/aoutf1.h buildtools/vendor/binutils/current/bfd/aoutx.h buildtools/vendor/binutils/current/bfd/archive.c buildtools/vendor/binutils/current/bfd/archive64.c buildtools/vendor/binutils/current/bfd/archures.c buildtools/vendor/binutils/current/bfd/armnetbsd.c buildtools/vendor/binutils/current/bfd/bfd-in.h buildtools/vendor/binutils/current/bfd/bfd-in2.h buildtools/vendor/binutils/current/bfd/bfd.c buildtools/vendor/binutils/current/bfd/bfd.m4 buildtools/vendor/binutils/current/bfd/bfdio.c buildtools/vendor/binutils/current/bfd/bfdwin.c buildtools/vendor/binutils/current/bfd/binary.c buildtools/vendor/binutils/current/bfd/bout.c buildtools/vendor/binutils/current/bfd/cache.c buildtools/vendor/binutils/current/bfd/cf-i386lynx.c buildtools/vendor/binutils/current/bfd/cf-sparclynx.c buildtools/vendor/binutils/current/bfd/cisco-core.c buildtools/vendor/binutils/current/bfd/coff-alpha.c buildtools/vendor/binutils/current/bfd/coff-apollo.c buildtools/vendor/binutils/current/bfd/coff-arm.c buildtools/vendor/binutils/current/bfd/coff-aux.c buildtools/vendor/binutils/current/bfd/coff-go32.c buildtools/vendor/binutils/current/bfd/coff-h8300.c buildtools/vendor/binutils/current/bfd/coff-h8500.c buildtools/vendor/binutils/current/bfd/coff-i386.c buildtools/vendor/binutils/current/bfd/coff-i860.c buildtools/vendor/binutils/current/bfd/coff-i960.c buildtools/vendor/binutils/current/bfd/coff-ia64.c buildtools/vendor/binutils/current/bfd/coff-m68k.c buildtools/vendor/binutils/current/bfd/coff-m88k.c buildtools/vendor/binutils/current/bfd/coff-maxq.c buildtools/vendor/binutils/current/bfd/coff-mcore.c buildtools/vendor/binutils/current/bfd/coff-mips.c buildtools/vendor/binutils/current/bfd/coff-or32.c buildtools/vendor/binutils/current/bfd/coff-pmac.c buildtools/vendor/binutils/current/bfd/coff-ppc.c buildtools/vendor/binutils/current/bfd/coff-rs6000.c buildtools/vendor/binutils/current/bfd/coff-sh.c buildtools/vendor/binutils/current/bfd/coff-sparc.c buildtools/vendor/binutils/current/bfd/coff-stgo32.c buildtools/vendor/binutils/current/bfd/coff-svm68k.c buildtools/vendor/binutils/current/bfd/coff-tic30.c buildtools/vendor/binutils/current/bfd/coff-tic4x.c buildtools/vendor/binutils/current/bfd/coff-tic54x.c buildtools/vendor/binutils/current/bfd/coff-tic80.c buildtools/vendor/binutils/current/bfd/coff-u68k.c buildtools/vendor/binutils/current/bfd/coff-w65.c buildtools/vendor/binutils/current/bfd/coff-we32k.c buildtools/vendor/binutils/current/bfd/coff-z8k.c buildtools/vendor/binutils/current/bfd/coff64-rs6000.c buildtools/vendor/binutils/current/bfd/coffcode.h buildtools/vendor/binutils/current/bfd/coffgen.c buildtools/vendor/binutils/current/bfd/cofflink.c buildtools/vendor/binutils/current/bfd/coffswap.h buildtools/vendor/binutils/current/bfd/config.bfd buildtools/vendor/binutils/current/bfd/config.in buildtools/vendor/binutils/current/bfd/configure buildtools/vendor/binutils/current/bfd/configure.host buildtools/vendor/binutils/current/bfd/configure.in buildtools/vendor/binutils/current/bfd/corefile.c buildtools/vendor/binutils/current/bfd/cpu-alpha.c buildtools/vendor/binutils/current/bfd/cpu-arc.c buildtools/vendor/binutils/current/bfd/cpu-arm.c buildtools/vendor/binutils/current/bfd/cpu-avr.c buildtools/vendor/binutils/current/bfd/cpu-cr16c.c buildtools/vendor/binutils/current/bfd/cpu-cris.c buildtools/vendor/binutils/current/bfd/cpu-crx.c buildtools/vendor/binutils/current/bfd/cpu-d10v.c buildtools/vendor/binutils/current/bfd/cpu-d30v.c buildtools/vendor/binutils/current/bfd/cpu-dlx.c buildtools/vendor/binutils/current/bfd/cpu-fr30.c buildtools/vendor/binutils/current/bfd/cpu-frv.c buildtools/vendor/binutils/current/bfd/cpu-h8300.c buildtools/vendor/binutils/current/bfd/cpu-h8500.c buildtools/vendor/binutils/current/bfd/cpu-hppa.c buildtools/vendor/binutils/current/bfd/cpu-i370.c buildtools/vendor/binutils/current/bfd/cpu-i386.c buildtools/vendor/binutils/current/bfd/cpu-i860.c buildtools/vendor/binutils/current/bfd/cpu-i960.c buildtools/vendor/binutils/current/bfd/cpu-ia64-opc.c buildtools/vendor/binutils/current/bfd/cpu-ia64.c buildtools/vendor/binutils/current/bfd/cpu-ip2k.c buildtools/vendor/binutils/current/bfd/cpu-iq2000.c buildtools/vendor/binutils/current/bfd/cpu-m10200.c buildtools/vendor/binutils/current/bfd/cpu-m10300.c buildtools/vendor/binutils/current/bfd/cpu-m32r.c buildtools/vendor/binutils/current/bfd/cpu-m68hc11.c buildtools/vendor/binutils/current/bfd/cpu-m68hc12.c buildtools/vendor/binutils/current/bfd/cpu-m68k.c buildtools/vendor/binutils/current/bfd/cpu-m88k.c buildtools/vendor/binutils/current/bfd/cpu-maxq.c buildtools/vendor/binutils/current/bfd/cpu-mcore.c buildtools/vendor/binutils/current/bfd/cpu-mips.c buildtools/vendor/binutils/current/bfd/cpu-mmix.c buildtools/vendor/binutils/current/bfd/cpu-msp430.c buildtools/vendor/binutils/current/bfd/cpu-ns32k.c buildtools/vendor/binutils/current/bfd/cpu-openrisc.c buildtools/vendor/binutils/current/bfd/cpu-or32.c buildtools/vendor/binutils/current/bfd/cpu-pdp11.c buildtools/vendor/binutils/current/bfd/cpu-pj.c buildtools/vendor/binutils/current/bfd/cpu-powerpc.c buildtools/vendor/binutils/current/bfd/cpu-rs6000.c buildtools/vendor/binutils/current/bfd/cpu-s390.c buildtools/vendor/binutils/current/bfd/cpu-sh.c buildtools/vendor/binutils/current/bfd/cpu-sparc.c buildtools/vendor/binutils/current/bfd/cpu-tic30.c buildtools/vendor/binutils/current/bfd/cpu-tic4x.c buildtools/vendor/binutils/current/bfd/cpu-tic54x.c buildtools/vendor/binutils/current/bfd/cpu-tic80.c buildtools/vendor/binutils/current/bfd/cpu-v850.c buildtools/vendor/binutils/current/bfd/cpu-vax.c buildtools/vendor/binutils/current/bfd/cpu-w65.c buildtools/vendor/binutils/current/bfd/cpu-we32k.c buildtools/vendor/binutils/current/bfd/cpu-xstormy16.c buildtools/vendor/binutils/current/bfd/cpu-xtensa.c buildtools/vendor/binutils/current/bfd/cpu-z8k.c buildtools/vendor/binutils/current/bfd/demo64.c buildtools/vendor/binutils/current/bfd/dep-in.sed buildtools/vendor/binutils/current/bfd/doc/ChangeLog buildtools/vendor/binutils/current/bfd/doc/Makefile.am buildtools/vendor/binutils/current/bfd/doc/Makefile.in buildtools/vendor/binutils/current/bfd/doc/aoutx.texi buildtools/vendor/binutils/current/bfd/doc/archive.texi buildtools/vendor/binutils/current/bfd/doc/archures.texi buildtools/vendor/binutils/current/bfd/doc/bfd.info buildtools/vendor/binutils/current/bfd/doc/bfd.texinfo buildtools/vendor/binutils/current/bfd/doc/bfdt.texi buildtools/vendor/binutils/current/bfd/doc/cache.texi buildtools/vendor/binutils/current/bfd/doc/chew.c buildtools/vendor/binutils/current/bfd/doc/coffcode.texi buildtools/vendor/binutils/current/bfd/doc/core.texi buildtools/vendor/binutils/current/bfd/doc/elf.texi buildtools/vendor/binutils/current/bfd/doc/fdl.texi buildtools/vendor/binutils/current/bfd/doc/format.texi buildtools/vendor/binutils/current/bfd/doc/hash.texi buildtools/vendor/binutils/current/bfd/doc/init.texi buildtools/vendor/binutils/current/bfd/doc/libbfd.texi buildtools/vendor/binutils/current/bfd/doc/linker.texi buildtools/vendor/binutils/current/bfd/doc/opncls.texi buildtools/vendor/binutils/current/bfd/doc/reloc.texi buildtools/vendor/binutils/current/bfd/doc/section.texi buildtools/vendor/binutils/current/bfd/doc/targets.texi buildtools/vendor/binutils/current/bfd/dwarf1.c buildtools/vendor/binutils/current/bfd/dwarf2.c buildtools/vendor/binutils/current/bfd/ecoff.c buildtools/vendor/binutils/current/bfd/ecofflink.c buildtools/vendor/binutils/current/bfd/ecoffswap.h buildtools/vendor/binutils/current/bfd/efi-app-ia32.c buildtools/vendor/binutils/current/bfd/efi-app-ia64.c buildtools/vendor/binutils/current/bfd/elf-bfd.h buildtools/vendor/binutils/current/bfd/elf-eh-frame.c buildtools/vendor/binutils/current/bfd/elf-hppa.h buildtools/vendor/binutils/current/bfd/elf-m10200.c buildtools/vendor/binutils/current/bfd/elf-m10300.c buildtools/vendor/binutils/current/bfd/elf-strtab.c buildtools/vendor/binutils/current/bfd/elf.c buildtools/vendor/binutils/current/bfd/elf32-am33lin.c buildtools/vendor/binutils/current/bfd/elf32-arc.c buildtools/vendor/binutils/current/bfd/elf32-arm.c buildtools/vendor/binutils/current/bfd/elf32-avr.c buildtools/vendor/binutils/current/bfd/elf32-cr16c.c buildtools/vendor/binutils/current/bfd/elf32-cris.c buildtools/vendor/binutils/current/bfd/elf32-crx.c buildtools/vendor/binutils/current/bfd/elf32-d10v.c buildtools/vendor/binutils/current/bfd/elf32-d30v.c buildtools/vendor/binutils/current/bfd/elf32-dlx.c buildtools/vendor/binutils/current/bfd/elf32-fr30.c buildtools/vendor/binutils/current/bfd/elf32-frv.c buildtools/vendor/binutils/current/bfd/elf32-gen.c buildtools/vendor/binutils/current/bfd/elf32-h8300.c buildtools/vendor/binutils/current/bfd/elf32-hppa.c buildtools/vendor/binutils/current/bfd/elf32-hppa.h buildtools/vendor/binutils/current/bfd/elf32-i370.c buildtools/vendor/binutils/current/bfd/elf32-i386.c buildtools/vendor/binutils/current/bfd/elf32-i860.c buildtools/vendor/binutils/current/bfd/elf32-i960.c buildtools/vendor/binutils/current/bfd/elf32-ip2k.c buildtools/vendor/binutils/current/bfd/elf32-iq2000.c buildtools/vendor/binutils/current/bfd/elf32-m32r.c buildtools/vendor/binutils/current/bfd/elf32-m68hc11.c buildtools/vendor/binutils/current/bfd/elf32-m68hc12.c buildtools/vendor/binutils/current/bfd/elf32-m68hc1x.c buildtools/vendor/binutils/current/bfd/elf32-m68hc1x.h buildtools/vendor/binutils/current/bfd/elf32-m68k.c buildtools/vendor/binutils/current/bfd/elf32-m88k.c buildtools/vendor/binutils/current/bfd/elf32-mcore.c buildtools/vendor/binutils/current/bfd/elf32-mips.c buildtools/vendor/binutils/current/bfd/elf32-msp430.c buildtools/vendor/binutils/current/bfd/elf32-openrisc.c buildtools/vendor/binutils/current/bfd/elf32-or32.c buildtools/vendor/binutils/current/bfd/elf32-pj.c buildtools/vendor/binutils/current/bfd/elf32-ppc.c buildtools/vendor/binutils/current/bfd/elf32-ppc.h buildtools/vendor/binutils/current/bfd/elf32-s390.c buildtools/vendor/binutils/current/bfd/elf32-sh-symbian.c buildtools/vendor/binutils/current/bfd/elf32-sh.c buildtools/vendor/binutils/current/bfd/elf32-sh64-com.c buildtools/vendor/binutils/current/bfd/elf32-sh64.c buildtools/vendor/binutils/current/bfd/elf32-sh64.h buildtools/vendor/binutils/current/bfd/elf32-sparc.c buildtools/vendor/binutils/current/bfd/elf32-v850.c buildtools/vendor/binutils/current/bfd/elf32-vax.c buildtools/vendor/binutils/current/bfd/elf32-xstormy16.c buildtools/vendor/binutils/current/bfd/elf32-xtensa.c buildtools/vendor/binutils/current/bfd/elf32.c buildtools/vendor/binutils/current/bfd/elf64-alpha.c buildtools/vendor/binutils/current/bfd/elf64-gen.c buildtools/vendor/binutils/current/bfd/elf64-hppa.c buildtools/vendor/binutils/current/bfd/elf64-hppa.h buildtools/vendor/binutils/current/bfd/elf64-mips.c buildtools/vendor/binutils/current/bfd/elf64-mmix.c buildtools/vendor/binutils/current/bfd/elf64-ppc.c buildtools/vendor/binutils/current/bfd/elf64-ppc.h buildtools/vendor/binutils/current/bfd/elf64-s390.c buildtools/vendor/binutils/current/bfd/elf64-sh64.c buildtools/vendor/binutils/current/bfd/elf64-sparc.c buildtools/vendor/binutils/current/bfd/elf64-x86-64.c buildtools/vendor/binutils/current/bfd/elf64.c buildtools/vendor/binutils/current/bfd/elfcode.h buildtools/vendor/binutils/current/bfd/elfcore.h buildtools/vendor/binutils/current/bfd/elflink.c buildtools/vendor/binutils/current/bfd/elfn32-mips.c buildtools/vendor/binutils/current/bfd/elfxx-ia64.c buildtools/vendor/binutils/current/bfd/elfxx-mips.c buildtools/vendor/binutils/current/bfd/elfxx-mips.h buildtools/vendor/binutils/current/bfd/elfxx-target.h buildtools/vendor/binutils/current/bfd/epoc-pe-arm.c buildtools/vendor/binutils/current/bfd/epoc-pei-arm.c buildtools/vendor/binutils/current/bfd/format.c buildtools/vendor/binutils/current/bfd/freebsd.h buildtools/vendor/binutils/current/bfd/gen-aout.c buildtools/vendor/binutils/current/bfd/genlink.h buildtools/vendor/binutils/current/bfd/hash.c buildtools/vendor/binutils/current/bfd/host-aout.c buildtools/vendor/binutils/current/bfd/hosts/alphavms.h buildtools/vendor/binutils/current/bfd/hp300bsd.c buildtools/vendor/binutils/current/bfd/hp300hpux.c buildtools/vendor/binutils/current/bfd/hppabsd-core.c buildtools/vendor/binutils/current/bfd/hpux-core.c buildtools/vendor/binutils/current/bfd/i386aout.c buildtools/vendor/binutils/current/bfd/i386bsd.c buildtools/vendor/binutils/current/bfd/i386dynix.c buildtools/vendor/binutils/current/bfd/i386freebsd.c buildtools/vendor/binutils/current/bfd/i386linux.c buildtools/vendor/binutils/current/bfd/i386lynx.c buildtools/vendor/binutils/current/bfd/i386mach3.c buildtools/vendor/binutils/current/bfd/i386msdos.c buildtools/vendor/binutils/current/bfd/i386netbsd.c buildtools/vendor/binutils/current/bfd/i386os9k.c buildtools/vendor/binutils/current/bfd/ieee.c buildtools/vendor/binutils/current/bfd/ihex.c buildtools/vendor/binutils/current/bfd/init.c buildtools/vendor/binutils/current/bfd/irix-core.c buildtools/vendor/binutils/current/bfd/libaout.h buildtools/vendor/binutils/current/bfd/libbfd-in.h buildtools/vendor/binutils/current/bfd/libbfd.c buildtools/vendor/binutils/current/bfd/libbfd.h buildtools/vendor/binutils/current/bfd/libcoff-in.h buildtools/vendor/binutils/current/bfd/libcoff.h buildtools/vendor/binutils/current/bfd/libecoff.h buildtools/vendor/binutils/current/bfd/libhppa.h buildtools/vendor/binutils/current/bfd/libieee.h buildtools/vendor/binutils/current/bfd/libnlm.h buildtools/vendor/binutils/current/bfd/liboasys.h buildtools/vendor/binutils/current/bfd/libpei.h buildtools/vendor/binutils/current/bfd/libxcoff.h buildtools/vendor/binutils/current/bfd/linker.c buildtools/vendor/binutils/current/bfd/lynx-core.c buildtools/vendor/binutils/current/bfd/m68k4knetbsd.c buildtools/vendor/binutils/current/bfd/m68klinux.c buildtools/vendor/binutils/current/bfd/m68knetbsd.c buildtools/vendor/binutils/current/bfd/m88kmach3.c buildtools/vendor/binutils/current/bfd/m88kopenbsd.c buildtools/vendor/binutils/current/bfd/mach-o-target.c buildtools/vendor/binutils/current/bfd/mach-o.c buildtools/vendor/binutils/current/bfd/mach-o.h buildtools/vendor/binutils/current/bfd/merge.c buildtools/vendor/binutils/current/bfd/mipsbsd.c buildtools/vendor/binutils/current/bfd/mmo.c buildtools/vendor/binutils/current/bfd/netbsd-core.c buildtools/vendor/binutils/current/bfd/netbsd.h buildtools/vendor/binutils/current/bfd/newsos3.c buildtools/vendor/binutils/current/bfd/nlm-target.h buildtools/vendor/binutils/current/bfd/nlm.c buildtools/vendor/binutils/current/bfd/nlm32-alpha.c buildtools/vendor/binutils/current/bfd/nlm32-i386.c buildtools/vendor/binutils/current/bfd/nlm32-ppc.c buildtools/vendor/binutils/current/bfd/nlm32-sparc.c buildtools/vendor/binutils/current/bfd/nlm32.c buildtools/vendor/binutils/current/bfd/nlm64.c buildtools/vendor/binutils/current/bfd/nlmcode.h buildtools/vendor/binutils/current/bfd/nlmswap.h buildtools/vendor/binutils/current/bfd/ns32k.h buildtools/vendor/binutils/current/bfd/ns32knetbsd.c buildtools/vendor/binutils/current/bfd/oasys.c buildtools/vendor/binutils/current/bfd/opncls.c buildtools/vendor/binutils/current/bfd/osf-core.c buildtools/vendor/binutils/current/bfd/pc532-mach.c buildtools/vendor/binutils/current/bfd/pdp11.c buildtools/vendor/binutils/current/bfd/pe-arm.c buildtools/vendor/binutils/current/bfd/pe-i386.c buildtools/vendor/binutils/current/bfd/pe-mcore.c buildtools/vendor/binutils/current/bfd/pe-mips.c buildtools/vendor/binutils/current/bfd/pe-ppc.c buildtools/vendor/binutils/current/bfd/pe-sh.c buildtools/vendor/binutils/current/bfd/peXXigen.c buildtools/vendor/binutils/current/bfd/pef-traceback.h buildtools/vendor/binutils/current/bfd/pef.c buildtools/vendor/binutils/current/bfd/pef.h buildtools/vendor/binutils/current/bfd/pei-arm.c buildtools/vendor/binutils/current/bfd/pei-i386.c buildtools/vendor/binutils/current/bfd/pei-mcore.c buildtools/vendor/binutils/current/bfd/pei-mips.c buildtools/vendor/binutils/current/bfd/pei-ppc.c buildtools/vendor/binutils/current/bfd/pei-sh.c buildtools/vendor/binutils/current/bfd/peicode.h buildtools/vendor/binutils/current/bfd/po/Make-in buildtools/vendor/binutils/current/bfd/po/SRC-POTFILES.in buildtools/vendor/binutils/current/bfd/po/bfd.pot buildtools/vendor/binutils/current/bfd/po/es.gmo buildtools/vendor/binutils/current/bfd/po/es.po buildtools/vendor/binutils/current/bfd/ppcboot.c buildtools/vendor/binutils/current/bfd/ptrace-core.c buildtools/vendor/binutils/current/bfd/reloc.c buildtools/vendor/binutils/current/bfd/reloc16.c buildtools/vendor/binutils/current/bfd/riscix.c buildtools/vendor/binutils/current/bfd/rs6000-core.c buildtools/vendor/binutils/current/bfd/sco5-core.c buildtools/vendor/binutils/current/bfd/section.c buildtools/vendor/binutils/current/bfd/simple.c buildtools/vendor/binutils/current/bfd/som.c buildtools/vendor/binutils/current/bfd/som.h buildtools/vendor/binutils/current/bfd/sparclinux.c buildtools/vendor/binutils/current/bfd/sparclynx.c buildtools/vendor/binutils/current/bfd/sparcnetbsd.c buildtools/vendor/binutils/current/bfd/srec.c buildtools/vendor/binutils/current/bfd/stab-syms.c buildtools/vendor/binutils/current/bfd/stabs.c buildtools/vendor/binutils/current/bfd/sunos.c buildtools/vendor/binutils/current/bfd/syms.c buildtools/vendor/binutils/current/bfd/sysdep.h buildtools/vendor/binutils/current/bfd/targets.c buildtools/vendor/binutils/current/bfd/tekhex.c buildtools/vendor/binutils/current/bfd/ticoff.h buildtools/vendor/binutils/current/bfd/trad-core.c buildtools/vendor/binutils/current/bfd/vax1knetbsd.c buildtools/vendor/binutils/current/bfd/vaxbsd.c buildtools/vendor/binutils/current/bfd/vaxnetbsd.c buildtools/vendor/binutils/current/bfd/versados.c buildtools/vendor/binutils/current/bfd/version.h buildtools/vendor/binutils/current/bfd/vms-gsd.c buildtools/vendor/binutils/current/bfd/vms-hdr.c buildtools/vendor/binutils/current/bfd/vms-misc.c buildtools/vendor/binutils/current/bfd/vms-tir.c buildtools/vendor/binutils/current/bfd/vms.c buildtools/vendor/binutils/current/bfd/vms.h buildtools/vendor/binutils/current/bfd/xcoff-target.h buildtools/vendor/binutils/current/bfd/xcofflink.c buildtools/vendor/binutils/current/bfd/xsym.c buildtools/vendor/binutils/current/bfd/xsym.h buildtools/vendor/binutils/current/bfd/xtensa-isa.c buildtools/vendor/binutils/current/bfd/xtensa-modules.c buildtools/vendor/binutils/current/binutils/BRANCHES buildtools/vendor/binutils/current/binutils/ChangeLog buildtools/vendor/binutils/current/binutils/MAINTAINERS buildtools/vendor/binutils/current/binutils/Makefile.am buildtools/vendor/binutils/current/binutils/Makefile.in buildtools/vendor/binutils/current/binutils/NEWS buildtools/vendor/binutils/current/binutils/acinclude.m4 buildtools/vendor/binutils/current/binutils/aclocal.m4 buildtools/vendor/binutils/current/binutils/addr2line.c buildtools/vendor/binutils/current/binutils/ar.c buildtools/vendor/binutils/current/binutils/arlex.c buildtools/vendor/binutils/current/binutils/arlex.l buildtools/vendor/binutils/current/binutils/arparse.c buildtools/vendor/binutils/current/binutils/arparse.h buildtools/vendor/binutils/current/binutils/arparse.y buildtools/vendor/binutils/current/binutils/arsup.c buildtools/vendor/binutils/current/binutils/arsup.h buildtools/vendor/binutils/current/binutils/binemul.c buildtools/vendor/binutils/current/binutils/binemul.h buildtools/vendor/binutils/current/binutils/bucomm.c buildtools/vendor/binutils/current/binutils/bucomm.h buildtools/vendor/binutils/current/binutils/budbg.h buildtools/vendor/binutils/current/binutils/budemang.c buildtools/vendor/binutils/current/binutils/budemang.h buildtools/vendor/binutils/current/binutils/coffdump.c buildtools/vendor/binutils/current/binutils/coffgrok.c buildtools/vendor/binutils/current/binutils/coffgrok.h buildtools/vendor/binutils/current/binutils/config.in buildtools/vendor/binutils/current/binutils/configure buildtools/vendor/binutils/current/binutils/configure.in buildtools/vendor/binutils/current/binutils/cxxfilt.c buildtools/vendor/binutils/current/binutils/debug.c buildtools/vendor/binutils/current/binutils/debug.h buildtools/vendor/binutils/current/binutils/deflex.c buildtools/vendor/binutils/current/binutils/deflex.l buildtools/vendor/binutils/current/binutils/defparse.c buildtools/vendor/binutils/current/binutils/defparse.h buildtools/vendor/binutils/current/binutils/defparse.y buildtools/vendor/binutils/current/binutils/dep-in.sed buildtools/vendor/binutils/current/binutils/dlltool.c buildtools/vendor/binutils/current/binutils/dlltool.h buildtools/vendor/binutils/current/binutils/dllwrap.c buildtools/vendor/binutils/current/binutils/doc/Makefile.am buildtools/vendor/binutils/current/binutils/doc/Makefile.in buildtools/vendor/binutils/current/binutils/doc/addr2line.1 buildtools/vendor/binutils/current/binutils/doc/ar.1 buildtools/vendor/binutils/current/binutils/doc/binutils.info buildtools/vendor/binutils/current/binutils/doc/binutils.texi buildtools/vendor/binutils/current/binutils/doc/cxxfilt.man buildtools/vendor/binutils/current/binutils/doc/dlltool.1 buildtools/vendor/binutils/current/binutils/doc/fdl.texi buildtools/vendor/binutils/current/binutils/doc/nlmconv.1 buildtools/vendor/binutils/current/binutils/doc/nm.1 buildtools/vendor/binutils/current/binutils/doc/objcopy.1 buildtools/vendor/binutils/current/binutils/doc/objdump.1 buildtools/vendor/binutils/current/binutils/doc/ranlib.1 buildtools/vendor/binutils/current/binutils/doc/readelf.1 buildtools/vendor/binutils/current/binutils/doc/size.1 buildtools/vendor/binutils/current/binutils/doc/strings.1 buildtools/vendor/binutils/current/binutils/doc/strip.1 buildtools/vendor/binutils/current/binutils/doc/windres.1 buildtools/vendor/binutils/current/binutils/emul_aix.c buildtools/vendor/binutils/current/binutils/emul_vanilla.c buildtools/vendor/binutils/current/binutils/filemode.c buildtools/vendor/binutils/current/binutils/ieee.c buildtools/vendor/binutils/current/binutils/nlmconv.c buildtools/vendor/binutils/current/binutils/nlmconv.h buildtools/vendor/binutils/current/binutils/nlmheader.c buildtools/vendor/binutils/current/binutils/nlmheader.h buildtools/vendor/binutils/current/binutils/nlmheader.y buildtools/vendor/binutils/current/binutils/nm.c buildtools/vendor/binutils/current/binutils/objcopy.c buildtools/vendor/binutils/current/binutils/objdump.c buildtools/vendor/binutils/current/binutils/po/Make-in buildtools/vendor/binutils/current/binutils/po/POTFILES.in buildtools/vendor/binutils/current/binutils/po/binutils.pot buildtools/vendor/binutils/current/binutils/po/es.gmo buildtools/vendor/binutils/current/binutils/po/es.po buildtools/vendor/binutils/current/binutils/po/fr.gmo buildtools/vendor/binutils/current/binutils/po/fr.po buildtools/vendor/binutils/current/binutils/po/ru.gmo buildtools/vendor/binutils/current/binutils/po/ru.po buildtools/vendor/binutils/current/binutils/prdbg.c buildtools/vendor/binutils/current/binutils/ranlib.sh buildtools/vendor/binutils/current/binutils/rclex.c buildtools/vendor/binutils/current/binutils/rclex.l buildtools/vendor/binutils/current/binutils/rcparse.c buildtools/vendor/binutils/current/binutils/rcparse.h buildtools/vendor/binutils/current/binutils/rcparse.y buildtools/vendor/binutils/current/binutils/rdcoff.c buildtools/vendor/binutils/current/binutils/rddbg.c buildtools/vendor/binutils/current/binutils/readelf.c buildtools/vendor/binutils/current/binutils/rename.c buildtools/vendor/binutils/current/binutils/resbin.c buildtools/vendor/binutils/current/binutils/rescoff.c buildtools/vendor/binutils/current/binutils/resrc.c buildtools/vendor/binutils/current/binutils/resres.c buildtools/vendor/binutils/current/binutils/sanity.sh buildtools/vendor/binutils/current/binutils/size.c buildtools/vendor/binutils/current/binutils/srconv.c buildtools/vendor/binutils/current/binutils/stabs.c buildtools/vendor/binutils/current/binutils/strings.c buildtools/vendor/binutils/current/binutils/sysdump.c buildtools/vendor/binutils/current/binutils/sysinfo.c buildtools/vendor/binutils/current/binutils/sysinfo.h buildtools/vendor/binutils/current/binutils/sysinfo.y buildtools/vendor/binutils/current/binutils/syslex.c buildtools/vendor/binutils/current/binutils/syslex.l buildtools/vendor/binutils/current/binutils/testsuite/ChangeLog buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/ar.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/dlltool.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/hppa/objdump.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/m68k/objdump.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/nm.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/objcopy.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/objdump.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/readelf.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/readelf.ss buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/size.exp buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/windres/msupdate buildtools/vendor/binutils/current/binutils/testsuite/binutils-all/windres/windres.exp buildtools/vendor/binutils/current/binutils/testsuite/config/default.exp buildtools/vendor/binutils/current/binutils/testsuite/lib/utils-lib.exp buildtools/vendor/binutils/current/binutils/unwind-ia64.c buildtools/vendor/binutils/current/binutils/unwind-ia64.h buildtools/vendor/binutils/current/binutils/version.c buildtools/vendor/binutils/current/binutils/windres.c buildtools/vendor/binutils/current/binutils/windres.h buildtools/vendor/binutils/current/binutils/winduni.c buildtools/vendor/binutils/current/binutils/winduni.h buildtools/vendor/binutils/current/binutils/wrstabs.c buildtools/vendor/binutils/current/config-ml.in buildtools/vendor/binutils/current/config.guess buildtools/vendor/binutils/current/config.sub buildtools/vendor/binutils/current/config/ChangeLog buildtools/vendor/binutils/current/config/acinclude.m4 buildtools/vendor/binutils/current/config/acx.m4 buildtools/vendor/binutils/current/config/gxx-include-dir.m4 buildtools/vendor/binutils/current/config/mt-gnu buildtools/vendor/binutils/current/config/no-executables.m4 buildtools/vendor/binutils/current/config/warnings.m4 buildtools/vendor/binutils/current/configure buildtools/vendor/binutils/current/configure.in buildtools/vendor/binutils/current/cpu/ChangeLog buildtools/vendor/binutils/current/cpu/cris.cpu buildtools/vendor/binutils/current/cpu/frv.cpu buildtools/vendor/binutils/current/cpu/frv.opc buildtools/vendor/binutils/current/cpu/iq10.cpu buildtools/vendor/binutils/current/cpu/iq2000.cpu buildtools/vendor/binutils/current/cpu/iq2000.opc buildtools/vendor/binutils/current/cpu/iq2000m.cpu buildtools/vendor/binutils/current/cpu/m32r.cpu buildtools/vendor/binutils/current/cpu/m32r.opc buildtools/vendor/binutils/current/cpu/sh.cpu buildtools/vendor/binutils/current/cpu/sh.opc buildtools/vendor/binutils/current/cpu/sh64-compact.cpu buildtools/vendor/binutils/current/cpu/sh64-media.cpu buildtools/vendor/binutils/current/cpu/simplify.inc buildtools/vendor/binutils/current/etc/Makefile.in buildtools/vendor/binutils/current/etc/configure buildtools/vendor/binutils/current/etc/configure.in buildtools/vendor/binutils/current/etc/configure.info buildtools/vendor/binutils/current/etc/configure.texi buildtools/vendor/binutils/current/etc/standards.info buildtools/vendor/binutils/current/etc/standards.texi buildtools/vendor/binutils/current/etc/texi2pod.pl buildtools/vendor/binutils/current/gas/COPYING buildtools/vendor/binutils/current/gas/ChangeLog buildtools/vendor/binutils/current/gas/ChangeLog-9295 buildtools/vendor/binutils/current/gas/Makefile.am buildtools/vendor/binutils/current/gas/Makefile.in buildtools/vendor/binutils/current/gas/NEWS buildtools/vendor/binutils/current/gas/README buildtools/vendor/binutils/current/gas/acinclude.m4 buildtools/vendor/binutils/current/gas/aclocal.m4 buildtools/vendor/binutils/current/gas/app.c buildtools/vendor/binutils/current/gas/as.c buildtools/vendor/binutils/current/gas/as.h buildtools/vendor/binutils/current/gas/asintl.h buildtools/vendor/binutils/current/gas/atof-generic.c buildtools/vendor/binutils/current/gas/bignum.h buildtools/vendor/binutils/current/gas/bit_fix.h buildtools/vendor/binutils/current/gas/cgen.c buildtools/vendor/binutils/current/gas/cgen.h buildtools/vendor/binutils/current/gas/cond.c buildtools/vendor/binutils/current/gas/config.in buildtools/vendor/binutils/current/gas/config/aout_gnu.h buildtools/vendor/binutils/current/gas/config/atof-ieee.c buildtools/vendor/binutils/current/gas/config/atof-vax.c buildtools/vendor/binutils/current/gas/config/itbl-mips.h buildtools/vendor/binutils/current/gas/config/m68k-parse.h buildtools/vendor/binutils/current/gas/config/m68k-parse.y buildtools/vendor/binutils/current/gas/config/obj-aout.c buildtools/vendor/binutils/current/gas/config/obj-aout.h buildtools/vendor/binutils/current/gas/config/obj-coff.c buildtools/vendor/binutils/current/gas/config/obj-coff.h buildtools/vendor/binutils/current/gas/config/obj-ecoff.c buildtools/vendor/binutils/current/gas/config/obj-ecoff.h buildtools/vendor/binutils/current/gas/config/obj-elf.c buildtools/vendor/binutils/current/gas/config/obj-elf.h buildtools/vendor/binutils/current/gas/config/obj-evax.c buildtools/vendor/binutils/current/gas/config/obj-evax.h buildtools/vendor/binutils/current/gas/config/obj-ieee.c buildtools/vendor/binutils/current/gas/config/obj-ieee.h buildtools/vendor/binutils/current/gas/config/obj-multi.h buildtools/vendor/binutils/current/gas/config/obj-som.c buildtools/vendor/binutils/current/gas/config/obj-som.h buildtools/vendor/binutils/current/gas/config/tc-alpha.c buildtools/vendor/binutils/current/gas/config/tc-alpha.h buildtools/vendor/binutils/current/gas/config/tc-arc.c buildtools/vendor/binutils/current/gas/config/tc-arc.h buildtools/vendor/binutils/current/gas/config/tc-arm.c buildtools/vendor/binutils/current/gas/config/tc-arm.h buildtools/vendor/binutils/current/gas/config/tc-avr.c buildtools/vendor/binutils/current/gas/config/tc-avr.h buildtools/vendor/binutils/current/gas/config/tc-cris.c buildtools/vendor/binutils/current/gas/config/tc-cris.h buildtools/vendor/binutils/current/gas/config/tc-crx.c buildtools/vendor/binutils/current/gas/config/tc-crx.h buildtools/vendor/binutils/current/gas/config/tc-d10v.c buildtools/vendor/binutils/current/gas/config/tc-d10v.h buildtools/vendor/binutils/current/gas/config/tc-d30v.c buildtools/vendor/binutils/current/gas/config/tc-d30v.h buildtools/vendor/binutils/current/gas/config/tc-dlx.c buildtools/vendor/binutils/current/gas/config/tc-dlx.h buildtools/vendor/binutils/current/gas/config/tc-fr30.c buildtools/vendor/binutils/current/gas/config/tc-fr30.h buildtools/vendor/binutils/current/gas/config/tc-frv.c buildtools/vendor/binutils/current/gas/config/tc-frv.h buildtools/vendor/binutils/current/gas/config/tc-generic.c buildtools/vendor/binutils/current/gas/config/tc-generic.h buildtools/vendor/binutils/current/gas/config/tc-h8300.c buildtools/vendor/binutils/current/gas/config/tc-h8300.h buildtools/vendor/binutils/current/gas/config/tc-hppa.c buildtools/vendor/binutils/current/gas/config/tc-hppa.h buildtools/vendor/binutils/current/gas/config/tc-i370.c buildtools/vendor/binutils/current/gas/config/tc-i370.h buildtools/vendor/binutils/current/gas/config/tc-i386.c buildtools/vendor/binutils/current/gas/config/tc-i386.h buildtools/vendor/binutils/current/gas/config/tc-i860.c buildtools/vendor/binutils/current/gas/config/tc-i860.h buildtools/vendor/binutils/current/gas/config/tc-i960.c buildtools/vendor/binutils/current/gas/config/tc-i960.h buildtools/vendor/binutils/current/gas/config/tc-ia64.c buildtools/vendor/binutils/current/gas/config/tc-ia64.h buildtools/vendor/binutils/current/gas/config/tc-ip2k.c buildtools/vendor/binutils/current/gas/config/tc-ip2k.h buildtools/vendor/binutils/current/gas/config/tc-iq2000.c buildtools/vendor/binutils/current/gas/config/tc-iq2000.h buildtools/vendor/binutils/current/gas/config/tc-m32r.c buildtools/vendor/binutils/current/gas/config/tc-m32r.h buildtools/vendor/binutils/current/gas/config/tc-m68851.h buildtools/vendor/binutils/current/gas/config/tc-m68hc11.c buildtools/vendor/binutils/current/gas/config/tc-m68hc11.h buildtools/vendor/binutils/current/gas/config/tc-m68k.c buildtools/vendor/binutils/current/gas/config/tc-m68k.h buildtools/vendor/binutils/current/gas/config/tc-maxq.c buildtools/vendor/binutils/current/gas/config/tc-maxq.h buildtools/vendor/binutils/current/gas/config/tc-mcore.c buildtools/vendor/binutils/current/gas/config/tc-mcore.h buildtools/vendor/binutils/current/gas/config/tc-mips.c buildtools/vendor/binutils/current/gas/config/tc-mips.h buildtools/vendor/binutils/current/gas/config/tc-mmix.c buildtools/vendor/binutils/current/gas/config/tc-mmix.h buildtools/vendor/binutils/current/gas/config/tc-mn10200.c buildtools/vendor/binutils/current/gas/config/tc-mn10200.h buildtools/vendor/binutils/current/gas/config/tc-mn10300.c buildtools/vendor/binutils/current/gas/config/tc-mn10300.h buildtools/vendor/binutils/current/gas/config/tc-msp430.c buildtools/vendor/binutils/current/gas/config/tc-msp430.h buildtools/vendor/binutils/current/gas/config/tc-ns32k.c buildtools/vendor/binutils/current/gas/config/tc-ns32k.h buildtools/vendor/binutils/current/gas/config/tc-openrisc.c buildtools/vendor/binutils/current/gas/config/tc-openrisc.h buildtools/vendor/binutils/current/gas/config/tc-or32.c buildtools/vendor/binutils/current/gas/config/tc-or32.h buildtools/vendor/binutils/current/gas/config/tc-pdp11.c buildtools/vendor/binutils/current/gas/config/tc-pdp11.h buildtools/vendor/binutils/current/gas/config/tc-pj.c buildtools/vendor/binutils/current/gas/config/tc-pj.h buildtools/vendor/binutils/current/gas/config/tc-ppc.c buildtools/vendor/binutils/current/gas/config/tc-ppc.h buildtools/vendor/binutils/current/gas/config/tc-s390.c buildtools/vendor/binutils/current/gas/config/tc-s390.h buildtools/vendor/binutils/current/gas/config/tc-sh.c buildtools/vendor/binutils/current/gas/config/tc-sh.h buildtools/vendor/binutils/current/gas/config/tc-sh64.c buildtools/vendor/binutils/current/gas/config/tc-sh64.h buildtools/vendor/binutils/current/gas/config/tc-sparc.c buildtools/vendor/binutils/current/gas/config/tc-sparc.h buildtools/vendor/binutils/current/gas/config/tc-tic30.c buildtools/vendor/binutils/current/gas/config/tc-tic30.h buildtools/vendor/binutils/current/gas/config/tc-tic4x.c buildtools/vendor/binutils/current/gas/config/tc-tic4x.h buildtools/vendor/binutils/current/gas/config/tc-tic54x.c buildtools/vendor/binutils/current/gas/config/tc-tic54x.h buildtools/vendor/binutils/current/gas/config/tc-v850.c buildtools/vendor/binutils/current/gas/config/tc-v850.h buildtools/vendor/binutils/current/gas/config/tc-vax.c buildtools/vendor/binutils/current/gas/config/tc-vax.h buildtools/vendor/binutils/current/gas/config/tc-xstormy16.c buildtools/vendor/binutils/current/gas/config/tc-xstormy16.h buildtools/vendor/binutils/current/gas/config/tc-xtensa.c buildtools/vendor/binutils/current/gas/config/tc-xtensa.h buildtools/vendor/binutils/current/gas/config/tc-z8k.c buildtools/vendor/binutils/current/gas/config/tc-z8k.h buildtools/vendor/binutils/current/gas/config/te-386bsd.h buildtools/vendor/binutils/current/gas/config/te-armlinuxeabi.h buildtools/vendor/binutils/current/gas/config/te-freebsd.h buildtools/vendor/binutils/current/gas/config/te-hppa.h buildtools/vendor/binutils/current/gas/config/te-irix.h buildtools/vendor/binutils/current/gas/config/te-nbsd.h buildtools/vendor/binutils/current/gas/config/te-netware.h buildtools/vendor/binutils/current/gas/config/te-sparcaout.h buildtools/vendor/binutils/current/gas/config/te-sun3.h buildtools/vendor/binutils/current/gas/config/te-symbian.h buildtools/vendor/binutils/current/gas/config/te-tmips.h buildtools/vendor/binutils/current/gas/config/te-vxworks.h buildtools/vendor/binutils/current/gas/config/vax-inst.h buildtools/vendor/binutils/current/gas/config/xtensa-istack.h buildtools/vendor/binutils/current/gas/config/xtensa-relax.c buildtools/vendor/binutils/current/gas/config/xtensa-relax.h buildtools/vendor/binutils/current/gas/configure buildtools/vendor/binutils/current/gas/configure.in buildtools/vendor/binutils/current/gas/configure.tgt buildtools/vendor/binutils/current/gas/debug.c buildtools/vendor/binutils/current/gas/dep-in.sed buildtools/vendor/binutils/current/gas/depend.c buildtools/vendor/binutils/current/gas/doc/Makefile.am buildtools/vendor/binutils/current/gas/doc/Makefile.in buildtools/vendor/binutils/current/gas/doc/all.texi buildtools/vendor/binutils/current/gas/doc/as.1 buildtools/vendor/binutils/current/gas/doc/as.info buildtools/vendor/binutils/current/gas/doc/as.texinfo buildtools/vendor/binutils/current/gas/doc/asconfig.texi buildtools/vendor/binutils/current/gas/doc/c-alpha.texi buildtools/vendor/binutils/current/gas/doc/c-arc.texi buildtools/vendor/binutils/current/gas/doc/c-arm.texi buildtools/vendor/binutils/current/gas/doc/c-i386.texi buildtools/vendor/binutils/current/gas/doc/c-ia64.texi buildtools/vendor/binutils/current/gas/doc/c-m68k.texi buildtools/vendor/binutils/current/gas/doc/c-mips.texi buildtools/vendor/binutils/current/gas/doc/c-msp430.texi buildtools/vendor/binutils/current/gas/doc/c-ppc.texi buildtools/vendor/binutils/current/gas/doc/c-sh.texi buildtools/vendor/binutils/current/gas/doc/c-xtensa.texi buildtools/vendor/binutils/current/gas/doc/fdl.texi buildtools/vendor/binutils/current/gas/doc/gasver.texi buildtools/vendor/binutils/current/gas/doc/internals.texi buildtools/vendor/binutils/current/gas/dw2gencfi.c buildtools/vendor/binutils/current/gas/dw2gencfi.h buildtools/vendor/binutils/current/gas/dwarf2dbg.c buildtools/vendor/binutils/current/gas/dwarf2dbg.h buildtools/vendor/binutils/current/gas/ecoff.c buildtools/vendor/binutils/current/gas/ecoff.h buildtools/vendor/binutils/current/gas/ehopt.c buildtools/vendor/binutils/current/gas/emul-target.h buildtools/vendor/binutils/current/gas/emul.h buildtools/vendor/binutils/current/gas/expr.c buildtools/vendor/binutils/current/gas/expr.h buildtools/vendor/binutils/current/gas/flonum-copy.c buildtools/vendor/binutils/current/gas/flonum-konst.c buildtools/vendor/binutils/current/gas/flonum.h buildtools/vendor/binutils/current/gas/frags.c buildtools/vendor/binutils/current/gas/frags.h buildtools/vendor/binutils/current/gas/hash.c buildtools/vendor/binutils/current/gas/hash.h buildtools/vendor/binutils/current/gas/input-file.c buildtools/vendor/binutils/current/gas/input-file.h buildtools/vendor/binutils/current/gas/input-scrub.c buildtools/vendor/binutils/current/gas/itbl-lex.c buildtools/vendor/binutils/current/gas/itbl-lex.h buildtools/vendor/binutils/current/gas/itbl-lex.l buildtools/vendor/binutils/current/gas/itbl-ops.c buildtools/vendor/binutils/current/gas/itbl-ops.h buildtools/vendor/binutils/current/gas/itbl-parse.c buildtools/vendor/binutils/current/gas/itbl-parse.h buildtools/vendor/binutils/current/gas/itbl-parse.y buildtools/vendor/binutils/current/gas/listing.c buildtools/vendor/binutils/current/gas/listing.h buildtools/vendor/binutils/current/gas/literal.c buildtools/vendor/binutils/current/gas/m68k-parse.c buildtools/vendor/binutils/current/gas/macro.c buildtools/vendor/binutils/current/gas/macro.h buildtools/vendor/binutils/current/gas/messages.c buildtools/vendor/binutils/current/gas/obj.h buildtools/vendor/binutils/current/gas/output-file.c buildtools/vendor/binutils/current/gas/output-file.h buildtools/vendor/binutils/current/gas/po/Make-in buildtools/vendor/binutils/current/gas/po/POTFILES.in buildtools/vendor/binutils/current/gas/po/es.gmo buildtools/vendor/binutils/current/gas/po/es.po buildtools/vendor/binutils/current/gas/po/gas.pot buildtools/vendor/binutils/current/gas/read.c buildtools/vendor/binutils/current/gas/read.h buildtools/vendor/binutils/current/gas/sb.c buildtools/vendor/binutils/current/gas/sb.h buildtools/vendor/binutils/current/gas/stabs.c buildtools/vendor/binutils/current/gas/struc-symbol.h buildtools/vendor/binutils/current/gas/subsegs.c buildtools/vendor/binutils/current/gas/subsegs.h buildtools/vendor/binutils/current/gas/symbols.c buildtools/vendor/binutils/current/gas/symbols.h buildtools/vendor/binutils/current/gas/tc.h buildtools/vendor/binutils/current/gas/testsuite/ChangeLog buildtools/vendor/binutils/current/gas/testsuite/gas/all/altmac2.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/altmacro.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/cofftag.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/cond.s buildtools/vendor/binutils/current/gas/testsuite/gas/all/gas.exp buildtools/vendor/binutils/current/gas/testsuite/gas/all/itbl-test.c buildtools/vendor/binutils/current/gas/testsuite/gas/all/quad.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/sleb128.d buildtools/vendor/binutils/current/gas/testsuite/gas/all/test-example.c buildtools/vendor/binutils/current/gas/testsuite/gas/all/test-gen.c buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch4t.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch6zk.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arch6zk.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/archv6.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm.exp buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm3.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm6.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm7dm.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/arm7t.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/armv1-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/armv1-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/armv1.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/bignum1.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/copro.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/el_segundo.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/el_segundo.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/float.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/fpa-mem.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/fpa-mem.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/immed.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/inst.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/iwmmxt.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/le-fpconst.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/mapping.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/maverick.c buildtools/vendor/binutils/current/gas/testsuite/gas/arm/maverick.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/maverick.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/offset.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/pic.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/r15-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/r15-bad.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/req.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/req.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumb.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/thumbv6.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/unwind.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/unwind.s buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp-bad.l buildtools/vendor/binutils/current/gas/testsuite/gas/arm/vfp1xD.d buildtools/vendor/binutils/current/gas/testsuite/gas/arm/wince_inst.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/brokw-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/cris.exp buildtools/vendor/binutils/current/gas/testsuite/gas/cris/range-err-1.s buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-abs32-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-abs32-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-arch-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-arch-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-arch-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bkw1b.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bkw2b.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bkw3b.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bound1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bound2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bound3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-bound4.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-10.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-11.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-12.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-13.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-14.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-15.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-4.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-5.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-6.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-7.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-8.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-dw2-9.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-ppv1032.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-ppv32.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-spr-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-usp-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-usp-1b.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v10_32o-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v10_32o-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-b1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-b2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-b3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-f1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-i1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-l1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-l3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32-l4.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32o-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32s-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32s-2.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32s-3.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-v32s-4.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/rd-vao-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/cris/v32-err-2.s buildtools/vendor/binutils/current/gas/testsuite/gas/cris/v32-err-3.s buildtools/vendor/binutils/current/gas/testsuite/gas/elf/elf.exp buildtools/vendor/binutils/current/gas/testsuite/gas/elf/group0b.d buildtools/vendor/binutils/current/gas/testsuite/gas/elf/group1b.d buildtools/vendor/binutils/current/gas/testsuite/gas/elf/section0.d buildtools/vendor/binutils/current/gas/testsuite/gas/elf/section1.d buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/basic/basic.exp buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/basic/fp_comp.s buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/basic/special.s buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/basic/system.s buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/parse/block1.s buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/parse/parse.exp buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/reloc/reloc.exp buildtools/vendor/binutils/current/gas/testsuite/gas/hppa/unsorted/unsorted.exp buildtools/vendor/binutils/current/gas/testsuite/gas/i386/divide.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/divide.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/i386.exp buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel16.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intel16.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intelbad.l buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intelbad.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intelok.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/intelok.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/naked.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/opcode.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/opcode.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/padlock.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/prescott.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/prescott.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/tlsd.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/tlsd.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/tlspic.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/tlspic.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-opcode.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-opcode.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-pcrel.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86-64-pcrel.s buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86_64.d buildtools/vendor/binutils/current/gas/testsuite/gas/i386/x86_64.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-imply.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-mutex.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-raw-err.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-raw-err.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-safe.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/dv-srlz.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/global.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/group-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ia64.exp buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/invalid-ar.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/ldxmov-1.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-b.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-b.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-f.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-i.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-i.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/opc-m.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/operand-or.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/pcrel.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/proc.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/pseudo.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/pseudo.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/regs.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/regs.pl buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/regs.s buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/tls.d buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-err.l buildtools/vendor/binutils/current/gas/testsuite/gas/ia64/unwind-err.s buildtools/vendor/binutils/current/gas/testsuite/gas/m32r/error.exp buildtools/vendor/binutils/current/gas/testsuite/gas/m68k/all.exp buildtools/vendor/binutils/current/gas/testsuite/gas/macros/badarg.l buildtools/vendor/binutils/current/gas/testsuite/gas/macros/badarg.s buildtools/vendor/binutils/current/gas/testsuite/gas/macros/macros.exp buildtools/vendor/binutils/current/gas/testsuite/gas/maxq10/maxq10.exp buildtools/vendor/binutils/current/gas/testsuite/gas/maxq20/maxq20.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bge.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bge.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bgeu.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bgeu.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/blt.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/blt.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bltu.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/bltu.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/jal-range.l buildtools/vendor/binutils/current/gas/testsuite/gas/mips/jal-range.s buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16-dwarf2-n32.d buildtools/vendor/binutils/current/gas/testsuite/gas/mips/mips16-dwarf2.d buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/err-byte1.s buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/mmix-err.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/mmix-list.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/mmix.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/relax1-n.d buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/relax1-rn.d buildtools/vendor/binutils/current/gas/testsuite/gas/mmix/relax2.s buildtools/vendor/binutils/current/gas/testsuite/gas/mn10200/basic.exp buildtools/vendor/binutils/current/gas/testsuite/gas/mn10300/am33-2.c buildtools/vendor/binutils/current/gas/testsuite/gas/mn10300/basic.exp buildtools/vendor/binutils/current/gas/testsuite/gas/pdp11/opcode.s buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/aix.exp buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/altivec.d buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/booke.d buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/booke.s buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/e500.d buildtools/vendor/binutils/current/gas/testsuite/gas/ppc/generate.sh buildtools/vendor/binutils/current/gas/testsuite/gas/s390/s390.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sh/arch/arch.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sh/basic.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sh/err.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sh/sh64/sh64.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/rdpr.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/rdpr.s buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/sparc.exp buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/wrpr.d buildtools/vendor/binutils/current/gas/testsuite/gas/sparc/wrpr.s buildtools/vendor/binutils/current/gas/testsuite/gas/tic4x/rebuild.sh buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/address.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/addrfar.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/align.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/all-opcodes.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/asg.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/cons.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/consfar.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/extaddr.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/field.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/labels.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/loop.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/lp.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/macro.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/math.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/opcodes.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/sections.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/set.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/struct.d buildtools/vendor/binutils/current/gas/testsuite/gas/tic54x/subsym.d buildtools/vendor/binutils/current/gas/testsuite/gas/v850/basic.exp buildtools/vendor/binutils/current/gas/testsuite/gas/v850/split-lo16.d buildtools/vendor/binutils/current/gas/testsuite/gas/v850/split-lo16.s buildtools/vendor/binutils/current/gas/testsuite/gas/v850/v850e1.d buildtools/vendor/binutils/current/gas/testsuite/gas/vax/elf-rel.d buildtools/vendor/binutils/current/gas/testsuite/gas/vax/vax.exp buildtools/vendor/binutils/current/gas/testsuite/lib/doboth buildtools/vendor/binutils/current/gas/testsuite/lib/doobjcmp buildtools/vendor/binutils/current/gas/testsuite/lib/dostriptest buildtools/vendor/binutils/current/gas/testsuite/lib/dotest buildtools/vendor/binutils/current/gas/testsuite/lib/dounsreloc buildtools/vendor/binutils/current/gas/testsuite/lib/dounssym buildtools/vendor/binutils/current/gas/testsuite/lib/gas-defs.exp buildtools/vendor/binutils/current/gas/testsuite/lib/run buildtools/vendor/binutils/current/gas/write.c buildtools/vendor/binutils/current/gas/write.h buildtools/vendor/binutils/current/gprof/ChangeLog buildtools/vendor/binutils/current/gprof/Makefile.am buildtools/vendor/binutils/current/gprof/Makefile.in buildtools/vendor/binutils/current/gprof/acinclude.m4 buildtools/vendor/binutils/current/gprof/aclocal.m4 buildtools/vendor/binutils/current/gprof/basic_blocks.c buildtools/vendor/binutils/current/gprof/basic_blocks.h buildtools/vendor/binutils/current/gprof/bb_exit_func.c buildtools/vendor/binutils/current/gprof/bbconv.pl buildtools/vendor/binutils/current/gprof/call_graph.c buildtools/vendor/binutils/current/gprof/call_graph.h buildtools/vendor/binutils/current/gprof/cg_print.c buildtools/vendor/binutils/current/gprof/cg_print.h buildtools/vendor/binutils/current/gprof/configure buildtools/vendor/binutils/current/gprof/configure.in buildtools/vendor/binutils/current/gprof/corefile.c buildtools/vendor/binutils/current/gprof/corefile.h buildtools/vendor/binutils/current/gprof/gconfig.in buildtools/vendor/binutils/current/gprof/gmon_io.c buildtools/vendor/binutils/current/gprof/gmon_io.h buildtools/vendor/binutils/current/gprof/gmon_out.h buildtools/vendor/binutils/current/gprof/gprof.1 buildtools/vendor/binutils/current/gprof/gprof.c buildtools/vendor/binutils/current/gprof/gprof.info buildtools/vendor/binutils/current/gprof/gprof.texi buildtools/vendor/binutils/current/gprof/hist.c buildtools/vendor/binutils/current/gprof/hist.h buildtools/vendor/binutils/current/gprof/po/Make-in buildtools/vendor/binutils/current/gprof/po/es.gmo buildtools/vendor/binutils/current/gprof/po/es.po buildtools/vendor/binutils/current/gprof/po/gprof.pot buildtools/vendor/binutils/current/gprof/po/sv.gmo buildtools/vendor/binutils/current/gprof/po/sv.po buildtools/vendor/binutils/current/gprof/search_list.c buildtools/vendor/binutils/current/gprof/search_list.h buildtools/vendor/binutils/current/gprof/source.c buildtools/vendor/binutils/current/gprof/source.h buildtools/vendor/binutils/current/gprof/sym_ids.c buildtools/vendor/binutils/current/gprof/sym_ids.h buildtools/vendor/binutils/current/gprof/symtab.c buildtools/vendor/binutils/current/gprof/symtab.h buildtools/vendor/binutils/current/include/COPYING buildtools/vendor/binutils/current/include/ChangeLog buildtools/vendor/binutils/current/include/ChangeLog-9103 buildtools/vendor/binutils/current/include/ansidecl.h buildtools/vendor/binutils/current/include/aout/ChangeLog buildtools/vendor/binutils/current/include/aout/adobe.h buildtools/vendor/binutils/current/include/aout/aout64.h buildtools/vendor/binutils/current/include/aout/ar.h buildtools/vendor/binutils/current/include/aout/dynix3.h buildtools/vendor/binutils/current/include/aout/encap.h buildtools/vendor/binutils/current/include/aout/host.h buildtools/vendor/binutils/current/include/aout/hp.h buildtools/vendor/binutils/current/include/aout/ranlib.h buildtools/vendor/binutils/current/include/aout/reloc.h buildtools/vendor/binutils/current/include/aout/stab.def buildtools/vendor/binutils/current/include/aout/stab_gnu.h buildtools/vendor/binutils/current/include/aout/sun4.h buildtools/vendor/binutils/current/include/bfdlink.h buildtools/vendor/binutils/current/include/bout.h buildtools/vendor/binutils/current/include/coff/ChangeLog buildtools/vendor/binutils/current/include/coff/ChangeLog-9103 buildtools/vendor/binutils/current/include/coff/alpha.h buildtools/vendor/binutils/current/include/coff/apollo.h buildtools/vendor/binutils/current/include/coff/arm.h buildtools/vendor/binutils/current/include/coff/aux-coff.h buildtools/vendor/binutils/current/include/coff/ecoff.h buildtools/vendor/binutils/current/include/coff/external.h buildtools/vendor/binutils/current/include/coff/go32exe.h buildtools/vendor/binutils/current/include/coff/h8300.h buildtools/vendor/binutils/current/include/coff/h8500.h buildtools/vendor/binutils/current/include/coff/i386.h buildtools/vendor/binutils/current/include/coff/i860.h buildtools/vendor/binutils/current/include/coff/i960.h buildtools/vendor/binutils/current/include/coff/ia64.h buildtools/vendor/binutils/current/include/coff/internal.h buildtools/vendor/binutils/current/include/coff/m68k.h buildtools/vendor/binutils/current/include/coff/m88k.h buildtools/vendor/binutils/current/include/coff/maxq.h buildtools/vendor/binutils/current/include/coff/mcore.h buildtools/vendor/binutils/current/include/coff/mips.h buildtools/vendor/binutils/current/include/coff/mipspe.h buildtools/vendor/binutils/current/include/coff/or32.h buildtools/vendor/binutils/current/include/coff/pe.h buildtools/vendor/binutils/current/include/coff/powerpc.h buildtools/vendor/binutils/current/include/coff/rs6k64.h buildtools/vendor/binutils/current/include/coff/sh.h buildtools/vendor/binutils/current/include/coff/sparc.h buildtools/vendor/binutils/current/include/coff/ti.h buildtools/vendor/binutils/current/include/coff/tic30.h buildtools/vendor/binutils/current/include/coff/tic4x.h buildtools/vendor/binutils/current/include/coff/tic54x.h buildtools/vendor/binutils/current/include/coff/tic80.h buildtools/vendor/binutils/current/include/coff/w65.h buildtools/vendor/binutils/current/include/coff/we32k.h buildtools/vendor/binutils/current/include/coff/xcoff.h buildtools/vendor/binutils/current/include/coff/z8k.h buildtools/vendor/binutils/current/include/demangle.h buildtools/vendor/binutils/current/include/dis-asm.h buildtools/vendor/binutils/current/include/dyn-string.h buildtools/vendor/binutils/current/include/elf/ChangeLog buildtools/vendor/binutils/current/include/elf/ChangeLog-9103 buildtools/vendor/binutils/current/include/elf/alpha.h buildtools/vendor/binutils/current/include/elf/arc.h buildtools/vendor/binutils/current/include/elf/arm.h buildtools/vendor/binutils/current/include/elf/avr.h buildtools/vendor/binutils/current/include/elf/common.h buildtools/vendor/binutils/current/include/elf/cr16c.h buildtools/vendor/binutils/current/include/elf/cris.h buildtools/vendor/binutils/current/include/elf/crx.h buildtools/vendor/binutils/current/include/elf/d10v.h buildtools/vendor/binutils/current/include/elf/d30v.h buildtools/vendor/binutils/current/include/elf/dlx.h buildtools/vendor/binutils/current/include/elf/dwarf.h buildtools/vendor/binutils/current/include/elf/dwarf2.h buildtools/vendor/binutils/current/include/elf/external.h buildtools/vendor/binutils/current/include/elf/fr30.h buildtools/vendor/binutils/current/include/elf/frv.h buildtools/vendor/binutils/current/include/elf/h8.h buildtools/vendor/binutils/current/include/elf/hppa.h buildtools/vendor/binutils/current/include/elf/i370.h buildtools/vendor/binutils/current/include/elf/i386.h buildtools/vendor/binutils/current/include/elf/i860.h buildtools/vendor/binutils/current/include/elf/i960.h buildtools/vendor/binutils/current/include/elf/ia64.h buildtools/vendor/binutils/current/include/elf/internal.h buildtools/vendor/binutils/current/include/elf/ip2k.h buildtools/vendor/binutils/current/include/elf/iq2000.h buildtools/vendor/binutils/current/include/elf/m32r.h buildtools/vendor/binutils/current/include/elf/m68hc11.h buildtools/vendor/binutils/current/include/elf/m68k.h buildtools/vendor/binutils/current/include/elf/mcore.h buildtools/vendor/binutils/current/include/elf/mips.h buildtools/vendor/binutils/current/include/elf/mmix.h buildtools/vendor/binutils/current/include/elf/mn10200.h buildtools/vendor/binutils/current/include/elf/mn10300.h buildtools/vendor/binutils/current/include/elf/msp430.h buildtools/vendor/binutils/current/include/elf/openrisc.h buildtools/vendor/binutils/current/include/elf/or32.h buildtools/vendor/binutils/current/include/elf/pj.h buildtools/vendor/binutils/current/include/elf/ppc.h buildtools/vendor/binutils/current/include/elf/ppc64.h buildtools/vendor/binutils/current/include/elf/reloc-macros.h buildtools/vendor/binutils/current/include/elf/s390.h buildtools/vendor/binutils/current/include/elf/sh.h buildtools/vendor/binutils/current/include/elf/sparc.h buildtools/vendor/binutils/current/include/elf/v850.h buildtools/vendor/binutils/current/include/elf/vax.h buildtools/vendor/binutils/current/include/elf/x86-64.h buildtools/vendor/binutils/current/include/elf/xstormy16.h buildtools/vendor/binutils/current/include/elf/xtensa.h buildtools/vendor/binutils/current/include/fibheap.h buildtools/vendor/binutils/current/include/filenames.h buildtools/vendor/binutils/current/include/floatformat.h buildtools/vendor/binutils/current/include/fnmatch.h buildtools/vendor/binutils/current/include/gdb/ChangeLog buildtools/vendor/binutils/current/include/gdb/callback.h buildtools/vendor/binutils/current/include/gdbm.h buildtools/vendor/binutils/current/include/getopt.h buildtools/vendor/binutils/current/include/hashtab.h buildtools/vendor/binutils/current/include/hp-symtab.h buildtools/vendor/binutils/current/include/ieee.h buildtools/vendor/binutils/current/include/libiberty.h buildtools/vendor/binutils/current/include/md5.h buildtools/vendor/binutils/current/include/nlm/ChangeLog buildtools/vendor/binutils/current/include/nlm/alpha-ext.h buildtools/vendor/binutils/current/include/nlm/common.h buildtools/vendor/binutils/current/include/nlm/external.h buildtools/vendor/binutils/current/include/nlm/i386-ext.h buildtools/vendor/binutils/current/include/nlm/internal.h buildtools/vendor/binutils/current/include/nlm/ppc-ext.h buildtools/vendor/binutils/current/include/nlm/sparc32-ext.h buildtools/vendor/binutils/current/include/oasys.h buildtools/vendor/binutils/current/include/objalloc.h buildtools/vendor/binutils/current/include/obstack.h buildtools/vendor/binutils/current/include/opcode/ChangeLog buildtools/vendor/binutils/current/include/opcode/ChangeLog-9103 buildtools/vendor/binutils/current/include/opcode/alpha.h buildtools/vendor/binutils/current/include/opcode/arc.h buildtools/vendor/binutils/current/include/opcode/arm.h buildtools/vendor/binutils/current/include/opcode/avr.h buildtools/vendor/binutils/current/include/opcode/cgen.h buildtools/vendor/binutils/current/include/opcode/convex.h buildtools/vendor/binutils/current/include/opcode/cris.h buildtools/vendor/binutils/current/include/opcode/crx.h buildtools/vendor/binutils/current/include/opcode/d10v.h buildtools/vendor/binutils/current/include/opcode/d30v.h buildtools/vendor/binutils/current/include/opcode/dlx.h buildtools/vendor/binutils/current/include/opcode/h8300.h buildtools/vendor/binutils/current/include/opcode/hppa.h buildtools/vendor/binutils/current/include/opcode/i370.h buildtools/vendor/binutils/current/include/opcode/i386.h buildtools/vendor/binutils/current/include/opcode/i860.h buildtools/vendor/binutils/current/include/opcode/i960.h buildtools/vendor/binutils/current/include/opcode/ia64.h buildtools/vendor/binutils/current/include/opcode/m68hc11.h buildtools/vendor/binutils/current/include/opcode/m68k.h buildtools/vendor/binutils/current/include/opcode/m88k.h buildtools/vendor/binutils/current/include/opcode/maxq.h buildtools/vendor/binutils/current/include/opcode/mips.h buildtools/vendor/binutils/current/include/opcode/mmix.h buildtools/vendor/binutils/current/include/opcode/mn10200.h buildtools/vendor/binutils/current/include/opcode/mn10300.h buildtools/vendor/binutils/current/include/opcode/msp430.h buildtools/vendor/binutils/current/include/opcode/np1.h buildtools/vendor/binutils/current/include/opcode/ns32k.h buildtools/vendor/binutils/current/include/opcode/or32.h buildtools/vendor/binutils/current/include/opcode/pdp11.h buildtools/vendor/binutils/current/include/opcode/pj.h buildtools/vendor/binutils/current/include/opcode/pn.h buildtools/vendor/binutils/current/include/opcode/ppc.h buildtools/vendor/binutils/current/include/opcode/pyr.h buildtools/vendor/binutils/current/include/opcode/s390.h buildtools/vendor/binutils/current/include/opcode/sparc.h buildtools/vendor/binutils/current/include/opcode/tic30.h buildtools/vendor/binutils/current/include/opcode/tic4x.h buildtools/vendor/binutils/current/include/opcode/tic54x.h buildtools/vendor/binutils/current/include/opcode/tic80.h buildtools/vendor/binutils/current/include/opcode/v850.h buildtools/vendor/binutils/current/include/opcode/vax.h buildtools/vendor/binutils/current/include/os9k.h buildtools/vendor/binutils/current/include/partition.h buildtools/vendor/binutils/current/include/progress.h buildtools/vendor/binutils/current/include/safe-ctype.h buildtools/vendor/binutils/current/include/sort.h buildtools/vendor/binutils/current/include/splay-tree.h buildtools/vendor/binutils/current/include/symcat.h buildtools/vendor/binutils/current/include/ternary.h buildtools/vendor/binutils/current/include/xregex2.h buildtools/vendor/binutils/current/include/xtensa-config.h buildtools/vendor/binutils/current/include/xtensa-isa-internal.h buildtools/vendor/binutils/current/include/xtensa-isa.h buildtools/vendor/binutils/current/install-sh buildtools/vendor/binutils/current/intl/ChangeLog buildtools/vendor/binutils/current/intl/Makefile.in buildtools/vendor/binutils/current/intl/bindtextdom.c buildtools/vendor/binutils/current/intl/cat-compat.c buildtools/vendor/binutils/current/intl/configure buildtools/vendor/binutils/current/intl/dcgettext.c buildtools/vendor/binutils/current/intl/dgettext.c buildtools/vendor/binutils/current/intl/explodename.c buildtools/vendor/binutils/current/intl/finddomain.c buildtools/vendor/binutils/current/intl/gettext.c buildtools/vendor/binutils/current/intl/gettext.h buildtools/vendor/binutils/current/intl/gettextP.h buildtools/vendor/binutils/current/intl/hash-string.h buildtools/vendor/binutils/current/intl/intl-compat.c buildtools/vendor/binutils/current/intl/intlh.inst.in buildtools/vendor/binutils/current/intl/l10nflist.c buildtools/vendor/binutils/current/intl/libgettext.h buildtools/vendor/binutils/current/intl/libintl.glibc buildtools/vendor/binutils/current/intl/linux-msg.sed buildtools/vendor/binutils/current/intl/loadinfo.h buildtools/vendor/binutils/current/intl/loadmsgcat.c buildtools/vendor/binutils/current/intl/localealias.c buildtools/vendor/binutils/current/intl/po2tbl.sed.in buildtools/vendor/binutils/current/intl/textdomain.c buildtools/vendor/binutils/current/intl/xopen-msg.sed buildtools/vendor/binutils/current/ld/ChangeLog buildtools/vendor/binutils/current/ld/Makefile.am buildtools/vendor/binutils/current/ld/Makefile.in buildtools/vendor/binutils/current/ld/NEWS buildtools/vendor/binutils/current/ld/acinclude.m4 buildtools/vendor/binutils/current/ld/aclocal.m4 buildtools/vendor/binutils/current/ld/config.in buildtools/vendor/binutils/current/ld/configdoc.texi buildtools/vendor/binutils/current/ld/configure buildtools/vendor/binutils/current/ld/configure.host buildtools/vendor/binutils/current/ld/configure.in buildtools/vendor/binutils/current/ld/configure.tgt buildtools/vendor/binutils/current/ld/deffile.h buildtools/vendor/binutils/current/ld/deffilep.y buildtools/vendor/binutils/current/ld/dep-in.sed buildtools/vendor/binutils/current/ld/emulparams/armelf.sh buildtools/vendor/binutils/current/ld/emulparams/armelf_linux.sh buildtools/vendor/binutils/current/ld/emulparams/armelf_vxworks.sh buildtools/vendor/binutils/current/ld/emulparams/armnto.sh buildtools/vendor/binutils/current/ld/emulparams/criself.sh buildtools/vendor/binutils/current/ld/emulparams/crislinux.sh buildtools/vendor/binutils/current/ld/emulparams/elf32bmip.sh buildtools/vendor/binutils/current/ld/emulparams/elf32bmipn32-defs.sh buildtools/vendor/binutils/current/ld/emulparams/elf32bmipn32.sh buildtools/vendor/binutils/current/ld/emulparams/elf32btsmip.sh buildtools/vendor/binutils/current/ld/emulparams/elf32fr30.sh buildtools/vendor/binutils/current/ld/emulparams/elf32frv.sh buildtools/vendor/binutils/current/ld/emulparams/elf32iq10.sh buildtools/vendor/binutils/current/ld/emulparams/elf32iq2000.sh buildtools/vendor/binutils/current/ld/emulparams/elf32openrisc.sh buildtools/vendor/binutils/current/ld/emulparams/elf32ppc.sh buildtools/vendor/binutils/current/ld/emulparams/elf32ppclinux.sh buildtools/vendor/binutils/current/ld/emulparams/elf32xtensa.sh buildtools/vendor/binutils/current/ld/emulparams/elf64alpha.sh buildtools/vendor/binutils/current/ld/emulparams/elf64bmip.sh buildtools/vendor/binutils/current/ld/emulparams/elf64hppa.sh buildtools/vendor/binutils/current/ld/emulparams/elf64mmix.sh buildtools/vendor/binutils/current/ld/emulparams/elf64ppc.sh buildtools/vendor/binutils/current/ld/emulparams/elf_x86_64.sh buildtools/vendor/binutils/current/ld/emulparams/h8300.sh buildtools/vendor/binutils/current/ld/emulparams/h8300elf.sh buildtools/vendor/binutils/current/ld/emulparams/h8300sxelf.sh buildtools/vendor/binutils/current/ld/emulparams/hppa64linux.sh buildtools/vendor/binutils/current/ld/emulparams/hppalinux.sh buildtools/vendor/binutils/current/ld/emulparams/i386beos.sh buildtools/vendor/binutils/current/ld/emulparams/m32relf.sh buildtools/vendor/binutils/current/ld/emulparams/m32relf_linux.sh buildtools/vendor/binutils/current/ld/emulparams/msp430all.sh buildtools/vendor/binutils/current/ld/emultempl/aix.em buildtools/vendor/binutils/current/ld/emultempl/alphaelf.em buildtools/vendor/binutils/current/ld/emultempl/armcoff.em buildtools/vendor/binutils/current/ld/emultempl/armelf.em buildtools/vendor/binutils/current/ld/emultempl/beos.em buildtools/vendor/binutils/current/ld/emultempl/crxelf.em buildtools/vendor/binutils/current/ld/emultempl/elf32.em buildtools/vendor/binutils/current/ld/emultempl/generic.em buildtools/vendor/binutils/current/ld/emultempl/gld960.em buildtools/vendor/binutils/current/ld/emultempl/gld960c.em buildtools/vendor/binutils/current/ld/emultempl/hppaelf.em buildtools/vendor/binutils/current/ld/emultempl/ia64elf.em buildtools/vendor/binutils/current/ld/emultempl/irix.em buildtools/vendor/binutils/current/ld/emultempl/linux.em buildtools/vendor/binutils/current/ld/emultempl/lnk960.em buildtools/vendor/binutils/current/ld/emultempl/m68hc1xelf.em buildtools/vendor/binutils/current/ld/emultempl/m68kcoff.em buildtools/vendor/binutils/current/ld/emultempl/m68kelf.em buildtools/vendor/binutils/current/ld/emultempl/mipsecoff.em buildtools/vendor/binutils/current/ld/emultempl/mmix-elfnmmo.em buildtools/vendor/binutils/current/ld/emultempl/mmixelf.em buildtools/vendor/binutils/current/ld/emultempl/mmo.em buildtools/vendor/binutils/current/ld/emultempl/needrelax.em buildtools/vendor/binutils/current/ld/emultempl/pe.em buildtools/vendor/binutils/current/ld/emultempl/ppc32elf.em buildtools/vendor/binutils/current/ld/emultempl/ppc64elf.em buildtools/vendor/binutils/current/ld/emultempl/sh64elf.em buildtools/vendor/binutils/current/ld/emultempl/sunos.em buildtools/vendor/binutils/current/ld/emultempl/ticoff.em buildtools/vendor/binutils/current/ld/emultempl/vanilla.em buildtools/vendor/binutils/current/ld/emultempl/xtensaelf.em buildtools/vendor/binutils/current/ld/fdl.texi buildtools/vendor/binutils/current/ld/gen-doc.texi buildtools/vendor/binutils/current/ld/genscripts.sh buildtools/vendor/binutils/current/ld/ld.1 buildtools/vendor/binutils/current/ld/ld.h buildtools/vendor/binutils/current/ld/ld.info buildtools/vendor/binutils/current/ld/ld.texinfo buildtools/vendor/binutils/current/ld/ldcref.c buildtools/vendor/binutils/current/ld/ldctor.c buildtools/vendor/binutils/current/ld/ldctor.h buildtools/vendor/binutils/current/ld/ldemul.c buildtools/vendor/binutils/current/ld/ldemul.h buildtools/vendor/binutils/current/ld/ldexp.c buildtools/vendor/binutils/current/ld/ldexp.h buildtools/vendor/binutils/current/ld/ldfile.c buildtools/vendor/binutils/current/ld/ldfile.h buildtools/vendor/binutils/current/ld/ldgram.c buildtools/vendor/binutils/current/ld/ldgram.h buildtools/vendor/binutils/current/ld/ldgram.y buildtools/vendor/binutils/current/ld/ldint.texinfo buildtools/vendor/binutils/current/ld/ldlang.c buildtools/vendor/binutils/current/ld/ldlang.h buildtools/vendor/binutils/current/ld/ldlex.c buildtools/vendor/binutils/current/ld/ldlex.h buildtools/vendor/binutils/current/ld/ldlex.l buildtools/vendor/binutils/current/ld/ldmain.c buildtools/vendor/binutils/current/ld/ldmain.h buildtools/vendor/binutils/current/ld/ldmisc.c buildtools/vendor/binutils/current/ld/ldmisc.h buildtools/vendor/binutils/current/ld/ldver.c buildtools/vendor/binutils/current/ld/ldver.h buildtools/vendor/binutils/current/ld/ldver.texi buildtools/vendor/binutils/current/ld/ldwrite.c buildtools/vendor/binutils/current/ld/ldwrite.h buildtools/vendor/binutils/current/ld/lexsup.c buildtools/vendor/binutils/current/ld/mri.c buildtools/vendor/binutils/current/ld/mri.h buildtools/vendor/binutils/current/ld/pe-dll.c buildtools/vendor/binutils/current/ld/pe-dll.h buildtools/vendor/binutils/current/ld/po/Make-in buildtools/vendor/binutils/current/ld/po/POTFILES.in buildtools/vendor/binutils/current/ld/po/es.gmo buildtools/vendor/binutils/current/ld/po/es.po buildtools/vendor/binutils/current/ld/po/ld.pot buildtools/vendor/binutils/current/ld/scripttempl/armbpabi.sc buildtools/vendor/binutils/current/ld/scripttempl/avr.sc buildtools/vendor/binutils/current/ld/scripttempl/elf.sc buildtools/vendor/binutils/current/ld/scripttempl/elf32crx.sc buildtools/vendor/binutils/current/ld/scripttempl/elf32sh-symbian.sc buildtools/vendor/binutils/current/ld/scripttempl/elf_chaos.sc buildtools/vendor/binutils/current/ld/scripttempl/elfd10v.sc buildtools/vendor/binutils/current/ld/scripttempl/elfd30v.sc buildtools/vendor/binutils/current/ld/scripttempl/elfxtensa.sc buildtools/vendor/binutils/current/ld/scripttempl/iq2000.sc buildtools/vendor/binutils/current/ld/scripttempl/pe.sc buildtools/vendor/binutils/current/ld/scripttempl/xstormy16.sc buildtools/vendor/binutils/current/ld/sysdep.h buildtools/vendor/binutils/current/ld/testsuite/ChangeLog buildtools/vendor/binutils/current/ld/testsuite/config/default.exp buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/alpha.exp buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbin.dd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbin.rd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbin.sd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbin.td buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbinr.dd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlsbinr.rd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlspic.dd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlspic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlspic.sd buildtools/vendor/binutils/current/ld/testsuite/ld-alpha/tlspic.td buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-app-abs32.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-app.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-dyn.ld buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-elf.exp buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-lib.ld buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-rel31.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-target1-abs.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-target1-rel.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-target2-abs.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-target2-got-rel.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm-target2-rel.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/arm.ld buildtools/vendor/binutils/current/ld/testsuite/ld-arm/mixed-app.d buildtools/vendor/binutils/current/ld/testsuite/ld-arm/mixed-app.r buildtools/vendor/binutils/current/ld/testsuite/ld-arm/mixed-app.sym buildtools/vendor/binutils/current/ld/testsuite/ld-arm/mixed-lib.sym buildtools/vendor/binutils/current/ld/testsuite/ld-auto-import/auto-import.exp buildtools/vendor/binutils/current/ld/testsuite/ld-bootstrap/bootstrap.exp buildtools/vendor/binutils/current/ld/testsuite/ld-cdtest/cdtest-foo.cc buildtools/vendor/binutils/current/ld/testsuite/ld-cdtest/cdtest-foo.h buildtools/vendor/binutils/current/ld/testsuite/ld-cdtest/cdtest.exp buildtools/vendor/binutils/current/ld/testsuite/ld-checks/checks.exp buildtools/vendor/binutils/current/ld/testsuite/ld-cris/cris.exp buildtools/vendor/binutils/current/ld/testsuite/ld-cris/dso-1.s buildtools/vendor/binutils/current/ld/testsuite/ld-cris/expdyn1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/expdyn1.s buildtools/vendor/binutils/current/ld/testsuite/ld-cris/expdyn5.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/expdyn6.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/expdyn7.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/gotplt1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/gotplt2.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/gotplt3.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/hiddef1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-10.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-11.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-12.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-13.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-14.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/libdso-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/locref1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/locref2.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/nodyn5.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/pv32-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v10-v32.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v10-va.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v32-ba-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v32-bin-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v32-v10.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/v32-va.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/va-v10.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/va-v32.d buildtools/vendor/binutils/current/ld/testsuite/ld-cris/weakref2.d buildtools/vendor/binutils/current/ld/testsuite/ld-crx/crx.exp buildtools/vendor/binutils/current/ld/testsuite/ld-cygwin/exe-export.exp buildtools/vendor/binutils/current/ld/testsuite/ld-d10v/d10v.exp buildtools/vendor/binutils/current/ld/testsuite/ld-d10v/default_layout.d buildtools/vendor/binutils/current/ld/testsuite/ld-discard/discard.exp buildtools/vendor/binutils/current/ld/testsuite/ld-discard/extern.d buildtools/vendor/binutils/current/ld/testsuite/ld-discard/start.d buildtools/vendor/binutils/current/ld/testsuite/ld-discard/static.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/elf.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elf/exclude.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elf/frame.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elf/group1.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/merge.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/merge2.d buildtools/vendor/binutils/current/ld/testsuite/ld-elf/sec64k.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elf/start.s buildtools/vendor/binutils/current/ld/testsuite/ld-elf/warn1.d buildtools/vendor/binutils/current/ld/testsuite/ld-elfcomm/elfcomm.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elfvers/vers.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elfvsb/elfvsb.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elfweak/elfweak.exp buildtools/vendor/binutils/current/ld/testsuite/ld-elfweak/size_foo.c buildtools/vendor/binutils/current/ld/testsuite/ld-fastcall/fastcall.exp buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-pie-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-pie-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-pie-6.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-pie-7.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-pie-8.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-4.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-5.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-6.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-7.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-8.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-local-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-shared-local-8.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-static-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-static-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-static-6.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-static-7.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic-static-8.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/fdpic.exp buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-dynamic-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-dynamic-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-dynamic-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-initial-shared-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-pie-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-pie-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-dynamic-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-dynamic-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-dynamic-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-initial-shared-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-pie-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-pie-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-shared-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-shared-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-shared-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-relax-static-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-shared-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-shared-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-shared-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-static-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls-static-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-frv/tls.exp buildtools/vendor/binutils/current/ld/testsuite/ld-h8300/h8300.exp buildtools/vendor/binutils/current/ld/testsuite/ld-i386/i386.exp buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsbin.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsnopic.dd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsnopic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlsnopic.sd buildtools/vendor/binutils/current/ld/testsuite/ld-i386/tlspic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/ia64.exp buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlsbin.dd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlsbin.rd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlsbin.sd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlspic.dd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlspic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-ia64/tlspic.sd buildtools/vendor/binutils/current/ld/testsuite/ld-linkonce/linkonce.exp buildtools/vendor/binutils/current/ld/testsuite/ld-m68hc11/m68hc11.exp buildtools/vendor/binutils/current/ld/testsuite/ld-maxq/maxq.exp buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/mips-elf-flags.exp buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/mips-elf.exp buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/multi-got-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/multi-got-no-shared.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/rel32-n32.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/rel32-o32.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/rel64.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-multi-got-1.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tls-multi-got-1.r buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32.d buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlsdyn-o32.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got buildtools/vendor/binutils/current/ld/testsuite/ld-mips-elf/tlslib-o32.got buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-10.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-11.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-14.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-16.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-17.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-18.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-19.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-22.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-4.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-5.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-6.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bpo-9.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bspec1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/bspec2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-19.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-4.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-5.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-5s.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-6.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/greg-7.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loc1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loc2.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loc3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loc4.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loc6.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/local1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/local12.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/local3.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/local5.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/local7.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/locdo-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/loct-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/locto-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/mmix.exp buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/sec-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/sec-7m.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/start-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-mmix/undef-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-pe/pe.exp buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/apuinfo.rd buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/powerpc.exp buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tls32.s buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexe.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexe.r buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexe32.d buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexe32.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexe32.r buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexetoc.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsexetoc.r buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsso.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsso.r buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsso32.d buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsso32.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlsso32.r buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlstocso.g buildtools/vendor/binutils/current/ld/testsuite/ld-powerpc/tlstocso.r buildtools/vendor/binutils/current/ld/testsuite/ld-s390/s390.exp buildtools/vendor/binutils/current/ld/testsuite/ld-s390/tlsbin.rd buildtools/vendor/binutils/current/ld/testsuite/ld-s390/tlsbin_64.rd buildtools/vendor/binutils/current/ld/testsuite/ld-s390/tlspic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-s390/tlspic_64.rd buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/align.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/assert.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/crossref.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/data.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/defined.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/defined2.d buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/defined3.d buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/empty-orphan.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/map-address.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/overlay-size.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/phdrs.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/phdrs2.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/provide.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/script.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/size-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/size.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/sizeof.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/sort.exp buildtools/vendor/binutils/current/ld/testsuite/ld-scripts/weak.exp buildtools/vendor/binutils/current/ld/testsuite/ld-selective/sel-dump.exp buildtools/vendor/binutils/current/ld/testsuite/ld-selective/selective.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/arch/arch.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/rd-sh.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/abi32.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/abi64.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/cmpct1.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/crange1.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/crange2.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/crange3-media.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/crange3.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/gotplt.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/init-cmpct.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/init-media.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/init64.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/mix1.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/mix2.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/rd-sh64.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/relax.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/relfail.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/sh64.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/shdl32.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/sh64/shdl64.xd buildtools/vendor/binutils/current/ld/testsuite/ld-sh/shared-1.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/tlsbin-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/tlsbin-3.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/tlsbin-4.d buildtools/vendor/binutils/current/ld/testsuite/ld-sh/tlspic-2.d buildtools/vendor/binutils/current/ld/testsuite/ld-shared/shared.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/sparc.exp buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlsg64.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin32.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin32.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin32.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin64.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin64.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin64.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunbin64.td buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunnopic32.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunnopic64.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunnopic64.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunnopic64.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic32.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic32.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic64.dd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic64.rd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic64.sd buildtools/vendor/binutils/current/ld/testsuite/ld-sparc/tlssunpic64.td buildtools/vendor/binutils/current/ld/testsuite/ld-srec/sr3.cc buildtools/vendor/binutils/current/ld/testsuite/ld-srec/srec.exp buildtools/vendor/binutils/current/ld/testsuite/ld-undefined/undefined.exp buildtools/vendor/binutils/current/ld/testsuite/ld-undefined/weak-undef.exp buildtools/vendor/binutils/current/ld/testsuite/ld-versados/versados.exp buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlsbin.rd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlspic.dd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/tlspic.rd buildtools/vendor/binutils/current/ld/testsuite/ld-x86-64/x86-64.exp buildtools/vendor/binutils/current/ld/testsuite/ld-xstormy16/xstormy16.exp buildtools/vendor/binutils/current/ld/testsuite/ld-xtensa/coalesce.exp buildtools/vendor/binutils/current/ld/testsuite/ld-xtensa/lcall.exp buildtools/vendor/binutils/current/ld/testsuite/lib/ld-lib.exp buildtools/vendor/binutils/current/libiberty/COPYING.LIB buildtools/vendor/binutils/current/libiberty/ChangeLog buildtools/vendor/binutils/current/libiberty/Makefile.in buildtools/vendor/binutils/current/libiberty/_doprnt.c buildtools/vendor/binutils/current/libiberty/aclocal.m4 buildtools/vendor/binutils/current/libiberty/alloca.c buildtools/vendor/binutils/current/libiberty/argv.c buildtools/vendor/binutils/current/libiberty/asprintf.c buildtools/vendor/binutils/current/libiberty/atexit.c buildtools/vendor/binutils/current/libiberty/basename.c buildtools/vendor/binutils/current/libiberty/bcmp.c buildtools/vendor/binutils/current/libiberty/bcopy.c buildtools/vendor/binutils/current/libiberty/bsearch.c buildtools/vendor/binutils/current/libiberty/bzero.c buildtools/vendor/binutils/current/libiberty/calloc.c buildtools/vendor/binutils/current/libiberty/choose-temp.c buildtools/vendor/binutils/current/libiberty/clock.c buildtools/vendor/binutils/current/libiberty/concat.c buildtools/vendor/binutils/current/libiberty/config.in buildtools/vendor/binutils/current/libiberty/configure buildtools/vendor/binutils/current/libiberty/configure.ac buildtools/vendor/binutils/current/libiberty/copying-lib.texi buildtools/vendor/binutils/current/libiberty/copysign.c buildtools/vendor/binutils/current/libiberty/cp-demangle.c buildtools/vendor/binutils/current/libiberty/cp-demangle.h buildtools/vendor/binutils/current/libiberty/cp-demint.c buildtools/vendor/binutils/current/libiberty/cplus-dem.c buildtools/vendor/binutils/current/libiberty/dyn-string.c buildtools/vendor/binutils/current/libiberty/fdmatch.c buildtools/vendor/binutils/current/libiberty/ffs.c buildtools/vendor/binutils/current/libiberty/fibheap.c buildtools/vendor/binutils/current/libiberty/floatformat.c buildtools/vendor/binutils/current/libiberty/fnmatch.c buildtools/vendor/binutils/current/libiberty/functions.texi buildtools/vendor/binutils/current/libiberty/gather-docs buildtools/vendor/binutils/current/libiberty/getcwd.c buildtools/vendor/binutils/current/libiberty/getopt.c buildtools/vendor/binutils/current/libiberty/getopt1.c buildtools/vendor/binutils/current/libiberty/getpagesize.c buildtools/vendor/binutils/current/libiberty/getpwd.c buildtools/vendor/binutils/current/libiberty/getruntime.c buildtools/vendor/binutils/current/libiberty/hashtab.c buildtools/vendor/binutils/current/libiberty/hex.c buildtools/vendor/binutils/current/libiberty/index.c buildtools/vendor/binutils/current/libiberty/insque.c buildtools/vendor/binutils/current/libiberty/lbasename.c buildtools/vendor/binutils/current/libiberty/lrealpath.c buildtools/vendor/binutils/current/libiberty/maint-tool buildtools/vendor/binutils/current/libiberty/make-relative-prefix.c buildtools/vendor/binutils/current/libiberty/make-temp-file.c buildtools/vendor/binutils/current/libiberty/md5.c buildtools/vendor/binutils/current/libiberty/memchr.c buildtools/vendor/binutils/current/libiberty/memcmp.c buildtools/vendor/binutils/current/libiberty/memcpy.c buildtools/vendor/binutils/current/libiberty/memmove.c buildtools/vendor/binutils/current/libiberty/mempcpy.c buildtools/vendor/binutils/current/libiberty/memset.c buildtools/vendor/binutils/current/libiberty/mkstemps.c buildtools/vendor/binutils/current/libiberty/objalloc.c buildtools/vendor/binutils/current/libiberty/obstack.c buildtools/vendor/binutils/current/libiberty/partition.c buildtools/vendor/binutils/current/libiberty/pex-common.h buildtools/vendor/binutils/current/libiberty/pex-djgpp.c buildtools/vendor/binutils/current/libiberty/pex-msdos.c buildtools/vendor/binutils/current/libiberty/pex-unix.c buildtools/vendor/binutils/current/libiberty/pex-win32.c buildtools/vendor/binutils/current/libiberty/pexecute.txh buildtools/vendor/binutils/current/libiberty/physmem.c buildtools/vendor/binutils/current/libiberty/putenv.c buildtools/vendor/binutils/current/libiberty/random.c buildtools/vendor/binutils/current/libiberty/regex.c buildtools/vendor/binutils/current/libiberty/rename.c buildtools/vendor/binutils/current/libiberty/rindex.c buildtools/vendor/binutils/current/libiberty/safe-ctype.c buildtools/vendor/binutils/current/libiberty/setenv.c buildtools/vendor/binutils/current/libiberty/sigsetmask.c buildtools/vendor/binutils/current/libiberty/snprintf.c buildtools/vendor/binutils/current/libiberty/sort.c buildtools/vendor/binutils/current/libiberty/spaces.c buildtools/vendor/binutils/current/libiberty/splay-tree.c buildtools/vendor/binutils/current/libiberty/stpcpy.c buildtools/vendor/binutils/current/libiberty/stpncpy.c buildtools/vendor/binutils/current/libiberty/strcasecmp.c buildtools/vendor/binutils/current/libiberty/strchr.c buildtools/vendor/binutils/current/libiberty/strdup.c buildtools/vendor/binutils/current/libiberty/strerror.c buildtools/vendor/binutils/current/libiberty/strncasecmp.c buildtools/vendor/binutils/current/libiberty/strncmp.c buildtools/vendor/binutils/current/libiberty/strrchr.c buildtools/vendor/binutils/current/libiberty/strsignal.c buildtools/vendor/binutils/current/libiberty/strstr.c buildtools/vendor/binutils/current/libiberty/strtod.c buildtools/vendor/binutils/current/libiberty/strtol.c buildtools/vendor/binutils/current/libiberty/strtoul.c buildtools/vendor/binutils/current/libiberty/ternary.c buildtools/vendor/binutils/current/libiberty/testsuite/Makefile.in buildtools/vendor/binutils/current/libiberty/testsuite/demangle-expected buildtools/vendor/binutils/current/libiberty/testsuite/test-demangle.c buildtools/vendor/binutils/current/libiberty/tmpnam.c buildtools/vendor/binutils/current/libiberty/unlink-if-ordinary.c buildtools/vendor/binutils/current/libiberty/vasprintf.c buildtools/vendor/binutils/current/libiberty/vfork.c buildtools/vendor/binutils/current/libiberty/vfprintf.c buildtools/vendor/binutils/current/libiberty/vprintf.c buildtools/vendor/binutils/current/libiberty/vsnprintf.c buildtools/vendor/binutils/current/libiberty/vsprintf.c buildtools/vendor/binutils/current/libiberty/waitpid.c buildtools/vendor/binutils/current/libiberty/xatexit.c buildtools/vendor/binutils/current/libiberty/xexit.c buildtools/vendor/binutils/current/libiberty/xmalloc.c buildtools/vendor/binutils/current/libiberty/xmemdup.c buildtools/vendor/binutils/current/libiberty/xstrdup.c buildtools/vendor/binutils/current/libiberty/xstrerror.c buildtools/vendor/binutils/current/libtool.m4 buildtools/vendor/binutils/current/ltcf-c.sh buildtools/vendor/binutils/current/ltcf-cxx.sh buildtools/vendor/binutils/current/ltcf-gcj.sh buildtools/vendor/binutils/current/ltconfig buildtools/vendor/binutils/current/ltmain.sh buildtools/vendor/binutils/current/md5.sum buildtools/vendor/binutils/current/missing buildtools/vendor/binutils/current/mkdep buildtools/vendor/binutils/current/mkinstalldirs buildtools/vendor/binutils/current/move-if-change buildtools/vendor/binutils/current/opcodes/ChangeLog buildtools/vendor/binutils/current/opcodes/Makefile.am buildtools/vendor/binutils/current/opcodes/Makefile.in buildtools/vendor/binutils/current/opcodes/aclocal.m4 buildtools/vendor/binutils/current/opcodes/alpha-dis.c buildtools/vendor/binutils/current/opcodes/alpha-opc.c buildtools/vendor/binutils/current/opcodes/arc-dis.c buildtools/vendor/binutils/current/opcodes/arc-dis.h buildtools/vendor/binutils/current/opcodes/arc-ext.c buildtools/vendor/binutils/current/opcodes/arc-ext.h buildtools/vendor/binutils/current/opcodes/arc-opc.c buildtools/vendor/binutils/current/opcodes/arm-dis.c buildtools/vendor/binutils/current/opcodes/avr-dis.c buildtools/vendor/binutils/current/opcodes/cgen-asm.c buildtools/vendor/binutils/current/opcodes/cgen-asm.in buildtools/vendor/binutils/current/opcodes/cgen-dis.c buildtools/vendor/binutils/current/opcodes/cgen-dis.in buildtools/vendor/binutils/current/opcodes/cgen-ibld.in buildtools/vendor/binutils/current/opcodes/cgen-opc.c buildtools/vendor/binutils/current/opcodes/cgen.sh buildtools/vendor/binutils/current/opcodes/config.in buildtools/vendor/binutils/current/opcodes/configure buildtools/vendor/binutils/current/opcodes/configure.in buildtools/vendor/binutils/current/opcodes/cris-dis.c buildtools/vendor/binutils/current/opcodes/cris-opc.c buildtools/vendor/binutils/current/opcodes/crx-dis.c buildtools/vendor/binutils/current/opcodes/crx-opc.c buildtools/vendor/binutils/current/opcodes/d10v-dis.c buildtools/vendor/binutils/current/opcodes/d10v-opc.c buildtools/vendor/binutils/current/opcodes/d30v-dis.c buildtools/vendor/binutils/current/opcodes/d30v-opc.c buildtools/vendor/binutils/current/opcodes/dep-in.sed buildtools/vendor/binutils/current/opcodes/dis-buf.c buildtools/vendor/binutils/current/opcodes/dis-init.c buildtools/vendor/binutils/current/opcodes/disassemble.c buildtools/vendor/binutils/current/opcodes/dlx-dis.c buildtools/vendor/binutils/current/opcodes/fr30-asm.c buildtools/vendor/binutils/current/opcodes/fr30-desc.c buildtools/vendor/binutils/current/opcodes/fr30-desc.h buildtools/vendor/binutils/current/opcodes/fr30-dis.c buildtools/vendor/binutils/current/opcodes/fr30-ibld.c buildtools/vendor/binutils/current/opcodes/fr30-opc.c buildtools/vendor/binutils/current/opcodes/fr30-opc.h buildtools/vendor/binutils/current/opcodes/frv-asm.c buildtools/vendor/binutils/current/opcodes/frv-desc.c buildtools/vendor/binutils/current/opcodes/frv-desc.h buildtools/vendor/binutils/current/opcodes/frv-dis.c buildtools/vendor/binutils/current/opcodes/frv-ibld.c buildtools/vendor/binutils/current/opcodes/frv-opc.c buildtools/vendor/binutils/current/opcodes/frv-opc.h buildtools/vendor/binutils/current/opcodes/h8300-dis.c buildtools/vendor/binutils/current/opcodes/h8500-dis.c buildtools/vendor/binutils/current/opcodes/h8500-opc.h buildtools/vendor/binutils/current/opcodes/hppa-dis.c buildtools/vendor/binutils/current/opcodes/i370-dis.c buildtools/vendor/binutils/current/opcodes/i370-opc.c buildtools/vendor/binutils/current/opcodes/i386-dis.c buildtools/vendor/binutils/current/opcodes/i860-dis.c buildtools/vendor/binutils/current/opcodes/i960-dis.c buildtools/vendor/binutils/current/opcodes/ia64-asmtab.c buildtools/vendor/binutils/current/opcodes/ia64-asmtab.h buildtools/vendor/binutils/current/opcodes/ia64-dis.c buildtools/vendor/binutils/current/opcodes/ia64-gen.c buildtools/vendor/binutils/current/opcodes/ia64-ic.tbl buildtools/vendor/binutils/current/opcodes/ia64-opc-a.c buildtools/vendor/binutils/current/opcodes/ia64-opc-b.c buildtools/vendor/binutils/current/opcodes/ia64-opc-d.c buildtools/vendor/binutils/current/opcodes/ia64-opc-f.c buildtools/vendor/binutils/current/opcodes/ia64-opc-i.c buildtools/vendor/binutils/current/opcodes/ia64-opc-m.c buildtools/vendor/binutils/current/opcodes/ia64-opc-x.c buildtools/vendor/binutils/current/opcodes/ia64-opc.c buildtools/vendor/binutils/current/opcodes/ia64-opc.h buildtools/vendor/binutils/current/opcodes/ia64-raw.tbl buildtools/vendor/binutils/current/opcodes/ia64-waw.tbl buildtools/vendor/binutils/current/opcodes/ip2k-asm.c buildtools/vendor/binutils/current/opcodes/ip2k-desc.c buildtools/vendor/binutils/current/opcodes/ip2k-desc.h buildtools/vendor/binutils/current/opcodes/ip2k-dis.c buildtools/vendor/binutils/current/opcodes/ip2k-ibld.c buildtools/vendor/binutils/current/opcodes/ip2k-opc.c buildtools/vendor/binutils/current/opcodes/ip2k-opc.h buildtools/vendor/binutils/current/opcodes/iq2000-asm.c buildtools/vendor/binutils/current/opcodes/iq2000-desc.c buildtools/vendor/binutils/current/opcodes/iq2000-desc.h buildtools/vendor/binutils/current/opcodes/iq2000-dis.c buildtools/vendor/binutils/current/opcodes/iq2000-ibld.c buildtools/vendor/binutils/current/opcodes/iq2000-opc.c buildtools/vendor/binutils/current/opcodes/iq2000-opc.h buildtools/vendor/binutils/current/opcodes/m10200-dis.c buildtools/vendor/binutils/current/opcodes/m10200-opc.c buildtools/vendor/binutils/current/opcodes/m10300-dis.c buildtools/vendor/binutils/current/opcodes/m10300-opc.c buildtools/vendor/binutils/current/opcodes/m32r-asm.c buildtools/vendor/binutils/current/opcodes/m32r-desc.c buildtools/vendor/binutils/current/opcodes/m32r-desc.h buildtools/vendor/binutils/current/opcodes/m32r-dis.c buildtools/vendor/binutils/current/opcodes/m32r-ibld.c buildtools/vendor/binutils/current/opcodes/m32r-opc.c buildtools/vendor/binutils/current/opcodes/m32r-opc.h buildtools/vendor/binutils/current/opcodes/m32r-opinst.c buildtools/vendor/binutils/current/opcodes/m68hc11-dis.c buildtools/vendor/binutils/current/opcodes/m68hc11-opc.c buildtools/vendor/binutils/current/opcodes/m68k-dis.c buildtools/vendor/binutils/current/opcodes/m68k-opc.c buildtools/vendor/binutils/current/opcodes/m88k-dis.c buildtools/vendor/binutils/current/opcodes/maxq-dis.c buildtools/vendor/binutils/current/opcodes/mcore-dis.c buildtools/vendor/binutils/current/opcodes/mcore-opc.h buildtools/vendor/binutils/current/opcodes/mips-dis.c buildtools/vendor/binutils/current/opcodes/mips-opc.c buildtools/vendor/binutils/current/opcodes/mips16-opc.c buildtools/vendor/binutils/current/opcodes/mmix-dis.c buildtools/vendor/binutils/current/opcodes/mmix-opc.c buildtools/vendor/binutils/current/opcodes/msp430-dis.c buildtools/vendor/binutils/current/opcodes/ns32k-dis.c buildtools/vendor/binutils/current/opcodes/openrisc-asm.c buildtools/vendor/binutils/current/opcodes/openrisc-desc.c buildtools/vendor/binutils/current/opcodes/openrisc-desc.h buildtools/vendor/binutils/current/opcodes/openrisc-dis.c buildtools/vendor/binutils/current/opcodes/openrisc-ibld.c buildtools/vendor/binutils/current/opcodes/openrisc-opc.c buildtools/vendor/binutils/current/opcodes/openrisc-opc.h buildtools/vendor/binutils/current/opcodes/opintl.h buildtools/vendor/binutils/current/opcodes/or32-dis.c buildtools/vendor/binutils/current/opcodes/or32-opc.c buildtools/vendor/binutils/current/opcodes/pdp11-dis.c buildtools/vendor/binutils/current/opcodes/pdp11-opc.c buildtools/vendor/binutils/current/opcodes/pj-dis.c buildtools/vendor/binutils/current/opcodes/pj-opc.c buildtools/vendor/binutils/current/opcodes/po/Make-in buildtools/vendor/binutils/current/opcodes/po/POTFILES.in buildtools/vendor/binutils/current/opcodes/po/es.gmo buildtools/vendor/binutils/current/opcodes/po/es.po buildtools/vendor/binutils/current/opcodes/po/nl.gmo buildtools/vendor/binutils/current/opcodes/po/nl.po buildtools/vendor/binutils/current/opcodes/po/opcodes.pot buildtools/vendor/binutils/current/opcodes/po/sv.gmo buildtools/vendor/binutils/current/opcodes/po/sv.po buildtools/vendor/binutils/current/opcodes/ppc-dis.c buildtools/vendor/binutils/current/opcodes/ppc-opc.c buildtools/vendor/binutils/current/opcodes/s390-dis.c buildtools/vendor/binutils/current/opcodes/s390-mkopc.c buildtools/vendor/binutils/current/opcodes/s390-opc.c buildtools/vendor/binutils/current/opcodes/s390-opc.txt buildtools/vendor/binutils/current/opcodes/sh-dis.c buildtools/vendor/binutils/current/opcodes/sh-opc.h buildtools/vendor/binutils/current/opcodes/sh64-dis.c buildtools/vendor/binutils/current/opcodes/sh64-opc.c buildtools/vendor/binutils/current/opcodes/sh64-opc.h buildtools/vendor/binutils/current/opcodes/sparc-dis.c buildtools/vendor/binutils/current/opcodes/sparc-opc.c buildtools/vendor/binutils/current/opcodes/sysdep.h buildtools/vendor/binutils/current/opcodes/tic30-dis.c buildtools/vendor/binutils/current/opcodes/tic4x-dis.c buildtools/vendor/binutils/current/opcodes/tic54x-dis.c buildtools/vendor/binutils/current/opcodes/tic54x-opc.c buildtools/vendor/binutils/current/opcodes/tic80-dis.c buildtools/vendor/binutils/current/opcodes/tic80-opc.c buildtools/vendor/binutils/current/opcodes/v850-dis.c buildtools/vendor/binutils/current/opcodes/v850-opc.c buildtools/vendor/binutils/current/opcodes/vax-dis.c buildtools/vendor/binutils/current/opcodes/w65-dis.c buildtools/vendor/binutils/current/opcodes/w65-opc.h buildtools/vendor/binutils/current/opcodes/xstormy16-asm.c buildtools/vendor/binutils/current/opcodes/xstormy16-desc.c buildtools/vendor/binutils/current/opcodes/xstormy16-desc.h buildtools/vendor/binutils/current/opcodes/xstormy16-dis.c buildtools/vendor/binutils/current/opcodes/xstormy16-ibld.c buildtools/vendor/binutils/current/opcodes/xstormy16-opc.c buildtools/vendor/binutils/current/opcodes/xstormy16-opc.h buildtools/vendor/binutils/current/opcodes/xtensa-dis.c buildtools/vendor/binutils/current/opcodes/z8k-dis.c buildtools/vendor/binutils/current/opcodes/z8kgen.c buildtools/vendor/binutils/current/setup.com buildtools/vendor/binutils/current/src-release buildtools/vendor/binutils/current/symlink-tree buildtools/vendor/binutils/current/ylwrap Log: Load binutils-2.17 into buildtools/vendor/binutils/current. Modified: buildtools/vendor/binutils/current/COPYING =================================================================== --- buildtools/vendor/binutils/current/COPYING 2007-02-19 19:01:30 UTC (rev 20168) +++ buildtools/vendor/binutils/current/COPYING 2007-02-19 19:30:20 UTC (rev 20169) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -291,7 +291,7 @@ the "copyright" line and a pointer to where the full notice is found. - Copyright (C) 19yy + Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -305,7 +305,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. @@ -313,7 +313,7 @@ If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Modified: buildtools/vendor/binutils/current/COPYING.LIB =================================================================== --- buildtools/vendor/binutils/current/COPYING.LIB 2007-02-19 19:01:30 UTC (rev 20168) +++ buildtools/vendor/binutils/current/COPYING.LIB 2007-02-19 19:30:20 UTC (rev 20169) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -464,8 +464,8 @@ You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA Also add information on how to contact you by electronic and paper mail. Modified: buildtools/vendor/binutils/current/Makefile.def =================================================================== --- buildtools/vendor/binutils/current/Makefile.def 2007-02-19 19:01:30 UTC (rev 20168) +++ buildtools/vendor/binutils/current/Makefile.def 2007-02-19 19:30:20 UTC (rev 20169) @@ -4,7 +4,7 @@ // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'. // This file was originally written by Nathanael Nerode. // -// Copyright 2002, 2003 Free Software Foundation +// Copyright 2002, 2003, 2004, 2005, 2006 Free Software Foundation // // This file is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // "missing" indicates that that module doesn't supply @@ -37,8 +37,8 @@ host_modules= { module= autoconf; }; host_modules= { module= automake; }; host_modules= { module= bash; }; -host_modules= { module= bfd; bootstrap=true; }; -host_modules= { module= opcodes; bootstrap=true; }; +host_modules= { module= bfd; lib_path=.; bootstrap=true; }; +host_modules= { module= opcodes; lib_path=.; bootstrap=true; }; host_modules= { module= binutils; bootstrap=true; }; host_modules= { module= bison; no_check_cross= true; }; host_modules= { module= byacc; no_check_cross= true; }; @@ -60,7 +60,7 @@ host_modules= { module= flex; no_check_cross= true; }; host_modules= { module= gas; bootstrap=true; }; host_modules= { module= gcc; bootstrap=true; - target="`if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi`"; + target="`if [ -f stage_last ]; then echo quickstrap ; else echo all; fi`"; extra_make_flags="$(EXTRA_GCC_FLAGS)"; }; host_modules= { module= gawk; }; host_modules= { module= gettext; }; @@ -75,6 +75,7 @@ host_modules= { module= itcl; }; host_modules= { module= ld; bootstrap=true; }; host_modules= { module= libcpp; bootstrap=true; }; +host_modules= { module= libdecnumber; bootstrap=true; }; host_modules= { module= libgui; }; host_modules= { module= libiberty; bootstrap=true; }; host_modules= { module= libtool; }; @@ -113,8 +114,10 @@ host_modules= { module= utils; no_check=true; }; host_modules= { module= gnattools; }; -target_modules = { module= libstdc++-v3; raw_cxx=true; }; -target_modules = { module= libmudflap; }; +target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; }; +target_modules = { module= libmudflap; lib_path=.libs; }; +target_modules = { module= libssp; lib_path=.libs; }; +target_modules = { module= libgcc-math; lib_path=.libs; }; target_modules = { module= newlib; }; target_modules = { module= libgfortran; }; target_modules = { module= libobjc; }; @@ -135,6 +138,7 @@ target_modules = { module= qthreads; }; target_modules = { module= rda; }; target_modules = { module= libada; }; +target_modules = { module= libgomp; lib_path=.libs; }; // These are (some of) the make targets to be done in each subdirectory. // Not all; these are the ones which don't have special options. @@ -151,6 +155,9 @@ recursive_targets = { make_target= install-info; depend=configure; depend=info; }; +recursive_targets = { make_target= install-html; + depend=configure; + depend=html; }; recursive_targets = { make_target= installcheck; depend=configure; }; recursive_targets = { make_target= mostlyclean; }; @@ -168,12 +175,13 @@ flags_to_pass = { flag= datadir ; }; flags_to_pass = { flag= exec_prefix ; }; flags_to_pass = { flag= includedir ; }; +flags_to_pass = { flag= datarootdir ; }; +flags_to_pass = { flag= docdir ; }; flags_to_pass = { flag= infodir ; }; +flags_to_pass = { flag= htmldir ; }; flags_to_pass = { flag= libdir ; }; flags_to_pass = { flag= libexecdir ; }; flags_to_pass = { flag= lispdir ; }; -flags_to_pass = { flag= libstdcxx_incdir ; }; -flags_to_pass = { flag= libsubdir ; }; flags_to_pass = { flag= localstatedir ; }; flags_to_pass = { flag= mandir ; }; flags_to_pass = { flag= oldincludedir ; }; @@ -183,14 +191,12 @@ flags_to_pass = { flag= sysconfdir ; }; flags_to_pass = { flag= tooldir ; }; flags_to_pass = { flag= build_tooldir ; }; -flags_to_pass = { flag= gxx_include_dir ; }; -flags_to_pass = { flag= gcc_version ; }; -flags_to_pass = { flag= gcc_version_trigger ; }; flags_to_pass = { flag= target_alias ; }; // Build tools flags_to_pass = { flag= BISON ; }; flags_to_pass = { flag= CC_FOR_BUILD ; }; +flags_to_pass = { flag= CFLAGS_FOR_BUILD ; }; flags_to_pass = { flag= CXX_FOR_BUILD ; }; flags_to_pass = { flag= EXPECT ; }; flags_to_pass = { flag= FLEX ; }; @@ -207,12 +213,18 @@ flags_to_pass = { flag= YACC ; }; // Host tools +flags_to_pass = { flag= ADAFLAGS ; optional=true ; }; flags_to_pass = { flag= AR_FLAGS ; }; +flags_to_pass = { flag= BOOT_ADAFLAGS ; optional=true ; }; +flags_to_pass = { flag= BOOT_CFLAGS ; }; +flags_to_pass = { flag= BOOT_LDFLAGS ; }; flags_to_pass = { flag= CFLAGS ; }; flags_to_pass = { flag= CXXFLAGS ; }; flags_to_pass = { flag= LDFLAGS ; }; flags_to_pass = { flag= LIBCFLAGS ; }; flags_to_pass = { flag= LIBCXXFLAGS ; }; +flags_to_pass = { flag= STAGE1_CFLAGS ; }; +flags_to_pass = { flag= STAGE1_LANGUAGES ; }; // Target tools flags_to_pass = { flag= AR_FOR_TARGET ; }; @@ -226,12 +238,20 @@ flags_to_pass = { flag= GCJ_FOR_TARGET ; }; flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; }; flags_to_pass = { flag= LD_FOR_TARGET ; }; +flags_to_pass = { flag= LIPO_FOR_TARGET ; }; +flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= NM_FOR_TARGET ; }; +flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; }; flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; +flags_to_pass = { flag= STRIP_FOR_TARGET ; }; flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; +// Miscellaneous +flags_to_pass = { flag= LANGUAGES ; optional=true ; }; +flags_to_pass = { flag= LEAN ; }; + // Inter-module dependencies // Build modules @@ -247,9 +267,9 @@ // Host modules specific to gcc. dependencies = { module=configure-gcc; on=configure-intl; }; -dependencies = { module=configure-gcc; on=configure-binutils; }; -dependencies = { module=configure-gcc; on=configure-gas; }; -dependencies = { module=configure-gcc; on=configure-ld; }; +dependencies = { module=configure-gcc; on=all-binutils; }; +dependencies = { module=configure-gcc; on=all-gas; }; +dependencies = { module=configure-gcc; on=all-ld; }; dependencies = { module=all-gcc; on=all-libiberty; hard=true; }; dependencies = { module=all-gcc; on=all-intl; }; dependencies = { module=all-gcc; on=all-build-texinfo; }; @@ -258,11 +278,9 @@ dependencies = { module=all-gcc; on=all-build-flex; }; dependencies = { module=all-gcc; on=all-build-libiberty; }; dependencies = { module=all-gcc; on=all-build-fixincludes; }; -dependencies = { module=all-gcc; on=all-binutils; }; -dependencies = { module=all-gcc; on=all-gas; }; -dependencies = { module=all-gcc; on=all-ld; }; dependencies = { module=all-gcc; on=all-zlib; }; dependencies = { module=all-gcc; on=all-libcpp; hard=true; }; +dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; }; dependencies = { module=all-gcc; on=all-libiberty; }; dependencies = { module=all-gcc; on=all-fixincludes; }; dependencies = { module=install-gcc ; on=install-fixincludes; }; @@ -277,9 +295,6 @@ dependencies = { module=all-gnattools; on=all-target-libada; }; // Host modules specific to gdb. -dependencies = { module=configure-gdb; on=configure-itcl; }; -dependencies = { module=configure-gdb; on=configure-tcl; }; -dependencies = { module=configure-gdb; on=configure-tk; }; dependencies = { module=configure-gdb; on=configure-sim; }; dependencies = { module=all-gdb; on=all-libiberty; }; dependencies = { module=all-gdb; on=all-opcodes; }; @@ -288,10 +303,6 @@ dependencies = { module=all-gdb; on=all-build-bison; }; dependencies = { module=all-gdb; on=all-build-byacc; }; dependencies = { module=all-gdb; on=all-sim; }; -dependencies = { module=install-gdb; on=install-tcl; }; -dependencies = { module=install-gdb; on=install-tk; }; -dependencies = { module=install-gdb; on=install-itcl; }; -dependencies = { module=install-gdb; on=install-libgui; }; dependencies = { module=configure-libgui; on=configure-tcl; }; dependencies = { module=configure-libgui; on=configure-tk; }; @@ -421,7 +432,9 @@ lang_env_dependencies = { module=libgfortran; }; lang_env_dependencies = { module=libffi; }; lang_env_dependencies = { module=libjava; cxx=true; }; +lang_env_dependencies = { module=libmudflap; }; lang_env_dependencies = { module=libobjc; }; +lang_env_dependencies = { module=libssp; }; lang_env_dependencies = { module=libstdc++-v3; }; lang_env_dependencies = { module=zlib; }; @@ -457,7 +470,7 @@ id=1 ; stage_configure_flags='--disable-intermodule \ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ; - stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)"' ; }; + stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"' ; }; bootstrap_stage = { id=2 ; prev=1 ; bootstrap_target=bootstrap2 ; @@ -481,6 +494,7 @@ stage_configure_flags="@stage2_werror_flag@" ; stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; }; bootstrap_stage = { - id=feedback ; prev=1 ; + id=feedback ; prev=profile ; + bootstrap_target=profiledbootstrap ; stage_configure_flags="@stage2_werror_flag@" ; stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; }; Modified: buildtools/vendor/binutils/current/Makefile.in =================================================================== --- buildtools/vendor/binutils/current/Makefile.in 2007-02-19 19:01:30 UTC (rev 20168) +++ buildtools/vendor/binutils/current/Makefile.in 2007-02-19 19:30:20 UTC (rev 20169) @@ -3,7 +3,7 @@ # # Makefile for directory with subdirs to build. # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation +# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ------------------------------- @@ -50,6 +50,9 @@ includedir = @includedir@ oldincludedir = @oldincludedir@ infodir = @infodir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +htmldir = @htmldir@ mandir = @mandir@ man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 @@ -72,45 +75,23 @@ # Miscellaneous non-standard autoconf-set variables # ------------------------------------------------- -# The file containing GCC's version number. -gcc_version_trigger = @gcc_version_trigger@ -gcc_version = @gcc_version@ - # The gcc driver likes to know the arguments it was configured with. TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@ -gxx_include_dir = @gxx_include_dir@ -libstdcxx_incdir = @libstdcxx_incdir@ - tooldir = @tooldir@ build_tooldir = @build_tooldir@ -# Directory in which the compiler finds executables, libraries, etc. -libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) GDB_NLM_DEPS = # This is the name of the environment variable used for the path to # the libraries. RPATH_ENVVAR = @RPATH_ENVVAR@ -# This is set by configure to REALLY_SET_LIB_PATH if --enable-shared -# was used. -SET_LIB_PATH = @SET_LIB_PATH@ - -# configure.in sets SET_LIB_PATH to this if --enable-shared was used. -# Some platforms don't like blank entries, so we remove duplicate, -# leading and trailing colons. -REALLY_SET_LIB_PATH = \ - @SET_GCC_LIB_PATH@ \ - $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); - -# This is the list of directories to be built for the build system. -BUILD_CONFIGDIRS = libiberty # Build programs are put under this directory. BUILD_SUBDIR = @build_subdir@ # This is set by the configure script to the arguments to use when configuring # directories built for the build system. -BUILD_CONFIGARGS = @build_configargs@ +BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)" # This is the list of variables to export in the environment when # configuring any subdirectory. It must also be exported whenever @@ -153,7 +134,8 @@ # with srcdir=.. HOST_SUBDIR = @host_subdir@ # This is the list of variables to export in the environment when -# configuring subdirectories for the host system. +# configuring subdirectories for the host system. We need to pass +# some to the GCC configure because of its hybrid host/target nature. HOST_EXPORTS = \ $(BASE_EXPORTS) \ CC="$(CC)"; export CC; \ @@ -172,14 +154,23 @@ WINDRES="$(WINDRES)"; export WINDRES; \ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \ + AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \ + GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \ + LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \ + NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \ + OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ + RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ GMPINC="$(HOST_GMPINC)"; export GMPINC; \ - SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ - @SET_GCC_LIB_PATH@ + at if gcc-bootstrap + $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ + at endif gcc-bootstrap + $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); # Similar, for later GCC stages. -STAGE_HOST_EXPORTS = \ +POSTSTAGE1_HOST_EXPORTS = \ $(HOST_EXPORTS) \ CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ @@ -188,20 +179,17 @@ -B$$r/$(HOST_SUBDIR)/prev-gcc/ \ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; -# This is set by the configure script to the list of directories which -# should be built using the target tools. -TARGET_CONFIGDIRS = @target_configdirs@ # Target libraries are put under this directory: TARGET_SUBDIR = @target_subdir@ # This is set by the configure script to the arguments to use when configuring # directories built for the target. -TARGET_CONFIGARGS = @target_configargs@ +TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)" # This is the list of variables to export in the environment when # configuring subdirectories for the host system. BASE_TARGET_EXPORTS = \ $(BASE_EXPORTS) \ AR="$(AR_FOR_TARGET)"; export AR; \ - AS="$(AS_FOR_TARGET)"; export AS; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ CC="$(CC_FOR_TARGET)"; export CC; \ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ @@ -210,13 +198,15 @@ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ - LD="$(LD_FOR_TARGET)"; export LD; \ + LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ - NM="$(NM_FOR_TARGET)"; export NM; \ + LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ + NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \ + OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ - SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ - @SET_GCC_LIB_PATH@ + $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); RAW_CXX_TARGET_EXPORTS = \ $(BASE_TARGET_EXPORTS) \ @@ -260,236 +250,91 @@ # Flags to pass to stage2 and later makes. They are defined # here so that they can be overridden by Makefile fragments. BOOT_CFLAGS= -g -O2 +BOOT_LDFLAGS= -CONFIGURED_BISON = @CONFIGURED_BISON@ -BISON = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ - echo $$r/$(BUILD_SUBDIR)/bison/tests/bison ; \ - else \ - echo ${CONFIGURED_BISON} ; \ - fi` +BISON = @BISON@ +YACC = @YACC@ +FLEX = @FLEX@ +LEX = @LEX@ +M4 = @M4@ +MAKEINFO = @MAKEINFO@ +EXPECT = @EXPECT@ +RUNTEST = @RUNTEST@ -CONFIGURED_YACC = @CONFIGURED_YACC@ -YACC = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ - echo $$r/$(BUILD_SUBDIR)/bison/tests/bison -y ; \ - elif [ -f $$r/$(BUILD_SUBDIR)/byacc/byacc ] ; then \ - echo $$r/$(BUILD_SUBDIR)/byacc/byacc ; \ - else \ - echo ${CONFIGURED_YACC} ; \ - fi` - -CONFIGURED_FLEX = @CONFIGURED_FLEX@ -FLEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ - then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ - else echo ${CONFIGURED_FLEX} ; fi` - -CONFIGURED_LEX = @CONFIGURED_LEX@ -LEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ - then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ - else echo ${CONFIGURED_LEX} ; fi` - -CONFIGURED_M4 = @CONFIGURED_M4@ -M4 = `if [ -f $$r/$(BUILD_SUBDIR)/m4/m4 ] ; \ - then echo $$r/$(BUILD_SUBDIR)/m4/m4 ; \ - else echo ${CONFIGURED_M4} ; fi` - -# For an installed makeinfo, we require it to be from texinfo 4.2 or -# higher, else we use the "missing" dummy. We also pass the subdirectory -# makeinfo even if only the Makefile is there, because Texinfo builds its -# manual when made, and it requires its own version. -CONFIGURED_MAKEINFO = @CONFIGURED_MAKEINFO@ -MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \ - then echo $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo ; \ - else if (${CONFIGURED_MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ - then echo ${CONFIGURED_MAKEINFO}; else echo $$s/missing makeinfo; fi; fi` - # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still # using the makeinfo from the object tree. # (Default to avoid splitting info files by setting the threshold high.) MAKEINFOFLAGS = --split-size=5000000 -# FIXME: expect may become a build tool? -EXPECT = `if [ -f $$r/$(HOST_SUBDIR)/expect/expect ] ; \ - then echo $$r/$(HOST_SUBDIR)/expect/expect ; \ - else echo expect ; fi` - -RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \ - then echo $$s/dejagnu/runtest ; \ - else echo runtest ; fi` - # --------------------------------------------- # Programs producing files for the HOST machine # --------------------------------------------- -# This is the list of directories that may be needed in RPATH_ENVVAR -# so that programs built for the host machine work. -HOST_LIB_PATH = $$r/$(HOST_SUBDIR)/bfd:$$r/$(HOST_SUBDIR)/opcodes - AS = @AS@ - AR = @AR@ AR_FLAGS = rc - CC = @CC@ -CFLAGS = @CFLAGS@ -LIBCFLAGS = $(CFLAGS) - CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates - DLLTOOL = @DLLTOOL@ - +LD = @LD@ +LIPO = @LIPO@ NM = @NM@ - -LD = @LD@ -LDFLAGS = - +OBJDUMP = @OBJDUMP@ RANLIB = @RANLIB@ - +STRIP = @STRIP@ WINDRES = @WINDRES@ +CFLAGS = @CFLAGS@ +LDFLAGS = +LIBCFLAGS = $(CFLAGS) +CXXFLAGS = @CXXFLAGS@ +LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates PICFLAG = # ----------------------------------------------- # Programs producing files for the TARGET machine # ----------------------------------------------- -# This is the list of directories that may be needed in RPATH_ENVVAR -# so that prorgams built for the target machine work. -TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:$$r/$(TARGET_SUBDIR)/libmudflap/.libs - FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ AR_FOR_TARGET=@AR_FOR_TARGET@ -CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@ -USUAL_AR_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/binutils/ar ] ; then \ - echo $$r/$(HOST_SUBDIR)/binutils/ar ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(AR); \ - else \ - echo $(CONFIGURED_AR_FOR_TARGET) ; \ - fi; \ - fi` - AS_FOR_TARGET=@AS_FOR_TARGET@ -CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@ -USUAL_AS_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/gas/as-new ] ; then \ - echo $$r/$(HOST_SUBDIR)/gas/as-new ; \ - elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=as ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(AS); \ - else \ - echo $(CONFIGURED_AS_FOR_TARGET) ; \ - fi; \ - fi` +CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET) -CC_FOR_TARGET = @CC_FOR_TARGET@ -# During gcc bootstrap, if we use some random cc for stage1 then -# CFLAGS will be just -g. We want to ensure that TARGET libraries -# (which we know are built with gcc) are built with optimizations so -# prepend -O2 when setting CFLAGS_FOR_TARGET. -CFLAGS_FOR_TARGET = -O2 $(CFLAGS) # If GCC_FOR_TARGET is not overriden on the command line, then this # variable is passed down to the gcc Makefile, where it is used to # build libgcc2.a. We define it here so that it can itself be # overridden on the command line. -GCC_FOR_TARGET=@GCC_FOR_TARGET@ -USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) \ - $$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ $(FLAGS_FOR_TARGET) -LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) - -CXX_FOR_TARGET = @CXX_FOR_TARGET@ -RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@ -CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@ -RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@ -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates - +GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET) +CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) +RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) +GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET) +GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET) DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ -CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@ -USUAL_DLLTOOL_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/binutils/dlltool ] ; then \ - echo $$r/$(HOST_SUBDIR)/binutils/dlltool ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(DLLTOOL); \ - else \ - echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \ - fi; \ - fi` - -GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ -GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@ - LD_FOR_TARGET=@LD_FOR_TARGET@ -CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@ -USUAL_LD_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/ld/ld-new ] ; then \ - echo $$r/$(HOST_SUBDIR)/ld/ld-new ; \ - elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=ld ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(LD); \ - else \ - echo $(CONFIGURED_LD_FOR_TARGET) ; \ - fi; \ - fi` -LDFLAGS_FOR_TARGET = - +LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ NM_FOR_TARGET=@NM_FOR_TARGET@ -CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@ -USUAL_NM_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/binutils/nm-new ] ; then \ - echo $$r/$(HOST_SUBDIR)/binutils/nm-new ; \ - elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=nm ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(NM); \ - else \ - echo $(CONFIGURED_NM_FOR_TARGET) ; \ - fi; \ - fi` - +OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@ RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ -CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@ -USUAL_RANLIB_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/binutils/ranlib ] ; then \ - echo $$r/$(HOST_SUBDIR)/binutils/ranlib ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - if [ x'$(RANLIB)' != x ]; then \ - echo $(RANLIB); \ - else \ - echo ranlib; \ - fi; \ - else \ - echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \ - fi; \ - fi` - +STRIP_FOR_TARGET=@STRIP_FOR_TARGET@ WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ -CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@ -USUAL_WINDRES_FOR_TARGET = ` \ - if [ -f $$r/$(HOST_SUBDIR)/binutils/windres ] ; then \ - echo $$r/$(HOST_SUBDIR)/binutils/windres ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(WINDRES); \ - else \ - echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \ - fi; \ - fi` +COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@ +COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@ +COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@ + +# During gcc bootstrap, if we use some random cc for stage1 then +# CFLAGS will be just -g. We want to ensure that TARGET libraries +# (which we know are built with gcc) are built with optimizations so +# prepend -O2 when setting CFLAGS_FOR_TARGET. +CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) +SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ +CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) +LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) +LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates +LDFLAGS_FOR_TARGET = PICFLAG_FOR_TARGET = # ------------------------------------ @@ -498,7 +343,7 @@ # The first rule in the file had better be this one. Don't put any above it. # This lives here to allow makefile fragments to contain dependencies. - at default_target@: +all: #### host and target specific makefile fragments come in here. @target_makefile_frag@ @@ -507,6 +352,53 @@ @host_makefile_frag@ ### +# This is the list of directories that may be needed in RPATH_ENVVAR +# so that prorgams built for the target machine work. +TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgcc-math)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc) + + at if target-libstdc++-v3 +TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/.libs: + at endif target-libstdc++-v3 + + at if target-libmudflap +TARGET_LIB_PATH_libmudflap = $$r/$(TARGET_SUBDIR)/libmudflap/.libs: + at endif target-libmudflap + + at if target-libssp +TARGET_LIB_PATH_libssp = $$r/$(TARGET_SUBDIR)/libssp/.libs: + at endif target-libssp + + at if target-libgcc-math +TARGET_LIB_PATH_libgcc-math = $$r/$(TARGET_SUBDIR)/libgcc-math/.libs: + at endif target-libgcc-math + + at if target-libgomp +TARGET_LIB_PATH_libgomp = $$r/$(TARGET_SUBDIR)/libgomp/.libs: + at endif target-libgomp + + + +# This is the list of directories that may be needed in RPATH_ENVVAR +# so that programs built for the host machine work. +HOST_LIB_PATH = $(HOST_LIB_PATH_bfd)$(HOST_LIB_PATH_opcodes) + +# Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch + at if gcc +HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc:$$r/$(HOST_SUBDIR)/prev-gcc: + at endif gcc + + + at if bfd +HOST_LIB_PATH_bfd = \ + $$r/$(HOST_SUBDIR)/bfd/.:$$r/$(HOST_SUBDIR)/prev-bfd/.: + at endif bfd + + at if opcodes +HOST_LIB_PATH_opcodes = \ + $$r/$(HOST_SUBDIR)/opcodes/.:$$r/$(HOST_SUBDIR)/prev-opcodes/.: + at endif opcodes + + # Flags to pass down to all sub-makes. BASE_FLAGS_TO_PASS = \ "DESTDIR=$(DESTDIR)" \ @@ -516,12 +408,13 @@ "datadir=$(datadir)" \ "exec_prefix=$(exec_prefix)" \ "includedir=$(includedir)" \ + "datarootdir=$(datarootdir)" \ + "docdir=$(docdir)" \ "infodir=$(infodir)" \ + "htmldir=$(htmldir)" \ "libdir=$(libdir)" \ "libexecdir=$(libexecdir)" \ "lispdir=$(lispdir)" \ - "libstdcxx_incdir=$(libstdcxx_incdir)" \ - "libsubdir=$(libsubdir)" \ "localstatedir=$(localstatedir)" \ "mandir=$(mandir)" \ "oldincludedir=$(oldincludedir)" \ @@ -531,12 +424,10 @@ "sysconfdir=$(sysconfdir)" \ "tooldir=$(tooldir)" \ "build_tooldir=$(build_tooldir)" \ - "gxx_include_dir=$(gxx_include_dir)" \ - "gcc_version=$(gcc_version)" \ - "gcc_version_trigger=$(gcc_version_trigger)" \ "target_alias=$(target_alias)" \ "BISON=$(BISON)" \ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ "EXPECT=$(EXPECT)" \ "FLEX=$(FLEX)" \ @@ -551,12 +442,18 @@ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ "SHELL=$(SHELL)" \ "YACC=$(YACC)" \ + "`echo 'ADAFLAGS=$(ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "AR_FLAGS=$(AR_FLAGS)" \ + "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ + "BOOT_CFLAGS=$(BOOT_CFLAGS)" \ + "BOOT_LDFLAGS=$(BOOT_LDFLAGS)" \ "CFLAGS=$(CFLAGS)" \ "CXXFLAGS=$(CXXFLAGS)" \ "LDFLAGS=$(LDFLAGS)" \ "LIBCFLAGS=$(LIBCFLAGS)" \ "LIBCXXFLAGS=$(LIBCXXFLAGS)" \ + "STAGE1_CFLAGS=$(STAGE1_CFLAGS)" \ + "STAGE1_LANGUAGES=$(STAGE1_LANGUAGES)" \ "AR_FOR_TARGET=$(AR_FOR_TARGET)" \ "AS_FOR_TARGET=$(AS_FOR_TARGET)" \ "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ @@ -568,25 +465,23 @@ "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \ "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \ "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ + "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \ + "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ "LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ + "OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET)" \ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ + "STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \ "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \ + "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ + "LEAN=$(LEAN)" \ "CONFIG_SHELL=$(SHELL)" \ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" -# For any flags above that may contain shell code that varies from one -# target library to another. When doing recursive invocations of the -# top-level Makefile, we don't want the outer make to evaluate them, -# so we pass these variables down unchanged. They must not contain -# single nor double quotes. -RECURSE_FLAGS = \ - CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \ - RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \ +# We leave this in just in case, but it is not needed anymore. +RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) -RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) - # Flags to pass down to most sub-makes, in which we're building with # the host environment. EXTRA_HOST_FLAGS = \ @@ -596,8 +491,11 @@ 'CXX=$(CXX)' \ 'DLLTOOL=$(DLLTOOL)' \ 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ 'NM=$(NM)' \ + 'OBJDUMP=$(OBJDUMP)' \ 'RANLIB=$(RANLIB)' \ + 'STRIP=$(STRIP)' \ 'WINDRES=$(WINDRES)' FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) @@ -615,20 +513,23 @@ 'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)' # Flags to pass down to makes which are built with the target environment. -# The double $ decreases the length of the command line; the variables -# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. +# The double $ decreases the length of the command line; those variables +# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The +# COMPILER_ prefixed variables are not passed down so we expand them here. EXTRA_TARGET_FLAGS = \ 'AR=$$(AR_FOR_TARGET)' \ - 'AS=$$(AS_FOR_TARGET)' \ + 'AS=$(COMPILER_AS_FOR_TARGET)' \ 'CC=$$(CC_FOR_TARGET)' \ 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ 'CXX=$$(CXX_FOR_TARGET)' \ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'LD=$$(LD_FOR_TARGET)' \ + 'LD=$(COMPILER_LD_FOR_TARGET)' \ + 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \ - 'NM=$$(NM_FOR_TARGET)' \ + 'NM=$(COMPILER_NM_FOR_TARGET)' \ + 'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \ 'RANLIB=$$(RANLIB_FOR_TARGET)' \ 'WINDRES=$$(WINDRES_FOR_TARGET)' @@ -641,19 +542,12 @@ # The BUILD_* variables are a special case, which are used for the gcc # cross-building scheme. EXTRA_GCC_FLAGS = \ - 'BUILD_PREFIX=$(BUILD_PREFIX)' \ - 'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \ - "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ - "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" + "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) @@ -693,6 +587,7 @@ maybe-configure-itcl \ maybe-configure-ld \ maybe-configure-libcpp \ + maybe-configure-libdecnumber \ maybe-configure-libgui \ maybe-configure-libiberty \ maybe-configure-libtool \ @@ -730,6 +625,8 @@ configure-target: \ maybe-configure-target-libstdc++-v3 \ maybe-configure-target-libmudflap \ + maybe-configure-target-libssp \ + maybe-configure-target-libgcc-math \ maybe-configure-target-newlib \ maybe-configure-target-libgfortran \ maybe-configure-target-libobjc \ @@ -745,1060 +642,1307 @@ maybe-configure-target-boehm-gc \ maybe-configure-target-qthreads \ maybe-configure-target-rda \ - maybe-configure-target-libada + maybe-configure-target-libada \ + maybe-configure-target-libgomp # The target built for a native non-bootstrap build. .PHONY: all -all: unstage all-host all-target stage +all: + at if gcc-bootstrap + [ -f stage_final ] || echo stage3 > stage_final + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble + at endif gcc-bootstrap + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + if [ -f stage_last ]; then \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \ + fi .PHONY: all-build -all-build: \ - maybe-all-build-libiberty \ - maybe-all-build-bison \ - maybe-all-build-byacc \ - maybe-all-build-flex \ - maybe-all-build-m4 \ - maybe-all-build-texinfo \ - maybe-all-build-fixincludes + +all-build: maybe-all-build-libiberty +all-build: maybe-all-build-bison +all-build: maybe-all-build-byacc +all-build: maybe-all-build-flex +all-build: maybe-all-build-m4 +all-build: maybe-all-build-texinfo [... truncated: 1008679 lines follow ...] From zooey at mail.berlios.de Mon Feb 19 22:53:57 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Mon, 19 Feb 2007 22:53:57 +0100 Subject: [Haiku-commits] r20170 - buildtools/vendor/binutils Message-ID: <200702192153.l1JLrvp1029058@sheep.berlios.de> Author: zooey Date: 2007-02-19 22:53:56 +0100 (Mon, 19 Feb 2007) New Revision: 20170 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20170&view=rev Added: buildtools/vendor/binutils/2.17/ Log: tagging binutils-2.17 Copied: buildtools/vendor/binutils/2.17 (from rev 20169, buildtools/vendor/binutils/current) From bonefish at mail.berlios.de Mon Feb 19 23:14:41 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Mon, 19 Feb 2007 23:14:41 +0100 Subject: [Haiku-commits] r20171 - in haiku/trunk/src/tests/add-ons/kernel/file_systems: . userlandfs userlandfs/r5 userlandfs/r5/headers userlandfs/r5/headers/private userlandfs/r5/headers/public userlandfs/r5/headers/shared userlandfs/r5/src userlandfs/r5/src/kernel_add_on userlandfs/r5/src/private userlandfs/r5/src/server userlandfs/r5/src/shared userlandfs/r5/src/test userlandfs/r5/src/test/netfs userlandfs/r5/src/test/netfs/authentication_server userlandfs/r5/src/test/netfs/client userlandfs/r5/src/test/netfs/headers userlandfs/r5/src/test/netfs/headers/authentication_server userlandfs/r5/src/test/netfs/headers/fs userlandfs/r5/src/test/netfs/headers/server userlandfs/r5/src/test/netfs/headers/shared userlandfs/r5/src/test/netfs/netfs_config userlandfs/r5/src/test/netfs/netfs_server_prefs userlandfs/r5/src/test/netfs/server userlandfs/r5/src/test/netfs/shared userlandfs/r5/src/test/ramfs userlandfs/r5/src/test/reiserfs userlandfs/r5/src/ufs_mount Message-ID: <200702192214.l1JMEftI031707@sheep.berlios.de> Author: bonefish Date: 2007-02-19 23:11:25 +0100 (Mon, 19 Feb 2007) New Revision: 20171 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20171&view=rev Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/TODO haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/AreaSupport.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/DispatcherDefs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Port.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Request.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestAllocator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestHandler.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestPort.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Requests.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/SingleReplyRequestHandler.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/userlandfs_ioctl.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/public/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/public/cache.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/public/fsproto.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/public/lock.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/AutoDeleter.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/AutoLocker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Compatibility.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Debug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DriverSettings.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/HashMap.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/HashSet.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/LazyInitializable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Locker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/ObjectTracker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/OpenHashTable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Referencable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/SLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/String.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Vector.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/FileSystem.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/FileSystem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/IOCtlInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/KernelDebug.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/KernelDebug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/KernelRequestHandler.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/KernelRequestHandler.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/PortReleaser.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/RequestPortPool.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/RequestPortPool.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Settings.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Settings.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/UserlandFS.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/UserlandFS.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/kernel-cpp.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/kernel-cpp.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/kernel_add_on/userlandfs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/AreaSupport.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/DispatcherDefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/Port.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/Request.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/RequestAllocator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/RequestHandler.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/RequestPort.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/Requests.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/SingleReplyRequestHandler.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/private/userlandfs_ioctl.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/FSInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/FileSystem.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/FileSystem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/KernelUserFileSystem.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/KernelUserFileSystem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/KernelUserVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/KernelUserVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/RequestThread.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/RequestThread.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/ServerDefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/ServerDefs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserFileSystem.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserFileSystem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandFSDispatcher.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandFSDispatcher.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandFSServer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandFSServer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandRequestHandler.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/UserlandRequestHandler.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/cache.c haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/compat.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/kernel_emu.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/main.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/server/sysdep.c haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/Debug.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/DriverSettings.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/LazyInitializable.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/Locker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/ObjectTracker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/Referencable.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/String.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/shared/driver_settings.c haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/AuthenticationPanel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/AuthenticationPanel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/AuthenticationServer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/AuthenticationServer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/Panel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/authentication_server/Panel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/AuthenticationServer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/AuthenticationServer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ExtendedServerInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ExtendedServerInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/Node.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/Node.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/QueryIterator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/QueryIterator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/QueryManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/QueryManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/RootVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/RootVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/SendReceiveRequest.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerConnectionProvider.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerConnectionProvider.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerQueryIterator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerQueryIterator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ServerVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareAttrDir.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareAttrDir.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareAttrDirIterator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareAttrDirIterator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareNode.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareNode.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/ShareVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VirtualDir.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VirtualDir.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VirtualVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VirtualVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VolumeEvent.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VolumeEvent.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VolumeManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VolumeManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/VolumeSupport.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/client/netfs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/authentication_server/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/authentication_server/AuthenticationServerDefs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/fs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/fs/netfs_ioctl.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/server/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/server/NetFSServerRosterDefs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/AbstractConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/AttrDirInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Blocker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/BlockerPool.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/BlockingQueue.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Channel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Connection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/ConnectionFactory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/EntryInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/FSObject.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/InsecureChannel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/InsecureConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/KMessage.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/NetAddress.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/NetFSDefs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/NodeInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Permissions.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/PortChannel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/PortConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Request.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestChannel.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestDumper.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestFactory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestFlattener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestHandler.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestMemberArray.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/RequestUnflattener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Requests.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/ServerInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/ServerNodeID.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/TaskManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/ThreadLocal.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/headers/shared/Utils.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs-server haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_config/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_config/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_config/netfs_config.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_server_prefs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_server_prefs/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_server_prefs/NetFSServerPrefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_server_prefs/NetFSServerRoster.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/netfs_server_prefs/NetFSServerRoster.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/AttributeDirectory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/AttributeDirectory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientVolume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientVolume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ConnectionListener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ConnectionListener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ConnectionListenerFactory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ConnectionListenerFactory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Directory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Directory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Entry.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Entry.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/EntryRef.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/EntryRef.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/FDManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/FDManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/GlobalBlockerPool.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/GlobalBlockerPool.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/InsecureConnectionListener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/InsecureConnectionListener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Lockable.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Lockable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NetFSServer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NetFSServer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Node.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Node.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeHandle.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeHandle.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeHandleMap.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeHandleMap.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeMonitor.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeMonitor.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeMonitoringEvent.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeMonitoringEvent.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/NodeRef.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Path.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Path.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/PortConnectionListener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/PortConnectionListener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/QueryDomain.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/QueryDomain.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/RequestBufferReplacer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/RequestBufferReplacer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/SecurityContext.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/SecurityContext.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/StatisticsManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/StatisticsManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/UserSecurityContext.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/UserSecurityContext.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/VolumeManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/VolumeManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/AbstractConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/AttrDirInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/AuthenticationServerDefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/Blocker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/BlockerPool.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/Channel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/Connection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/ConnectionFactory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/EntryInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/FSObject.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/InsecureChannel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/InsecureConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/KMessage.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/NetAddress.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/NetFSDefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/NetFSServerRosterDefs.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/NodeInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/PortChannel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/PortConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/Request.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestChannel.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestConnection.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestDumper.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestFactory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestFlattener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestHandler.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/RequestUnflattener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/Requests.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/ServerInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/ServerNodeID.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/TaskManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/shared/ThreadLocal.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AVLTree.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AllocationInfo.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AllocationInfo.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AreaUtils.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AreaUtils.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndex.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndexImpl.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndexImpl.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndexImpl.h_old haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIterator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIterator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Block.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorAreaBucket.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorAreaBucket.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorMisc.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockReferenceManager.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockReferenceManager.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Entry.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Entry.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/EntryIterator.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/EntryIterator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/EntryListener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/EntryListener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/File.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/File.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Index.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Index.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/IndexDirectory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/IndexDirectory.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/IndexImpl.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/List.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locking.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Misc.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NodeChildTable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NodeListener.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NodeListener.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NodeTable.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NodeTable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/OpenHashTable.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Stack.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SymLink.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SymLink.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/TwoKeyAVLTree.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/compatibility.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/cpp.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/cpp.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/fsproto.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/makefile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/ramfs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/ramfs_ioctl.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Block.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Block.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/BlockCache.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/BlockCache.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Debug.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Debug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/DirItem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/IndirectItem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Item.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Item.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Iterators.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Iterators.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Key.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/List.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Locker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Locker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Settings.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Settings.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/StatItem.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/String.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/String.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/SuperBlock.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/SuperBlock.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Tree.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Tree.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/VNode.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/VNode.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/cache.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/compatibility.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/cpp.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/cpp.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/endianess.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/fsproto.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/hashes.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/hashes.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/kernel_interface.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/lock.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/makefile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/reiserfs.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/reiserfs/reiserfs.rsrc haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/ufs_mount/ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/ufs_mount/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/ufs_mount/ufs_mount.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/userlandfs.sample Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/Jamfile Log: Finally added the UserlandFS. This is the BeOS R5 version (might need minor modifications for BONE/Dan0). As test file systems are included: * A Reiser FS 3.6 read-only implementation (should be a virtually unmodified version released as 1.0.1 on BeBits). * A not quite finished RAM FS. * A BeOS-specific networking FS. It works well as far as I've tested it, but is utterly insecure at the moment and missing nice GUI preflets. It's also amazingly slow which, I hope, is mainly caused by the UserlandFS layer and BeOS R5 net server. We'll see as soon as it can be compiled for the Haiku kernel. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/Jamfile =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/Jamfile 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/Jamfile 2007-02-19 22:11:25 UTC (rev 20171) @@ -4,3 +4,4 @@ SubInclude HAIKU_TOP src tests add-ons kernel file_systems fs_shell ; #SubInclude HAIKU_TOP src tests add-ons kernel file_systems iso9660 ; SubInclude HAIKU_TOP src tests add-ons kernel file_systems udf ; +SubInclude HAIKU_TOP src tests add-ons kernel file_systems userlandfs r5 ; Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/Jamfile =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/Jamfile 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/Jamfile 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,3 @@ +SubDir HAIKU_TOP src tests add-ons kernel file_systems userlandfs r5 ; + +SubInclude HAIKU_TOP src tests add-ons kernel file_systems userlandfs r5 src ; Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/TODO =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/TODO 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/TODO 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,9 @@ +TODO +==== + +* The "brilliant" way to ensure that there is only one UserlandFS (dispatcher) + server doesn't work. BClipboard::Lock() is only application local. +* support for reading multiple directory entries, even if the client FS doesn't + support it +* pass UID and GID with each request to make them available in userland + Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/AreaSupport.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/AreaSupport.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/AreaSupport.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,17 @@ +// AreaSupport.h + +#ifndef USERLAND_FS_AREA_SUPPORT_H +#define USERLAND_FS_AREA_SUPPORT_H + +#include + +namespace UserlandFSUtil { + +status_t get_area_for_address(void* address, int32 size, area_id* area, + int32* offset, void** areaBaseAddress = NULL); + +} // namespace UserlandFSUtil + +using UserlandFSUtil::get_area_for_address; + +#endif // USERLAND_FS_AREA_SUPPORT_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/DispatcherDefs.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/DispatcherDefs.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/DispatcherDefs.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,21 @@ +// DispatcherDefs.h + +#ifndef USERLAND_FS_DISPATCHER_DEFS_H +#define USERLAND_FS_DISPATCHER_DEFS_H + +namespace UserlandFSUtil { + +extern const char* kUserlandFSDispatcherPortName; +extern const char* kUserlandFSDispatcherReplyPortName; + +} // namespace UserlandFSUtil + +using UserlandFSUtil::kUserlandFSDispatcherPortName; +using UserlandFSUtil::kUserlandFSDispatcherReplyPortName; + +enum { + UFS_DISPATCHER_CONNECT = 'cnct', + UFS_DISPATCHER_CONNECT_ACK = 'cack', +}; + +#endif // USERLAND_FS_DISPATCHER_DEFS_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Port.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Port.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Port.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,58 @@ +// Port.h + +#ifndef USERLAND_FS_PORT_H +#define USERLAND_FS_PORT_H + +#include + +namespace UserlandFSUtil { + +struct PortInfo { +}; + +class Port { +public: + struct Info { + port_id owner_port; + port_id client_port; + int32 size; + }; + +public: + Port(int32 size); + Port(const Info* info); + ~Port(); + + void Close(); + + status_t InitCheck() const; + + const Info* GetInfo() const; + + void* GetBuffer() const; + int32 GetCapacity() const; + + void* GetMessage() const; + int32 GetMessageSize() const; + + status_t Send(int32 size); + status_t SendAndReceive(int32 size); + status_t Receive(bigtime_t timeout = -1); + +private: + friend class KernelDebug; + + Info fInfo; + uint8* fBuffer; + int32 fCapacity; + int32 fMessageSize; + status_t fInitStatus; + bool fOwner; +}; + +} // namespace UserlandFSUtil + +using UserlandFSUtil::PortInfo; +using UserlandFSUtil::Port; + +#endif // USERLAND_FS_PORT_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Request.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Request.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Request.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,84 @@ +// Request.h + +#ifndef USERLAND_FS_REQUEST_H +#define USERLAND_FS_REQUEST_H + +#include + +// address info flags +enum { + ADDRESS_NOT_NULL = 0x01, + ADDRESS_IS_STRING = 0x02, +}; + +namespace UserlandFSUtil { + +class RequestAllocator; + +// Address +class Address { +public: + Address(); + + void* GetData() const { return fRelocated; } + int32 GetSize() const { return fSize; } + +//private: + void SetTo(area_id area, int32 offset, int32 size); + void SetRelocatedAddress(void* address) + { fRelocated = address; } + + area_id GetArea() const { return fUnrelocated.area; } + int32 GetOffset() const + { return fUnrelocated.offset; } + +private: + friend class RequestAllocator; + + struct Unrelocated { + area_id area; + int32 offset; + }; + + union { + Unrelocated fUnrelocated; + void* fRelocated; + }; + int32 fSize; +}; + +// AddressInfo +struct AddressInfo { + Address *address; + uint32 flags; + int32 max_size; +}; + +// Request +class Request { +public: + Request(uint32 type); + + uint32 GetType() const; + + status_t Check() const; + status_t GetAddressInfos(AddressInfo* infos, + int32* count); + +private: + uint32 fType; +}; + +// implemented in Requests.cpp +bool is_kernel_request(uint32 type); +bool is_userland_request(uint32 type); + +} // namespace UserlandFSUtil + +using UserlandFSUtil::Address; +using UserlandFSUtil::AddressInfo; +using UserlandFSUtil::Request; +using UserlandFSUtil::is_kernel_request; +using UserlandFSUtil::is_userland_request; + +#endif // USERLAND_FS_REQUEST_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestAllocator.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestAllocator.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestAllocator.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,89 @@ +// RequestAllocator.h + +#ifndef USERLAND_FS_REQUEST_ALLOCATOR_H +#define USERLAND_FS_REQUEST_ALLOCATOR_H + +#include + +#include + +#include "Debug.h" +#include "Requests.h" + +namespace UserlandFSUtil { + +class Port; + +// RequestAllocator +class RequestAllocator { +public: + RequestAllocator(Port* port); + ~RequestAllocator(); + + status_t Init(Port* port); + void Uninit(); + + status_t Error() const; + + void FinishDeferredInit(); + + status_t AllocateRequest(int32 size); + status_t ReadRequest(); + + Request* GetRequest() const; + int32 GetRequestSize() const; + + status_t AllocateAddress(Address& address, int32 size, + int32 align, void** data, + bool deferredInit = false); + status_t AllocateData(Address& address, const void* data, + int32 size, int32 align, + bool deferredInit = false); + status_t AllocateString(Address& address, + const char* data, + bool deferredInit = false); +// status_t SetAddress(Address& address, void* data, +// int32 size = 0); + +private: + struct DeferredInitInfo { + Address* target; + uint8* data; // only if in port buffer + area_id area; // only if in area, otherwise -1 + int32 offset; + int32 size; + bool inPortBuffer; + }; + + status_t fError; + Port* fPort; + Request* fRequest; + int32 fRequestSize; + area_id fAllocatedAreas[MAX_REQUEST_ADDRESS_COUNT]; + int32 fAllocatedAreaCount; + DeferredInitInfo fDeferredInitInfos[MAX_REQUEST_ADDRESS_COUNT]; + int32 fDeferredInitInfoCount; + bool fRequestInPortBuffer; +}; + +// AllocateRequest +// Should be a member, but we don't have member templates on PPC. +// TODO: Actually we seem to have. Check! +template +status_t +AllocateRequest(RequestAllocator& allocator, SpecificRequest** request) +{ + if (!request) + RETURN_ERROR(B_BAD_VALUE); + status_t error = allocator.AllocateRequest(sizeof(SpecificRequest)); + if (error == B_OK) + *request = new(allocator.GetRequest()) SpecificRequest; + return error; +} + +} // namespace UserlandFSUtil + +using UserlandFSUtil::RequestAllocator; +using UserlandFSUtil::AllocateRequest; + +#endif // USERLAND_FS_REQUEST_ALLOCATOR_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestHandler.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestHandler.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestHandler.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,35 @@ +// RequestHandler.h + +#ifndef USERLAND_FS_REQUEST_HANDLER_H +#define USERLAND_FS_REQUEST_HANDLER_H + +#include + +namespace UserlandFSUtil { + +class Request; +class RequestPort; + +class RequestHandler { +public: + RequestHandler(); + virtual ~RequestHandler(); + + void SetPort(RequestPort* port); + + bool IsDone() const; + + virtual status_t HandleRequest(Request* request) = 0; + +protected: + RequestPort* fPort; + bool fDone; +}; + +} // namespace UserlandFSUtil + +using UserlandFSUtil::Request; +using UserlandFSUtil::RequestHandler; +using UserlandFSUtil::RequestPort; + +#endif // USERLAND_FS_REQUEST_HANDLER_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestPort.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestPort.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/RequestPort.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,73 @@ +// RequestPort.h + +#ifndef USERLAND_FS_REQUEST_PORT_H +#define USERLAND_FS_REQUEST_PORT_H + +#include "Port.h" +#include "RequestAllocator.h" + +namespace UserlandFSUtil { + +class RequestHandler; + +// RequestPort +class RequestPort { +public: + RequestPort(int32 size); + RequestPort(const Port::Info* info); + ~RequestPort(); + + void Close(); + + status_t InitCheck() const; + + Port* GetPort(); + const Port::Info* GetPortInfo() const; + + status_t SendRequest(RequestAllocator* allocator); + status_t SendRequest(RequestAllocator* allocator, + RequestHandler* handler, + Request** reply = NULL, + bigtime_t timeout = -1); + status_t ReceiveRequest(Request** request, + bigtime_t timeout = -1); + status_t HandleRequests(RequestHandler* handler, + Request** reply = NULL, + bigtime_t timeout = -1); + + void ReleaseRequest(Request* request); + +private: + void _PopAllocator(); + +private: + friend class KernelDebug; + struct AllocatorNode; + + Port fPort; + AllocatorNode* fCurrentAllocatorNode; +}; + +// RequestReleaser +class RequestReleaser { +public: + inline RequestReleaser(RequestPort* port, Request* request) + : fPort(port), fRequest(request) {} + + inline ~RequestReleaser() + { + if (fPort && fRequest) + fPort->ReleaseRequest(fRequest); + } + +private: + RequestPort* fPort; + Request* fRequest; +}; + +} // namespace UserlandFSUtil + +using UserlandFSUtil::RequestPort; +using UserlandFSUtil::RequestReleaser; + +#endif // USERLAND_FS_REQUEST_PORT_H Added: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Requests.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Requests.h 2007-02-19 21:53:56 UTC (rev 20170) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/private/Requests.h 2007-02-19 22:11:25 UTC (rev 20171) @@ -0,0 +1,1892 @@ +// Requests.h + +#ifndef USERLAND_FS_REQUESTS_H +#define USERLAND_FS_REQUESTS_H + +#include +#include +#include + +#include "Compatibility.h" +#include "Request.h" + +enum { + MAX_REQUEST_ADDRESS_COUNT = 4, +}; + +// request types +enum { + // kernel -> userland requests + + // administrative + UFS_DISCONNECT_REQUEST = 0, + FS_CONNECT_REQUEST, + FS_CONNECT_REPLY, + // FS + MOUNT_VOLUME_REQUEST, + MOUNT_VOLUME_REPLY, + UNMOUNT_VOLUME_REQUEST, + UNMOUNT_VOLUME_REPLY, + INITIALIZE_VOLUME_REQUEST, + INITIALIZE_VOLUME_REPLY, + SYNC_VOLUME_REQUEST, + SYNC_VOLUME_REPLY, + READ_FS_STAT_REQUEST, + READ_FS_STAT_REPLY, + WRITE_FS_STAT_REQUEST, + WRITE_FS_STAT_REPLY, + // vnodes + READ_VNODE_REQUEST, + READ_VNODE_REPLY, + WRITE_VNODE_REQUEST, + WRITE_VNODE_REPLY, + FS_REMOVE_VNODE_REQUEST, + FS_REMOVE_VNODE_REPLY, + // nodes + FSYNC_REQUEST, + FSYNC_REPLY, + READ_STAT_REQUEST, + READ_STAT_REPLY, + WRITE_STAT_REQUEST, + WRITE_STAT_REPLY, + ACCESS_REQUEST, + ACCESS_REPLY, + // files + CREATE_REQUEST, + CREATE_REPLY, + OPEN_REQUEST, + OPEN_REPLY, + CLOSE_REQUEST, + CLOSE_REPLY, + FREE_COOKIE_REQUEST, + FREE_COOKIE_REPLY, + READ_REQUEST, + READ_REPLY, + WRITE_REQUEST, + WRITE_REPLY, + IOCTL_REQUEST, + IOCTL_REPLY, + SET_FLAGS_REQUEST, + SET_FLAGS_REPLY, + SELECT_REQUEST, + SELECT_REPLY, + DESELECT_REQUEST, + DESELECT_REPLY, + // hard links / symlinks + LINK_REQUEST, + LINK_REPLY, + SYMLINK_REQUEST, + SYMLINK_REPLY, + UNLINK_REQUEST, + UNLINK_REPLY, + READ_LINK_REQUEST, + READ_LINK_REPLY, + RENAME_REQUEST, + RENAME_REPLY, + // directories + MKDIR_REQUEST, + MKDIR_REPLY, + RMDIR_REQUEST, + RMDIR_REPLY, + OPEN_DIR_REQUEST, + OPEN_DIR_REPLY, + CLOSE_DIR_REQUEST, + CLOSE_DIR_REPLY, + FREE_DIR_COOKIE_REQUEST, + FREE_DIR_COOKIE_REPLY, + READ_DIR_REQUEST, + READ_DIR_REPLY, + REWIND_DIR_REQUEST, + REWIND_DIR_REPLY, + WALK_REQUEST, + WALK_REPLY, + // attributes + OPEN_ATTR_DIR_REQUEST, + OPEN_ATTR_DIR_REPLY, + CLOSE_ATTR_DIR_REQUEST, + CLOSE_ATTR_DIR_REPLY, + FREE_ATTR_DIR_COOKIE_REQUEST, + FREE_ATTR_DIR_COOKIE_REPLY, + READ_ATTR_DIR_REQUEST, + READ_ATTR_DIR_REPLY, + REWIND_ATTR_DIR_REQUEST, + REWIND_ATTR_DIR_REPLY, + READ_ATTR_REQUEST, + READ_ATTR_REPLY, + WRITE_ATTR_REQUEST, + WRITE_ATTR_REPLY, + REMOVE_ATTR_REQUEST, + REMOVE_ATTR_REPLY, + RENAME_ATTR_REQUEST, + RENAME_ATTR_REPLY, + STAT_ATTR_REQUEST, + STAT_ATTR_REPLY, + // indices + OPEN_INDEX_DIR_REQUEST, + OPEN_INDEX_DIR_REPLY, + CLOSE_INDEX_DIR_REQUEST, + CLOSE_INDEX_DIR_REPLY, + FREE_INDEX_DIR_COOKIE_REQUEST, + FREE_INDEX_DIR_COOKIE_REPLY, + READ_INDEX_DIR_REQUEST, + READ_INDEX_DIR_REPLY, + REWIND_INDEX_DIR_REQUEST, + REWIND_INDEX_DIR_REPLY, + CREATE_INDEX_REQUEST, + CREATE_INDEX_REPLY, + REMOVE_INDEX_REQUEST, + REMOVE_INDEX_REPLY, + RENAME_INDEX_REQUEST, + RENAME_INDEX_REPLY, + STAT_INDEX_REQUEST, + STAT_INDEX_REPLY, + // queries + OPEN_QUERY_REQUEST, + OPEN_QUERY_REPLY, + CLOSE_QUERY_REQUEST, + CLOSE_QUERY_REPLY, + FREE_QUERY_COOKIE_REQUEST, + FREE_QUERY_COOKIE_REPLY, + READ_QUERY_REQUEST, + READ_QUERY_REPLY, + + // userland -> kernel requests + // notifications + NOTIFY_LISTENER_REQUEST, + NOTIFY_LISTENER_REPLY, + NOTIFY_SELECT_EVENT_REQUEST, + NOTIFY_SELECT_EVENT_REPLY, + SEND_NOTIFICATION_REQUEST, + SEND_NOTIFICATION_REPLY, + // vnodes + GET_VNODE_REQUEST, + GET_VNODE_REPLY, + PUT_VNODE_REQUEST, + PUT_VNODE_REPLY, + NEW_VNODE_REQUEST, + NEW_VNODE_REPLY, + REMOVE_VNODE_REQUEST, + REMOVE_VNODE_REPLY, + UNREMOVE_VNODE_REQUEST, + UNREMOVE_VNODE_REPLY, + IS_VNODE_REMOVED_REQUEST, + IS_VNODE_REMOVED_REPLY, + + // general reply + RECEIPT_ACK_REPLY, + + // invalid request ID (e.g. for request handlers) + NO_REQUEST, +}; + +namespace UserlandFSUtil { + +// ReplyRequest +class ReplyRequest : public Request { +public: + ReplyRequest(uint32 type) : Request(type) {} + + status_t error; +}; + +// #pragma mark - +// #pragma mark ----- kernel requests ----- + +// VolumeRequest +class VolumeRequest : public Request { +public: + VolumeRequest(uint32 type) : Request(type) {} + + void* volume; +}; + +// NodeRequest +class NodeRequest : public VolumeRequest { +public: + NodeRequest(uint32 type) : VolumeRequest(type) {} + + void* node; +}; + +// FileRequest +class FileRequest : public NodeRequest { +public: + FileRequest(uint32 type) : NodeRequest(type) {} + + void* fileCookie; +}; + +// DirRequest +class DirRequest : public NodeRequest { +public: + DirRequest(uint32 type) : NodeRequest(type) {} + + void* dirCookie; +}; + +// AttrDirRequest +class AttrDirRequest : public NodeRequest { +public: + AttrDirRequest(uint32 type) : NodeRequest(type) {} + + void* attrDirCookie; +}; + +// IndexDirRequest +class IndexDirRequest : public VolumeRequest { +public: + IndexDirRequest(uint32 type) : VolumeRequest(type) {} + + void* indexDirCookie; +}; + +// #pragma mark - +// #pragma mark ----- administrative ----- + +// UFSDisconnectRequest +class UFSDisconnectRequest : public Request { +public: + UFSDisconnectRequest() : Request(UFS_DISCONNECT_REQUEST) {} +}; + +// FSConnectRequest +class FSConnectRequest : public Request { +public: + FSConnectRequest() : Request(FS_CONNECT_REQUEST) {} + status_t GetAddressInfos(AddressInfo* infos, int32* count); + + Address fsName; +}; + +// FSConnectReply +class FSConnectReply : public ReplyRequest { +public: + FSConnectReply() : ReplyRequest(FS_CONNECT_REPLY) {} + status_t GetAddressInfos(AddressInfo* infos, int32* count); + + Address portInfos; + int32 portInfoCount; +}; + +// #pragma mark - +// #pragma mark ----- FS ----- + +// MountVolumeRequest +class MountVolumeRequest : public Request { +public: + MountVolumeRequest() : Request(MOUNT_VOLUME_REQUEST) {} + status_t GetAddressInfos(AddressInfo* infos, int32* count); + + nspace_id nsid; + Address cwd; // current working dir of the mount() caller + Address device; + ulong flags; + Address parameters; +}; + +// MountVolumeReply +class MountVolumeReply : public ReplyRequest { +public: + MountVolumeReply() : ReplyRequest(MOUNT_VOLUME_REPLY) {} + + vnode_id rootID; + void* volume; +}; + +// UnmountVolumeRequest +class UnmountVolumeRequest : public VolumeRequest { +public: + UnmountVolumeRequest() : VolumeRequest(UNMOUNT_VOLUME_REQUEST) {} +}; + +// UnmountVolumeReply +class UnmountVolumeReply : public ReplyRequest { +public: + UnmountVolumeReply() : ReplyRequest(UNMOUNT_VOLUME_REPLY) {} +}; + +// InitializeVolumeRequest +class InitializeVolumeRequest : public Request { +public: + InitializeVolumeRequest() : Request(INITIALIZE_VOLUME_REQUEST) {} + status_t GetAddressInfos(AddressInfo* infos, int32* count); + + Address device; + Address parameters; +}; + +// InitializeVolumeReply +class InitializeVolumeReply : public ReplyRequest { +public: + InitializeVolumeReply() : ReplyRequest(INITIALIZE_VOLUME_REPLY) {} +}; + +// SyncVolumeRequest +class SyncVolumeRequest : public VolumeRequest { +public: + SyncVolumeRequest() : VolumeRequest(SYNC_VOLUME_REQUEST) {} +}; + +// SyncVolumeReply +class SyncVolumeReply : public ReplyRequest { +public: + SyncVolumeReply() : ReplyRequest(SYNC_VOLUME_REPLY) {} +}; + +// ReadFSStatRequest +class ReadFSStatRequest : public VolumeRequest { +public: + ReadFSStatRequest() : VolumeRequest(READ_FS_STAT_REQUEST) {} +}; + +// ReadFSStatReply +class ReadFSStatReply : public ReplyRequest { +public: + ReadFSStatReply() : ReplyRequest(READ_FS_STAT_REPLY) {} + + fs_info info; +}; + +// WriteFSStatRequest +class WriteFSStatRequest : public VolumeRequest { +public: + WriteFSStatRequest() : VolumeRequest(WRITE_FS_STAT_REQUEST) {} + + fs_info info; + long mask; +}; + +// WriteFSStatReply +class WriteFSStatReply : public ReplyRequest { +public: + WriteFSStatReply() : ReplyRequest(WRITE_FS_STAT_REPLY) {} +}; + +// #pragma mark - +// #pragma mark ----- vnodes ----- + +// ReadVNodeRequest +class ReadVNodeRequest : public VolumeRequest { +public: + ReadVNodeRequest() : VolumeRequest(READ_VNODE_REQUEST) {} + + vnode_id vnid; + bool reenter; +}; + +// ReadVNodeReply +class ReadVNodeReply : public ReplyRequest { +public: + ReadVNodeReply() : ReplyRequest(READ_VNODE_REPLY) {} + + void* node; +}; + +// WriteVNodeRequest +class WriteVNodeRequest : public NodeRequest { +public: + WriteVNodeRequest() : NodeRequest(WRITE_VNODE_REQUEST) {} + + bool reenter; +}; + +// WriteVNodeReply +class WriteVNodeReply : public ReplyRequest { +public: + WriteVNodeReply() : ReplyRequest(WRITE_VNODE_REPLY) {} +}; + +// FSRemoveVNodeRequest +class FSRemoveVNodeRequest : public NodeRequest { +public: + FSRemoveVNodeRequest() : NodeRequest(FS_REMOVE_VNODE_REQUEST) {} + + bool reenter; +}; + +// FSRemoveVNodeReply +class FSRemoveVNodeReply : public ReplyRequest { +public: + FSRemoveVNodeReply() : ReplyRequest(FS_REMOVE_VNODE_REPLY) {} +}; + +// #pragma mark - +// #pragma mark ----- nodes ----- + +// FSyncRequest +class FSyncRequest : public NodeRequest { +public: + FSyncRequest() : NodeRequest(FSYNC_REQUEST) {} +}; + +// FSyncReply +class FSyncReply : public ReplyRequest { +public: + FSyncReply() : ReplyRequest(FSYNC_REPLY) {} +}; + +// ReadStatRequest +class ReadStatRequest : public NodeRequest { +public: + ReadStatRequest() : NodeRequest(READ_STAT_REQUEST) {} +}; + +// ReadStatReply +class ReadStatReply : public ReplyRequest { +public: + ReadStatReply() : ReplyRequest(READ_STAT_REPLY) {} + + struct stat st; +}; + +// WriteStatRequest +class WriteStatRequest : public NodeRequest { +public: + WriteStatRequest() : NodeRequest(WRITE_STAT_REQUEST) {} + + struct stat st; + long mask; +}; + +// WriteStatReply +class WriteStatReply : public ReplyRequest { +public: + WriteStatReply() : ReplyRequest(WRITE_STAT_REPLY) {} +}; + +// AccessRequest +class AccessRequest : public NodeRequest { +public: + AccessRequest() : NodeRequest(ACCESS_REQUEST) {} + + int mode; +}; + +// AccessReply +class AccessReply : public ReplyRequest { +public: + AccessReply() : ReplyRequest(ACCESS_REPLY) {} +}; + +// #pragma mark - +// #pragma mark ----- files ----- + +// CreateRequest +class CreateRequest : public NodeRequest { +public: + CreateRequest() : NodeRequest(CREATE_REQUEST) {} + status_t GetAddressInfos(AddressInfo* infos, int32* count); + + Address name; + int openMode; + int mode; +}; + +// CreateReply +class CreateReply : public ReplyRequest { +public: + CreateReply() : ReplyRequest(CREATE_REPLY) {} + + vnode_id vnid; + void* fileCookie; +}; + +// OpenRequest +class OpenRequest : public NodeRequest { +public: + OpenRequest() : NodeRequest(OPEN_REQUEST) {} + + int openMode; +}; + +// OpenReply +class OpenReply : public ReplyRequest { +public: + OpenReply() : ReplyRequest(OPEN_REPLY) {} + + void* fileCookie; +}; + +// CloseRequest +class CloseRequest : public FileRequest { +public: + CloseRequest() : FileRequest(CLOSE_REQUEST) {} +}; + +// CloseReply +class CloseReply : public ReplyRequest { +public: + CloseReply() : ReplyRequest(CLOSE_REPLY) {} +}; + +// FreeCookieRequest +class FreeCookieRequest : public FileRequest { +public: + FreeCookieRequest() : FileRequest(FREE_COOKIE_REQUEST) {} +}; + +// FreeCookieReply +class FreeCookieReply : public ReplyRequest { +public: + FreeCookieReply() : ReplyRequest(FREE_COOKIE_REPLY) {} +}; + +// ReadRequest +class ReadRequest : public FileRequest { +public: + ReadRequest() : FileRequest(READ_REQUEST) {} + + off_t pos; + size_t size; +}; + [... truncated: 90003 lines follow ...] From geist at foobox.com Tue Feb 20 00:44:57 2007 From: geist at foobox.com (Travis Geiselbrecht) Date: Mon, 19 Feb 2007 15:44:57 -0800 Subject: [Haiku-commits] r20161 - in haiku/trunk: headers/os/kernel headers/os/kernel/arch headers/os/kernel/arch/x86 headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 In-Reply-To: References: <200702190032.l1J0WjuF028156@sheep.berlios.de> Message-ID: <64A93A2A-DBE9-4D27-83C5-016B323AEF55@foobox.com> Libroot needs to access it. If there's a better place, I'm all for it. As far as I can tell the os/ space is where stuff like that goes. On Feb 19, 2007, at 11:36 AM, J?r?me Duval wrote: > Hi Travis, > > 2007/2/19, geist at BerliOS : > Author: geist > Date: 2007-02-19 01:32:44 +0100 (Mon, 19 Feb 2007) > New Revision: 20161 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20161&view=rev > > Added: > haiku/trunk/headers/os/kernel/arch/ > haiku/trunk/headers/os/kernel/arch/x86/ > haiku/trunk/headers/os/kernel/arch/x86/commpage.h > haiku/trunk/headers/private/kernel/arch/x86/commpage.h > > It might be better to have everything in the private headers. Is > there a reason to have a public API for this commpage ? > > Bye, > J?r?me > > _______________________________________________ > Haiku-commits mailing list > Haiku-commits at lists.berlios.de > https://lists.berlios.de/mailman/listinfo/haiku-commits -------------- next part -------------- An HTML attachment was scrubbed... URL: From korli at mail.berlios.de Tue Feb 20 00:55:28 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Tue, 20 Feb 2007 00:55:28 +0100 Subject: [Haiku-commits] r20172 - haiku/trunk/src/add-ons/opengl/mesa_software_renderer Message-ID: <200702192355.l1JNtSfY014655@sheep.berlios.de> Author: korli Date: 2007-02-20 00:55:27 +0100 (Tue, 20 Feb 2007) New Revision: 20172 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20172&view=rev Modified: haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h Log: now uses macro based read/write functions to access the bitmap the code is now very compact, on par with other Mesa drivers Modified: haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp =================================================================== --- haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp 2007-02-19 22:11:25 UTC (rev 20171) +++ haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp 2007-02-19 23:55:27 UTC (rev 20172) @@ -70,6 +70,35 @@ (color[BCOMP] << 24) | 0xFF000000) #endif +/**********************************************************************/ +/***** Read/write spans/arrays of pixels *****/ +/**********************************************************************/ + +/* 8-bit RGBA */ +#define NAME(PREFIX) PREFIX##_RGBA8 +#define RB_TYPE GLubyte +#define SPAN_VARS \ + MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; +#define INIT_PIXEL_PTR(P, X, Y) \ + GLubyte *P = ((GLubyte **) mr->GetRows())[Y] + (X) * 4 +#define INC_PIXEL_PTR(P) P += 4 +#define STORE_PIXEL(DST, X, Y, VALUE) \ + DST[BE_RCOMP] = VALUE[RCOMP]; \ + DST[BE_GCOMP] = VALUE[GCOMP]; \ + DST[BE_BCOMP] = VALUE[BCOMP]; \ + DST[BE_ACOMP] = VALUE[ACOMP] +#define STORE_PIXEL_RGB(DST, X, Y, VALUE) \ + DST[BE_RCOMP] = VALUE[RCOMP]; \ + DST[BE_GCOMP] = VALUE[GCOMP]; \ + DST[BE_BCOMP] = VALUE[BCOMP]; \ + DST[BE_ACOMP] = 255 +#define FETCH_PIXEL(DST, SRC) \ + DST[RCOMP] = SRC[BE_RCOMP]; \ + DST[GCOMP] = SRC[BE_GCOMP]; \ + DST[BCOMP] = SRC[BE_BCOMP]; \ + DST[ACOMP] = SRC[BE_ACOMP] +#include "swrast/s_spantemp.h" + extern "C" _EXPORT BGLRenderer * instanciate_gl_renderer(BGLView *view, ulong options, BGLDispatcher *dispatcher) { @@ -151,12 +180,13 @@ fRenderBuffer->Data = NULL; fRenderBuffer->AllocStorage = RenderbufferStorage; - fRenderBuffer->GetRow = ReadRGBASpan; - fRenderBuffer->GetValues = ReadRGBAPixels; - fRenderBuffer->PutRow = WriteRGBASpan; - fRenderBuffer->PutRowRGB = WriteRGBSpan; - fRenderBuffer->PutMonoRow = WriteMonoRGBASpan; - fRenderBuffer->PutValues = WriteMonoRGBAPixels; + fRenderBuffer->GetRow = get_row_RGBA8; + fRenderBuffer->GetValues = get_values_RGBA8; + fRenderBuffer->PutRow = put_row_RGBA8; + fRenderBuffer->PutRowRGB = put_row_rgb_RGBA8; + fRenderBuffer->PutMonoRow = put_mono_row_RGBA8; + fRenderBuffer->PutValues = put_values_RGBA8; + fRenderBuffer->PutMonoValues = put_mono_values_RGBA8; _mesa_add_renderbuffer(fFrameBuffer, BUFFER_FRONT_LEFT, fRenderBuffer); @@ -213,14 +243,14 @@ delete fBitmap; BRect rect(0.0, 0.0, width - 1, height - 1); fBitmap = new BBitmap(rect, B_RGBA32); + for (uint i = 0; i < height; i++) + fRowAddr[height - i - 1] = (GLvoid *) ((GLubyte *) fBitmap->Bits() + i * fBitmap->BytesPerRow()); + _mesa_resize_framebuffer(fContext, fFrameBuffer, width, height); - } - fWidth = width; - fHeight = height; - fBottom = (GLint) b.bottom; - fRenderBuffer->Data = fBitmap->Bits(); - - fBitmap->LockBits(); + fWidth = width; + fHeight = height; + fRenderBuffer->Data = fBitmap->Bits(); + } } @@ -228,7 +258,6 @@ MesaSoftwareRenderer::UnlockGL() { CALLED(); - fBitmap->UnlockBits(); _mesa_make_current(fContext, NULL, NULL); BGLRenderer::UnlockGL(); } @@ -434,15 +463,8 @@ MesaSoftwareRenderer::Clear(GLcontext *ctx, GLbitfield mask) { CALLED(); -#if 0 if (mask & BUFFER_BIT_FRONT_LEFT) ClearFront(ctx); - if (mask & BUFFER_BIT_BACK_LEFT) - ClearBack(ctx); -#else - if (mask & BUFFER_BIT_FRONT_LEFT) - ClearBack(ctx); -#endif mask &= ~(BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT); if (mask) @@ -458,57 +480,6 @@ MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; BGLView *bglview = mr->GLView(); assert(bglview); - - bglview->SetHighColor(mr->fClearColor[BE_RCOMP], - mr->fClearColor[BE_GCOMP], - mr->fClearColor[BE_BCOMP], - mr->fClearColor[BE_ACOMP]); - bglview->SetLowColor(mr->fClearColor[BE_RCOMP], - mr->fClearColor[BE_GCOMP], - mr->fClearColor[BE_BCOMP], - mr->fClearColor[BE_ACOMP]); - - int x = ctx->DrawBuffer->_Xmin; - int y = ctx->DrawBuffer->_Ymin; - int width = ctx->DrawBuffer->_Xmax - x; - int height = ctx->DrawBuffer->_Ymax - y; - GLboolean all = (width == ctx->DrawBuffer->Width && height == ctx->DrawBuffer->Height); - - if (all) { - BRect b = bglview->Bounds(); - bglview->FillRect(b); - } else { - // XXX untested - BRect b; - b.left = x; - b.right = x + width; - b.bottom = mr->fHeight - y - 1; - b.top = b.bottom - height; - bglview->FillRect(b); - } - - // restore drawing color -#if 0 - bglview->SetHighColor(md->mColor[BE_RCOMP], - md->mColor[BE_GCOMP], - md->mColor[BE_BCOMP], - md->mColor[BE_ACOMP]); - bglview->SetLowColor(md->mColor[BE_RCOMP], - md->mColor[BE_GCOMP], - md->mColor[BE_BCOMP], - md->mColor[BE_ACOMP]); -#endif -} - - -void -MesaSoftwareRenderer::ClearBack(GLcontext *ctx) -{ - CALLED(); - - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - BGLView *bglview = mr->GLView(); - assert(bglview); BBitmap *bitmap = mr->fBitmap; assert(bitmap); GLuint *start = (GLuint *) bitmap->Bits(); @@ -517,8 +488,8 @@ int x = ctx->DrawBuffer->_Xmin; int y = ctx->DrawBuffer->_Ymin; - int width = ctx->DrawBuffer->_Xmax - x; - int height = ctx->DrawBuffer->_Ymax - y; + uint32 width = ctx->DrawBuffer->_Xmax - x; + uint32 height = ctx->DrawBuffer->_Ymax - y; GLboolean all = (width == ctx->DrawBuffer->Width && height == ctx->DrawBuffer->Height); if (all) { @@ -533,8 +504,8 @@ } else { // XXX untested start += y * mr->fWidth + x; - for (int i = 0; i < height; i++) { - for (int j = 0; j < width; j++) { + for (uint32 i = 0; i < height; i++) { + for (uint32 j = 0; j < width; j++) { start[j] = clearPixel; } start += mr->fWidth; @@ -563,419 +534,3 @@ { return GL_TRUE; } - - -// Plot a pixel. (0,0) is upper-left corner -// This is only used when drawing to the front buffer. -inline void Plot(BGLView *bglview, int x, int y) -{ - // XXX There's got to be a better way! - BPoint p(x, y), q(x+1, y); - bglview->StrokeLine(p, q); -} - - -void -MesaSoftwareRenderer::WriteRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]) -{ - //CALLED(); - - CONST GLubyte (*rgba)[4] = (CONST GLubyte (*)[4])values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - - //printf("WriteRGBASpan 1 n %ld x %ld y %ld mask %ld rb %p %p\n", n, x ,y, mask, rb, rgba); - - /*if (rb->Name == BUFFER_FRONT_LEFT) { - BGLView *bglview = mr->GLView(); - assert(bglview); - int flippedY = mr->fBottom - y; - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2], rgba[i][3]); - Plot(bglview, x++, flippedY); - } - } - } else { - for (GLuint i = 0; i < n; i++) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2], rgba[i][3]); - Plot(bglview, x++, flippedY); - } - } - } else {*/ - BBitmap *bitmap = mr->fBitmap; - - assert(bitmap); - - int row = mr->fBottom - y; - uint8 * ptr = (uint8 *) bitmap->Bits() + (row * bitmap->BytesPerRow()) + x * 4; - uint32 * pixel = (uint32 *) ptr; - - if (mask) { - while(n--) { - if (*mask++) - *pixel = PACK_B_RGBA32(rgba[0]); - pixel++; - rgba++; - }; - } else { - while(n--) { - *pixel++ = PACK_B_RGBA32(rgba[0]); - rgba++; - }; - }; - //} -} - - -void -MesaSoftwareRenderer::WriteRGBSpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]) -{ - CALLED(); - - //printf("WriteRGBSpan 1 n %ld x %ld y %ld mask %ld\n", n, x ,y, mask); - - CONST GLubyte **rgba = (CONST GLubyte **)values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - - /*if (rb->Name == BUFFER_FRONT_LEFT) { - BGLView *bglview = mr->GLView(); - assert(bglview); - int flippedY = mr->fBottom - y; - - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2]); - Plot(bglview, x++, flippedY); - } - } - } else { - for (GLuint i = 0; i < n; i++) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2]); - Plot(bglview, x++, flippedY); - } - } - } else {*/ - BBitmap *bitmap = mr->fBitmap; - - assert(bitmap); - - int row = mr->fBottom - y; - uint8 * ptr = (uint8 *) bitmap->Bits() + (row * bitmap->BytesPerRow()) + x * 4; - uint32 * pixel = (uint32 *) ptr; - - if (mask) { - while(n--) { - if (*mask++) - *pixel = PACK_B_RGB32(rgba[0]); - pixel++; - rgba++; - }; - } else { - while(n--) { - *pixel++ = PACK_B_RGB32(rgba[0]); - rgba++; - }; - }; - //} -} - - -void -MesaSoftwareRenderer::WriteMonoRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]) -{ - CALLED(); - - const GLchan *color = (const GLchan *)values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - - /*if (rb->Name == BUFFER_FRONT_LEFT) { - BGLView *bglview = mr->GLView(); - assert(bglview); - int flippedY = mr->fBottom - y; - bglview->SetHighColor(color[RCOMP], color[GCOMP], color[BCOMP]); - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - Plot(bglview, x++, flippedY); - } - } - } else { - for (GLuint i = 0; i < n; i++) { - Plot(bglview, x++, flippedY); - } - } - } else {*/ - BBitmap *bitmap = mr->fBitmap; - - assert(bitmap); - - int row = mr->fBottom - y; - uint8 * ptr = (uint8 *) bitmap->Bits() + (row * bitmap->BytesPerRow()) + x * 4; - uint32 * pixel = (uint32 *) ptr; - uint32 pixel_color = PACK_B_RGBA32(color); - - if (mask) { - while(n--) { - if (*mask++) - *pixel = pixel_color; - pixel++; - }; - } else { - while(n--) { - *pixel++ = pixel_color; - }; - }; - //} -} - -void -MesaSoftwareRenderer::WriteRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const void *values, - const GLubyte mask[] ) -{ - CALLED(); - CONST GLubyte **rgba = (CONST GLubyte **)values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - - /*if (rb->Name == BUFFER_FRONT_LEFT) { - BGLView *bglview = mr->GLView(); - assert(bglview); - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2]); - Plot(bglview, x[i], mr->fBottom - y[i]); - } - } - } else { - for (GLuint i = 0; i < n; i++) { - bglview->SetHighColor(rgba[i][0], rgba[i][1], rgba[i][2]); - Plot(bglview, x[i], mr->fBottom - y[i]); - } - } - } else {*/ - BBitmap *bitmap = mr->fBitmap; - - assert(bitmap); -#if 0 - while(n--) { - if (*mask++) { - int row = md->m_bottom - *y; - uint8 * pixel = (uint8 *) bitmap->Bits() + (row * bitmap->BytesPerRow()) + *x * 4; - *((uint32 *) pixel) = PACK_B_RGBA32(rgba[0]); - }; - x++; - y++; - rgba++; - }; -#else - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - GLubyte *pixel = (GLubyte *) bitmap->Bits() - + ((mr->fBottom - y[i]) * bitmap->BytesPerRow()) + x[i] * 4; - pixel[BE_RCOMP] = rgba[i][RCOMP]; - pixel[BE_GCOMP] = rgba[i][GCOMP]; - pixel[BE_BCOMP] = rgba[i][BCOMP]; - pixel[BE_ACOMP] = rgba[i][ACOMP]; - } - } - } else { - for (GLuint i = 0; i < n; i++) { - GLubyte *pixel = (GLubyte *) bitmap->Bits() - + ((mr->fBottom - y[i]) * bitmap->BytesPerRow()) + x[i] * 4; - pixel[BE_RCOMP] = rgba[i][RCOMP]; - pixel[BE_GCOMP] = rgba[i][GCOMP]; - pixel[BE_BCOMP] = rgba[i][BCOMP]; - pixel[BE_ACOMP] = rgba[i][ACOMP]; - } - } -#endif - //} -} - - -void -MesaSoftwareRenderer::WriteMonoRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - const void *values, - const GLubyte mask[]) -{ - //CALLED(); - const GLchan *color = (const GLchan *)values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - - /*if (rb->Name == BUFFER_FRONT_LEFT) { - BGLView *bglview = mr->GLView(); - assert(bglview); - // plot points using current color - bglview->SetHighColor(color[RCOMP], color[GCOMP], color[BCOMP]); - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - Plot(bglview, x[i], mr->fBottom - y[i]); - } - } - } else { - for (GLuint i = 0; i < n; i++) { - Plot(bglview, x[i], mr->fBottom - y[i]); - } - } - } else {*/ - BBitmap *bitmap = mr->fBitmap; - - assert(bitmap); - - uint32 pixel_color = PACK_B_RGBA32(color); -#if 0 - while(n--) { - if (*mask++) { - int row = md->m_bottom - *y; - uint8 * pixel = (uint8 *) bitmap->Bits() + (row * bitmap->BytesPerRow()) + *x * 4; - - *((uint32 *) pixel) = pixel_color; - }; - x++; - y++; - }; -#else - if (mask) { - for (GLuint i = 0; i < n; i++) { - if (mask[i]) { - GLubyte * ptr = (GLubyte *) bitmap->Bits() - + ((mr->fBottom - y[i]) * bitmap->BytesPerRow()) + x[i] * 4; - *((uint32 *) ptr) = pixel_color; - } - } - } else { - for (GLuint i = 0; i < n; i++) { - GLubyte * ptr = (GLubyte *) bitmap->Bits() - + ((mr->fBottom - y[i]) * bitmap->BytesPerRow()) + x[i] * 4; - *((uint32 *) ptr) = pixel_color; - } - } -#endif - //} -} - - -void -MesaSoftwareRenderer::WriteCI32Span( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, GLint x, GLint y, - const GLuint index[], const GLubyte mask[] ) -{ - printf("WriteCI32Span() not implemented yet!\n"); - // TODO -} - -void -MesaSoftwareRenderer::WriteCI8Span( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, GLint x, GLint y, - const GLubyte index[], const GLubyte mask[] ) -{ - printf("WriteCI8Span() not implemented yet!\n"); - // TODO -} - -void -MesaSoftwareRenderer::WriteMonoCISpan( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - GLuint colorIndex, const GLubyte mask[] ) -{ - printf("WriteMonoCISpan() not implemented yet!\n"); - // TODO -} - - -void -MesaSoftwareRenderer::WriteCI32Pixels( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - const GLuint index[], const GLubyte mask[] ) -{ - printf("WriteCI32Pixels() not implemented yet!\n"); - // TODO -} - -void -MesaSoftwareRenderer::WriteMonoCIPixels( const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - GLuint colorIndex, const GLubyte mask[] ) -{ - printf("WriteMonoCIPixels() not implemented yet!\n"); - // TODO -} - - -void -MesaSoftwareRenderer::ReadCI32Span( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLuint index[] ) -{ - printf("ReadCI32Span() not implemented yet!\n"); - // TODO -} - - -void -MesaSoftwareRenderer::ReadRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, void *values ) -{ - //CALLED(); - GLubyte (*rgba)[4] = (GLubyte (*)[4])values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - const BBitmap *bitmap = mr->fBitmap; - assert(bitmap); - int row = mr->fBottom - y; - const GLubyte *pixel = (GLubyte *) bitmap->Bits() - + (row * bitmap->BytesPerRow()) + x * 4; - - for (GLuint i = 0; i < n; i++) { - rgba[i][RCOMP] = pixel[BE_RCOMP]; - rgba[i][GCOMP] = pixel[BE_GCOMP]; - rgba[i][BCOMP] = pixel[BE_BCOMP]; - rgba[i][ACOMP] = pixel[BE_ACOMP]; - pixel += 4; - } -} - - -void -MesaSoftwareRenderer::ReadCI32Pixels( const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLuint indx[], const GLubyte mask[] ) -{ - printf("ReadCI32Pixels() not implemented yet!\n"); - // TODO -} - - -void -MesaSoftwareRenderer::ReadRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - void *values) -{ - CALLED(); - GLubyte (*rgba)[4] = (GLubyte (*)[4])values; - MesaSoftwareRenderer *mr = (MesaSoftwareRenderer *) ctx->DriverCtx; - const BBitmap *bitmap = mr->fBitmap; - assert(bitmap); - - for (GLuint i = 0; i < n; i++) { - GLubyte *pixel = (GLubyte *) bitmap->Bits() - + ((mr->fBottom - y[i]) * bitmap->BytesPerRow()) + x[i] * 4; - rgba[i][RCOMP] = pixel[BE_RCOMP]; - rgba[i][GCOMP] = pixel[BE_GCOMP]; - rgba[i][BCOMP] = pixel[BE_BCOMP]; - rgba[i][ACOMP] = pixel[BE_ACOMP]; - }; -} - Modified: haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h =================================================================== --- haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h 2007-02-19 22:11:25 UTC (rev 20171) +++ haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h 2007-02-19 23:55:27 UTC (rev 20172) @@ -34,70 +34,22 @@ virtual void SwapBuffers(bool VSync = false); virtual void Draw(BRect updateRect); - virtual status_t CopyPixelsOut(BPoint source, BBitmap *dest); - virtual status_t CopyPixelsIn(BBitmap *source, BPoint dest); + virtual status_t CopyPixelsOut(BPoint source, BBitmap *dest); + virtual status_t CopyPixelsIn(BBitmap *source, BPoint dest); + GLvoid ** GetRows() { return fRowAddr; }; + private: - static void Error(GLcontext *ctx); + static void Error(GLcontext *ctx); static const GLubyte * GetString(GLcontext *ctx, GLenum name); - static void Viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h); - static void UpdateState(GLcontext *ctx, GLuint new_state); - static void ClearFront(GLcontext *ctx); - static void ClearBack(GLcontext *ctx); - static void ClearIndex(GLcontext *ctx, GLuint index); - static void ClearColor(GLcontext *ctx, const GLfloat color[4]); - static void Clear(GLcontext *ctx, GLbitfield mask); - static GLboolean RenderbufferStorage(GLcontext *ctx, struct gl_renderbuffer *render, + static void Viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h); + static void UpdateState(GLcontext *ctx, GLuint new_state); + static void ClearFront(GLcontext *ctx); + static void ClearIndex(GLcontext *ctx, GLuint index); + static void ClearColor(GLcontext *ctx, const GLfloat color[4]); + static void Clear(GLcontext *ctx, GLbitfield mask); + static GLboolean RenderbufferStorage(GLcontext *ctx, struct gl_renderbuffer *render, GLenum internalFormat, GLuint width, GLuint height ); - - // Buffer functions - static void WriteRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]); - static void WriteRGBSpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]); - static void WriteMonoRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const void *values, - const GLubyte mask[]); - static void WriteRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - const void *values, - const GLubyte mask[]); - static void WriteMonoRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - const void *values, - const GLubyte mask[]); - static void WriteCI32Span(const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const GLuint index[], const GLubyte mask[]); - static void WriteCI8Span(const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - const GLubyte index[], const GLubyte mask[]); - static void WriteMonoCISpan(const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - GLuint colorIndex, const GLubyte mask[]); - static void WriteCI32Pixels(const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - const GLuint index[], const GLubyte mask[]); - static void WriteMonoCIPixels(const GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - const GLint x[], const GLint y[], - GLuint colorIndex, const GLubyte mask[]); - static void ReadCI32Span(const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLuint index[]); - static void ReadRGBASpan(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint n, - GLint x, GLint y, - void *values); - static void ReadCI32Pixels(const GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - GLuint indx[], const GLubyte mask[]); - static void ReadRGBAPixels(GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, const GLint x[], const GLint y[], - void *values); - BBitmap *fBitmap; @@ -108,9 +60,10 @@ GLchan fClearColor[4]; // buffer clear color GLuint fClearIndex; // buffer clear color index - GLint fBottom; // used for flipping Y coords GLuint fWidth; GLuint fHeight; + + GLvoid * fRowAddr[MAX_HEIGHT]; /*< address of first pixel in each image row */ }; #endif // MESASOFTWARERENDERER_H From bonefish at cs.tu-berlin.de Tue Feb 20 01:21:24 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Tue, 20 Feb 2007 01:21:24 +0100 Subject: [Haiku-commits] r20161 - in haiku/trunk: headers/os/kernel headers/os/kernel/arch headers/os/kernel/arch/x86 headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 In-Reply-To: <64A93A2A-DBE9-4D27-83C5-016B323AEF55@foobox.com> References: <200702190032.l1J0WjuF028156@sheep.berlios.de> <64A93A2A-DBE9-4D27-83C5-016B323AEF55@foobox.com> Message-ID: <20070220012124.15924.2@cs.tu-berlin.de> On 2007-02-20 at 00:44:57 [+0100], Travis Geiselbrecht wrote: > Libroot needs to access it. If there's a better place, I'm all for > it. As far as I can tell the os/ space is where stuff like that goes. headers/os and most sibling directories are for public (OS user) API. Interfaces between system components should find a home somewhere under headers/private/. headers/private/kernel/ should be a fine place in this case -- it contains both non-public intra-kernel and kernel<->userland interfaces ATM. CU, Ingo From korli at mail.berlios.de Tue Feb 20 01:21:46 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Tue, 20 Feb 2007 01:21:46 +0100 Subject: [Haiku-commits] r20173 - in haiku/trunk: headers/os/kernel headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 Message-ID: <200702200021.l1K0Lkdf019464@sheep.berlios.de> Author: korli Date: 2007-02-20 01:21:45 +0100 (Tue, 20 Feb 2007) New Revision: 20173 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20173&view=rev Removed: haiku/trunk/headers/os/kernel/arch/ Modified: haiku/trunk/headers/private/kernel/arch/x86/commpage.h haiku/trunk/src/system/kernel/arch/x86/commpage.c haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc Log: merge both commpage.h into the private header Travis, I hope this fits your needs :) Modified: haiku/trunk/headers/private/kernel/arch/x86/commpage.h =================================================================== --- haiku/trunk/headers/private/kernel/arch/x86/commpage.h 2007-02-19 23:55:27 UTC (rev 20172) +++ haiku/trunk/headers/private/kernel/arch/x86/commpage.h 2007-02-20 00:21:45 UTC (rev 20173) @@ -5,8 +5,23 @@ #ifndef _KERNEL_ARCH_x86_COMMPAGE_H #define _KERNEL_ARCH_x86_COMMPAGE_H +/* some systemwide commpage constants, used in the kernel and libroot */ +/* be careful what you put here, this file is included from assembly */ +#define COMMPAGE_ENTRY_MAGIC 0 +#define COMMPAGE_ENTRY_VERSION 1 +#define COMMPAGE_ENTRY_SYSCALL 2 + +#define USER_COMMPAGE_ADDR (0xffff0000) +#define COMMPAGE_SIZE (0x8000) +#define TABLE_ENTRIES 64 + +#define COMMPAGE_SIGNATURE 'COMM' +#define COMMPAGE_VERSION 1 + +#ifndef _ASSEMBLER status_t commpage_init(void); +#endif #endif Modified: haiku/trunk/src/system/kernel/arch/x86/commpage.c =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/commpage.c 2007-02-19 23:55:27 UTC (rev 20172) +++ haiku/trunk/src/system/kernel/arch/x86/commpage.c 2007-02-20 00:21:45 UTC (rev 20173) @@ -8,8 +8,6 @@ #include #include -#include - static area_id comm_area; static area_id user_comm_area; static unsigned long *comm_ptr; Modified: haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc =================================================================== --- haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc 2007-02-19 23:55:27 UTC (rev 20172) +++ haiku/trunk/src/system/libroot/os/arch/x86/syscalls.inc 2007-02-20 00:21:45 UTC (rev 20173) @@ -14,7 +14,7 @@ * branch to the syscall vector in the commpage */ -#include +#include #define _SYSCALL(name, n) \ .globl name; \ From korli at users.berlios.de Tue Feb 20 01:24:18 2007 From: korli at users.berlios.de (=?ISO-8859-1?Q?J=E9r=F4me_Duval?=) Date: Tue, 20 Feb 2007 01:24:18 +0100 Subject: [Haiku-commits] r20161 - in haiku/trunk: headers/os/kernel headers/os/kernel/arch headers/os/kernel/arch/x86 headers/private/kernel/arch/x86 src/system/kernel/arch/x86 src/system/libroot/os/arch/x86 In-Reply-To: <20070220012124.15924.2@cs.tu-berlin.de> References: <200702190032.l1J0WjuF028156@sheep.berlios.de> <64A93A2A-DBE9-4D27-83C5-016B323AEF55@foobox.com> <20070220012124.15924.2@cs.tu-berlin.de> Message-ID: 2007/2/20, Ingo Weinhold : > > > On 2007-02-20 at 00:44:57 [+0100], Travis Geiselbrecht > wrote: > > Libroot needs to access it. If there's a better place, I'm all for > > it. As far as I can tell the os/ space is where stuff like that goes. > > headers/os and most sibling directories are for public (OS user) API. > Interfaces between system components should find a home somewhere under > headers/private/. headers/private/kernel/ should be a fine place in this > case -- it contains both non-public intra-kernel and kernel<->userland > interfaces ATM. I did the change, but had to protect assembler. Bye, J?r?me -------------- next part -------------- An HTML attachment was scrubbed... URL: From bonefish at mail.berlios.de Tue Feb 20 02:25:07 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 20 Feb 2007 02:25:07 +0100 Subject: [Haiku-commits] r20174 - in haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5: headers/shared src/test/ramfs Message-ID: <200702200125.l1K1P7Ed025226@sheep.berlios.de> Author: bonefish Date: 2007-02-20 02:25:04 +0100 (Tue, 20 Feb 2007) New Revision: 20174 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20174&view=rev Removed: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/compatibility.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/fsproto.h Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DLList.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Debug.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Jamfile haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locking.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Misc.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h Log: Consolidated common UserlandFS and RamFS headers and support classes a bit. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DLList.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DLList.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/DLList.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -47,17 +47,17 @@ template class DLListLinkImpl { private: - typedef DLListLink Link; + typedef DLListLink MyLink; public: DLListLinkImpl() : fDLListLink() {} ~DLListLinkImpl() {} - Link *GetDLListLink() { return &fDLListLink; } - const Link *GetDLListLink() const { return &fDLListLink; } + MyLink *GetDLListLink() { return &fDLListLink; } + const MyLink *GetDLListLink() const { return &fDLListLink; } private: - Link fDLListLink; + MyLink fDLListLink; }; // DLListStandardGetLink Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Debug.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Debug.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/headers/shared/Debug.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -115,6 +115,7 @@ #define FUNCTION(x) TFUNCTION(x) #define FUNCTION_START() TFUNCTION_START() #define FUNCTION_END() TFUNCTION_END() + #define DARG(x) x #define D(x) {x;}; #else #define PRINT(x) ; @@ -128,6 +129,7 @@ #define FUNCTION(x) ; #define FUNCTION_START() ; #define FUNCTION_END() ; + #define DARG(x) #define D(x) ; #endif Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocator.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -12,7 +12,7 @@ #define ENABLE_BA_PANIC 1 #if ENABLE_BA_PANIC -#define BA_PANIC(x) { DEBUGGER(x); BlockAllocator::fPanic = true; } +#define BA_PANIC(x) { PANIC(x); BlockAllocator::fPanic = true; } #endif class AllocationInfo; Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DLList.h Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.cpp 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/DataContainer.cpp 2007-02-20 01:25:04 UTC (rev 20174) @@ -306,7 +306,7 @@ D( if (offset + size > kSmallDataContainerSize) { FATAL(("DataContainer: Data access exceeds small buffer.\n")); - DEBUGGER("DataContainer: Data access exceeds small buffer."); + PANIC("DataContainer: Data access exceeds small buffer."); return NULL; } ); @@ -347,7 +347,7 @@ D( if (!_IsBlockMode()) { FATAL(("Call of _ResizeLastBlock() in small buffer mode.\n")); - DEBUGGER("Call of _ResizeLastBlock() in small buffer mode."); + PANIC("Call of _ResizeLastBlock() in small buffer mode."); return B_ERROR; } ); Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.cpp Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Debug.h Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Jamfile =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Jamfile 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Jamfile 2007-02-20 01:25:04 UTC (rev 20174) @@ -3,18 +3,33 @@ SetSubDirSupportedPlatforms r5 bone dano ; +local userlandFSTop = [ FDirName $(HAIKU_TOP) src tests add-ons kernel + file_systems userlandfs r5 ] ; +local userlandFSIncludes = [ FDirName $(userlandFSTop) headers ] ; + DEFINES += USER=1 ; +SubDirC++Flags -include + [ FDirName $(userlandFSIncludes) shared Compatibility.h ] ; + +SubDirSysHdrs [ FDirName $(userlandFSIncludes) public ] ; +SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ; + if $(OSPLAT) = X86 { # SubDirC++Flags -include [ FDirName $(UFS_TOP) src kernel_add_on # kernel-cpp.h ] ; SubDirC++Flags -include [ FDirName $(SUBDIR) cpp.h ] ; - SubDirC++Flags -include [ FDirName $(SUBDIR) compatibility.h ] ; } +SEARCH_SOURCE += [ FDirName $(userlandFSTop) src shared ] ; + Addon ramfs : # relpath - obsolete - : AllocationInfo.cpp + : Debug.cpp + Locker.cpp + String.cpp + + AllocationInfo.cpp AreaUtils.cpp Attribute.cpp AttributeIndex.cpp @@ -25,7 +40,6 @@ BlockAllocatorAreaBucket.cpp BlockReferenceManager.cpp DataContainer.cpp - Debug.cpp Directory.cpp Entry.cpp EntryIterator.cpp @@ -35,14 +49,12 @@ IndexDirectory.cpp kernel_interface.cpp LastModifiedIndex.cpp - Locker.cpp NameIndex.cpp Node.cpp NodeListener.cpp NodeTable.cpp Query.cpp SizeIndex.cpp - String.cpp SymLink.cpp Volume.cpp : false # is executable Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.cpp Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locker.h Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locking.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locking.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Locking.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -3,118 +3,10 @@ #ifndef LOCKING_H #define LOCKING_H +#include "AutoLocker.h" + class Volume; -// AutoLockerStandardLocking -template -class AutoLockerStandardLocking { -public: - inline bool Lock(Lockable *lockable) - { - return lockable->Lock(); - } - - inline void Unlock(Lockable *lockable) - { - lockable->Unlock(); - } -}; - -// AutoLockerReadLocking -template -class AutoLockerReadLocking { -public: - inline bool Lock(Lockable *lockable) - { - return lockable->ReadLock(); - } - - inline void Unlock(Lockable *lockable) - { - lockable->ReadUnlock(); - } -}; - -// AutoLockerWriteLocking -template -class AutoLockerWriteLocking { -public: - inline bool Lock(Lockable *lockable) - { - return lockable->WriteLock(); - } - - inline void Unlock(Lockable *lockable) - { - lockable->WriteUnlock(); - } -}; - -// AutoLocker -template > -class AutoLocker { -private: - typedef AutoLocker ThisClass; -public: - inline AutoLocker(Lockable *lockable) - : fLockable(lockable), - fLocked(false) - { - _Lock(); - } - - inline AutoLocker(Lockable &lockable) - : fLockable(&lockable), - fLocked(false) - { - _Lock(); - } - - inline ~AutoLocker() - { - _Unlock(); - } - - inline AutoLocker &operator=(Lockable *lockable) - { - _Unlock(); - fLockable = lockable; - _Lock(); - } - - inline AutoLocker &operator=(Lockable &lockable) - { - _Unlock(); - fLockable = &lockable; - _Lock(); - } - - inline bool IsLocked() const { return fLocked; } - - inline operator bool() const { return fLocked; } - -private: - inline void _Lock() - { - if (fLockable) - fLocked = fLocking.Lock(fLockable); - } - - inline void _Unlock() - { - if (fLockable && fLocked) { - fLocking.Unlock(fLockable); - fLocked = false; - } - } - -private: - Lockable *fLockable; - bool fLocked; - Locking fLocking; -}; - // instantiations typedef AutoLocker > VolumeReadLocker; typedef AutoLocker > VolumeWriteLocker; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Misc.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Misc.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Misc.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -30,6 +30,8 @@ #include +#include "String.h" + // min and max // We don't want to include otherwise we also get // and other undesired things. @@ -94,23 +96,6 @@ return index; } -// string_hash -// -// from the Dragon Book: a slightly modified hashpjw() -static inline -uint32 -string_hash(const char *name) -{ - uint32 h = 0; - for (; *name; name++) { - uint32 g = h & 0xf0000000; - if (g) - h ^= g >> 24; - h = (h << 4) + *name; - } - return h; -} - // node_child_hash static inline uint32 Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.cpp Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/String.h Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h 2007-02-20 00:21:45 UTC (rev 20173) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h 2007-02-20 01:25:04 UTC (rev 20174) @@ -181,8 +181,8 @@ IndexDirectory *fIndexDirectory; Directory *fRootDirectory; String fName; - BLocker fLocker; - BLocker fIteratorLocker; + Locker fLocker; + Locker fIteratorLocker; NodeListenerTree *fNodeListeners; NodeListenerList fAnyNodeListeners; EntryListenerTree *fEntryListeners; Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/compatibility.h Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/fsproto.h From bonefish at mail.berlios.de Tue Feb 20 02:53:30 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 20 Feb 2007 02:53:30 +0100 Subject: [Haiku-commits] r20175 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702200153.l1K1rUJm026828@sheep.berlios.de> Author: bonefish Date: 2007-02-20 02:53:29 +0100 (Tue, 20 Feb 2007) New Revision: 20175 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20175&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp Log: Good to have an answer: In case of success Directory::CreateFile() causes new_vnode() to be invoked. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-20 01:25:04 UTC (rev 20174) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-20 01:53:29 UTC (rev 20175) @@ -652,7 +652,6 @@ node->SetMode(mode); node->SetUID(geteuid()); node->SetGID(getegid()); -// Don't we need to invoke new_vnode()? } } // set result / cleanup on failure From jackburton at mail.berlios.de Tue Feb 20 07:51:27 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 07:51:27 +0100 Subject: [Haiku-commits] r20176 - haiku/trunk/src/preferences/time Message-ID: <200702200651.l1K6pRbP022628@sheep.berlios.de> Author: jackburton Date: 2007-02-20 07:51:26 +0100 (Tue, 20 Feb 2007) New Revision: 20176 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20176&view=rev Modified: haiku/trunk/src/preferences/time/BaseView.cpp haiku/trunk/src/preferences/time/Jamfile haiku/trunk/src/preferences/time/TZDisplay.cpp haiku/trunk/src/preferences/time/TimeWindow.cpp haiku/trunk/src/preferences/time/ZoneView.cpp haiku/trunk/src/preferences/time/ZoneView.h Log: cleanup Modified: haiku/trunk/src/preferences/time/BaseView.cpp =================================================================== --- haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 06:51:26 UTC (rev 20176) @@ -49,11 +49,10 @@ void TTimeBaseView::DispatchMessage() { - time_t current; + time_t current = time(0); + struct tm *ltime; - current = time(0); - if (f_gmtime) ltime = gmtime(¤t); else @@ -85,13 +84,9 @@ if (!(message->FindBool("time", &istime) == B_OK)) return; - time_t atime; - struct tm *_tm; + time_t atime = time(0); + struct tm *_tm = localtime(&atime); - - atime = time(0); - _tm = localtime(&atime); - int32 hour = 0; int32 minute = 0; int32 second = 0; @@ -121,6 +116,5 @@ time_t atime2 = mktime(_tm); set_real_time_clock(atime2); - DispatchMessage(); } Modified: haiku/trunk/src/preferences/time/Jamfile =================================================================== --- haiku/trunk/src/preferences/time/Jamfile 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/Jamfile 2007-02-20 06:51:26 UTC (rev 20176) @@ -13,8 +13,7 @@ SettingsView.cpp Time.cpp TimeSettings.cpp - TimeView.cpp - TimeWindow.cpp + TimeWindow.cpp TZDisplay.cpp ZoneView.cpp : be Modified: haiku/trunk/src/preferences/time/TZDisplay.cpp =================================================================== --- haiku/trunk/src/preferences/time/TZDisplay.cpp 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/TZDisplay.cpp 2007-02-20 06:51:26 UTC (rev 20176) @@ -91,6 +91,7 @@ Draw(Bounds()); } + void TTZDisplay::SetText(const char *text) { @@ -98,6 +99,7 @@ Draw(Bounds()); } + void TTZDisplay::SetTo(int32 hour, int32 minute) { @@ -124,26 +126,26 @@ sprintf(time, "%02lu:%02lu %s", ahour, minute, ap); f_time->UnlockBuffer(8); - Draw(Bounds()); + Invalidate(); } + const char * TTZDisplay::Text() const { return f_text->String(); } + const char * TTZDisplay::Label() const { return f_label->String(); } + const char * TTZDisplay::Time() const { return f_time->String(); } - - - Modified: haiku/trunk/src/preferences/time/TimeWindow.cpp =================================================================== --- haiku/trunk/src/preferences/time/TimeWindow.cpp 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/TimeWindow.cpp 2007-02-20 06:51:26 UTC (rev 20176) @@ -13,7 +13,6 @@ #include "BaseView.h" #include "Time.h" #include "TimeMessages.h" -#include "TimeView.h" #include "TimeWindow.h" #define TIME_WINDOW_RIGHT 361 //332 @@ -51,17 +50,16 @@ bool istime; if (message->FindBool("time", &istime) == B_OK) f_BaseView->ChangeTime(message); + break; } - break; + case H_RTC_CHANGE: - { f_BaseView->SetGMTime(f_TimeSettings->GMTime()); - } - break; + break; default: BWindow::MessageReceived(message); - break; + break; } } Modified: haiku/trunk/src/preferences/time/ZoneView.cpp =================================================================== --- haiku/trunk/src/preferences/time/ZoneView.cpp 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/ZoneView.cpp 2007-02-20 06:51:26 UTC (rev 20176) @@ -33,28 +33,29 @@ /*=====> TZoneItem <=====*/ TZoneItem::TZoneItem(const char *text, const char *zone) - : BStringItem(text) + :BStringItem(text), + fZone(new BPath(zone)) { - f_zone = new BPath(zone); } TZoneItem::~TZoneItem() { - delete f_zone; + delete fZone; } + const char * TZoneItem::Zone() const { - return f_zone->Leaf(); + return fZone->Leaf(); } const char * TZoneItem::Path() const { - return f_zone->Path(); + return fZone->Path(); } @@ -78,8 +79,7 @@ void TZoneView::AllAttached() { - - + BView::AllAttached(); } @@ -109,14 +109,6 @@ void -TZoneView::Draw(BRect updaterect) -{ - f_current->Draw(updaterect); - f_preview->Draw(updaterect); -} - - -void TZoneView::MessageReceived(BMessage *message) { int32 change; @@ -126,28 +118,28 @@ switch(change) { case H_TM_CHANGED: UpdateDateTime(message); - break; + break; default: BView::MessageReceived(message); - break; + break; } - break; + break; case H_REGION_CHANGED: ChangeRegion(message); - break; + break; case H_SET_TIME_ZONE: SetTimeZone(); - break; + break; case H_CITY_CHANGED: SetPreview(); - break; + break; default: BView::MessageReceived(message); - break; + break; } } @@ -175,7 +167,7 @@ void -TZoneView:: InitView() +TZoneView::InitView() { font_height finfo; be_plain_font->GetHeight(&finfo); @@ -231,13 +223,13 @@ frame.bottom = frame.top +text_height *2; frame.right = bounds.right -6; f_current = new TTZDisplay(frame, "current", - B_FOLLOW_LEFT|B_FOLLOW_TOP, 0, + B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW, "Current time zone:", B_EMPTY_STRING); f_current->ResizeToPreferred(); frame.OffsetBy(0, (text_height *3) +2); f_preview = new TTZDisplay(frame, "timein", - B_FOLLOW_LEFT|B_FOLLOW_TOP, 0, + B_FOLLOW_LEFT|B_FOLLOW_TOP, B_WILL_DRAW, "Time in: ", B_EMPTY_STRING); f_preview->ResizeToPreferred(); @@ -299,7 +291,8 @@ itemtext = itemtext.ReplaceAll('_', ' '); // underscores are spaces width = be_plain_font->StringWidth(itemtext.String()); - if (width> *widest) *widest = width; + if (width > *widest) + *widest = width; BMessage *msg = new BMessage(H_REGION_CHANGED); msg->AddString("region", path.Path()); @@ -383,6 +376,16 @@ void TZoneView::ReadTimeZoneLink() { + BEntry tzLink; + +#if TARGET_PLATFORM_HAIKU + extern status_t _kern_get_tzfilename(char *filename, size_t length, bool *_isGMT); + + char tzFileName[B_OS_PATH_LENGTH]; + bool isGMT; + _kern_get_tzfilename(tzFileName, B_OS_PATH_LENGTH, &isGMT); + tzLink.SetTo(tzFileName); +#else /* reads the timezone symlink from B_USER_SETTINGS_DIRECTORY currently this sets f_currentzone to the symlink value. this is wrong. the original can get users timezone without @@ -393,9 +396,8 @@ EST is set when the settings dir can't be found **should never happen** */ + BPath path; - BEntry tzLink; - if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) == B_OK) { path.Append("timezone"); @@ -409,7 +411,7 @@ // set tzlink to a default tzLink.SetTo("/boot/beos/etc/timezones/EST"); } - +#endif // we need something in the current zone f_currentzone.SetTo(&tzLink); } @@ -446,11 +448,9 @@ void TZoneView::SetCurrent(const char *text) { - time_t current; - struct tm *ltime; SetTimeZone(f_currentzone.Path()); - current = time(0); - ltime = localtime(¤t); + time_t current = time(0); + struct tm *ltime = localtime(¤t); f_current->SetTo(ltime->tm_hour, ltime->tm_min); f_current->SetText(text); Modified: haiku/trunk/src/preferences/time/ZoneView.h =================================================================== --- haiku/trunk/src/preferences/time/ZoneView.h 2007-02-20 01:53:29 UTC (rev 20175) +++ haiku/trunk/src/preferences/time/ZoneView.h 2007-02-20 06:51:26 UTC (rev 20176) @@ -24,7 +24,7 @@ const char *Path() const; private: - BPath *f_zone; + BPath *fZone; }; @@ -36,7 +36,6 @@ virtual void AttachedToWindow(); virtual void AllAttached(); - virtual void Draw(BRect); virtual void MessageReceived(BMessage *message); protected: void UpdateDateTime(BMessage *message); From jackburton at mail.berlios.de Tue Feb 20 07:55:44 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 07:55:44 +0100 Subject: [Haiku-commits] r20177 - haiku/trunk/src/preferences/time Message-ID: <200702200655.l1K6tiNs022919@sheep.berlios.de> Author: jackburton Date: 2007-02-20 07:55:44 +0100 (Tue, 20 Feb 2007) New Revision: 20177 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20177&view=rev Removed: haiku/trunk/src/preferences/time/TimeView.cpp haiku/trunk/src/preferences/time/TimeView.h Log: removed unused files Deleted: haiku/trunk/src/preferences/time/TimeView.cpp Deleted: haiku/trunk/src/preferences/time/TimeView.h From jackburton at mail.berlios.de Tue Feb 20 13:52:18 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 13:52:18 +0100 Subject: [Haiku-commits] r20178 - haiku/trunk/src/apps/expander Message-ID: <200702201252.l1KCqIl8022334@sheep.berlios.de> Author: jackburton Date: 2007-02-20 13:52:18 +0100 (Tue, 20 Feb 2007) New Revision: 20178 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20178&view=rev Modified: haiku/trunk/src/apps/expander/ExpanderPreferences.cpp Log: fixed some style issues introduced with the latest patch Modified: haiku/trunk/src/apps/expander/ExpanderPreferences.cpp =================================================================== --- haiku/trunk/src/apps/expander/ExpanderPreferences.cpp 2007-02-20 06:55:44 UTC (rev 20177) +++ haiku/trunk/src/apps/expander/ExpanderPreferences.cpp 2007-02-20 12:52:18 UTC (rev 20178) @@ -49,32 +49,34 @@ BStringView *stringView = new BStringView(frameRect, "expansion", "Expansion:", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); stringView->ResizeToPreferred(); - if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; + if (stringView->Frame().right > maxWidth) + maxWidth = stringView->Frame().right; box->AddChild(stringView); - frameRect.top = stringView->Frame().bottom + 5; frameRect.left += 10; fAutoExpand = new BCheckBox(frameRect, "autoExpand", "Automatically expand files", NULL); fAutoExpand->ResizeToPreferred(); - if(fAutoExpand->Frame().right>maxWidth) maxWidth=fAutoExpand->Frame().right; + if (fAutoExpand->Frame().right > maxWidth) + maxWidth = fAutoExpand->Frame().right; box->AddChild(fAutoExpand); frameRect = fAutoExpand->Frame(); frameRect.top = fAutoExpand->Frame().bottom + 1; fCloseWindow = new BCheckBox(frameRect, "closeWindowWhenDone", "Close window when done expanding", NULL); fCloseWindow->ResizeToPreferred(); - if(fCloseWindow->Frame().right>maxWidth) maxWidth=fCloseWindow->Frame().right; + if (fCloseWindow->Frame().right > maxWidth) + maxWidth = fCloseWindow->Frame().right; box->AddChild(fCloseWindow); - frameRect = stringView->Frame(); frameRect.top = fCloseWindow->Frame().bottom + 10; stringView = new BStringView(frameRect, "destinationFolder", "Destination Folder:", B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); stringView->ResizeToPreferred(); - if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; + if (stringView->Frame().right > maxWidth) + maxWidth = stringView->Frame().right; box->AddChild(stringView); frameRect.top = stringView->Frame().bottom + 5; @@ -83,7 +85,8 @@ fLeaveDest = new BRadioButton(frameRect, "leaveDest", "Leave destination folder path empty", new BMessage(MSG_LEAVEDEST)); fLeaveDest->ResizeToPreferred(); - if(fLeaveDest->Frame().right>maxWidth) maxWidth=fLeaveDest->Frame().right; + if (fLeaveDest->Frame().right > maxWidth) + maxWidth = fLeaveDest->Frame().right; box->AddChild(fLeaveDest); frameRect = fLeaveDest->Frame(); @@ -91,17 +94,18 @@ fSameDest = new BRadioButton(frameRect, "sameDir", "Same directory as source (archive) file", new BMessage(MSG_SAMEDIR)); fSameDest->ResizeToPreferred(); - if(fSameDest->Frame().right>maxWidth) maxWidth=fSameDest->Frame().right; + if (fSameDest->Frame().right > maxWidth) + maxWidth = fSameDest->Frame().right; box->AddChild(fSameDest); frameRect = fSameDest->Frame(); frameRect.top = frameRect.bottom + 1; fDestUse = new BRadioButton(frameRect, "destUse", "Use:",new BMessage(MSG_DESTUSE)); fDestUse->ResizeToPreferred(); - if(fDestUse->Frame().right>maxWidth) maxWidth=fDestUse->Frame().right; + if (fDestUse->Frame().right > maxWidth) + maxWidth = fDestUse->Frame().right; box->AddChild(fDestUse); - - + frameRect = fDestUse->Frame(); frameRect.left = fDestUse->Frame().right + 1; frameRect.right = frameRect.left + 58; @@ -120,21 +124,21 @@ frameRect.left = frameRect.right + 5; fSelect = new BButton(frameRect, "selectButton", "Select", new BMessage(MSG_DESTSELECT)); fSelect->ResizeToPreferred(); - if(fSelect->Frame().right>maxWidth) maxWidth=fSelect->Frame().right; + if (fSelect->Frame().right > maxWidth) + maxWidth = fSelect->Frame().right; box->AddChild(fSelect); fSelect->SetEnabled(false); fDestText->MoveBy(0,(fSelect->Frame().Height() - fDestText->Frame().Height())/2.0); fDestText->ResizeTo(158,fDestText->Frame().Height()); - - frameRect = stringView->Frame(); frameRect.top = fDestUse->Frame().bottom + 10; stringView = new BStringView(frameRect, "other", "Other:",B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); stringView->ResizeToPreferred(); - if(stringView->Frame().right>maxWidth) maxWidth=stringView->Frame().right; + if (stringView->Frame().right > maxWidth) + maxWidth = stringView->Frame().right; box->AddChild(stringView); frameRect.top = stringView->Frame().bottom + 5; @@ -142,17 +146,18 @@ fOpenDest = new BCheckBox(frameRect, "openDestination", "Open destination folder after extraction", NULL); fOpenDest->ResizeToPreferred(); - if(fOpenDest->Frame().right>maxWidth) maxWidth=fOpenDest->Frame().right; + if (fOpenDest->Frame().right > maxWidth) + maxWidth = fOpenDest->Frame().right; box->AddChild(fOpenDest); frameRect = fOpenDest->Frame(); frameRect.top = frameRect.bottom + 1; fAutoShow = new BCheckBox(frameRect, "autoShow", "Automatically show contents listing", NULL); fAutoShow->ResizeToPreferred(); - if(fAutoShow->Frame().right>maxWidth) maxWidth=fAutoShow->Frame().right; + if (fAutoShow->Frame().right > maxWidth) + maxWidth = fAutoShow->Frame().right; box->AddChild(fAutoShow); - - + box->ResizeTo(maxWidth + 15,fAutoShow->Frame().bottom + 10); rect = BRect(Bounds().right-89, Bounds().bottom-40, Bounds().right-14, Bounds().bottom-16); @@ -164,7 +169,6 @@ button->MoveTo(box->Frame().right - button->Frame().Width(),box->Frame().bottom + 10 ); background->AddChild(button); - rect = button->Frame(); BButton *cancel = new BButton(rect, "CancelButton", "Cancel", new BMessage(MSG_CANCEL)); cancel->ResizeToPreferred(); @@ -172,8 +176,7 @@ background->AddChild(cancel); ResizeTo(box->Frame().right + 11 ,button->Frame().bottom + 11); - - + BScreen screen(this); MoveBy((screen.Frame().Width()-Bounds().Width())/2, (screen.Frame().Height()-Bounds().Height())/2); From jackburton at mail.berlios.de Tue Feb 20 14:04:26 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 14:04:26 +0100 Subject: [Haiku-commits] r20179 - haiku/trunk/src/apps/terminal Message-ID: <200702201304.l1KD4QjZ023092@sheep.berlios.de> Author: jackburton Date: 2007-02-20 14:04:26 +0100 (Tue, 20 Feb 2007) New Revision: 20179 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20179&view=rev Modified: haiku/trunk/src/apps/terminal/TermView.cpp Log: Removed a goto, style changes, patch by Vasilis Kaoutsis. Thank you! Modified: haiku/trunk/src/apps/terminal/TermView.cpp =================================================================== --- haiku/trunk/src/apps/terminal/TermView.cpp 2007-02-20 12:52:18 UTC (rev 20178) +++ haiku/trunk/src/apps/terminal/TermView.cpp 2007-02-20 13:04:26 UTC (rev 20179) @@ -1,11 +1,12 @@ /* - * Copyright (c) 2001-2006, Haiku, Inc. - * Copyright (c) 2003-4 Kian Duffy - * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. - * Distributed under the terms of the MIT license. + * Copyright 2001-2007, Haiku, Inc. + * Copyright 2003-2004 Kian Duffy, myob at users.sourceforge.net + * Parts Copyright 1998-1999 Kazuho Okui and Takashi Murai. + * All rights reserved. Distributed under the terms of the MIT license. * * Authors: - * Kian Duffy + * Kian Duffy, myob at users.sourceforge.net + * Y.Hayakawa, hida at sawada.riec.tohoku.ac.jp */ @@ -802,7 +803,7 @@ BRect r(pos.x1 * width, pos.y1 * height, (pos.x2 + 1) * width -1,(pos.y2 + 1) * height -1); - if(theObj->LockLooper()) { + if (theObj->LockLooper()) { theObj->Invalidate(r); theObj->UnlockLooper(); } @@ -857,23 +858,23 @@ while(!theObj->fQuitting) { - if(1) { + if (1) { #ifdef CHANGE_CURSOR_IMAGE - if(!has_data(find_thread(NULL))) { + if (!has_data(find_thread(NULL))) { BRect r; - if(theObj->fSelected + if (theObj->fSelected && ( gTermPref->getInt32(PREF_DRAGN_COPY) || modifiers() & B_CONTROL_KEY)) { - if(theObj->LockLooper()) { + if (theObj->LockLooper()) { theObj->GetMouse(&stpoint, &button); r = theObj->Bounds(); theObj->UnlockLooper(); } - if(r.Contains(stpoint)) { + if (r.Contains(stpoint)) { CurPos tmppos = theObj->BPointToCurPos(stpoint); - if(theObj->fSelStart > theObj->fSelEnd) { + if (theObj->fSelStart > theObj->fSelEnd) { stpos = theObj->fSelEnd; edpos = theObj->fSelStart; } else { @@ -881,7 +882,7 @@ edpos = theObj->fSelEnd; } - if(tmppos > stpos && tmppos < edpos) + if (tmppos > stpos && tmppos < edpos) be_app->SetCursor(M_ADD_CURSOR); else be_app->SetCursor(B_HAND_CURSOR); @@ -894,7 +895,7 @@ code = receive_data(&sender,(void *)&stpoint, sizeof(BPoint)); } - if(code != MOUSE_THR_CODE) + if (code != MOUSE_THR_CODE) continue; selected = theObj->fSelected; @@ -906,7 +907,7 @@ snooze(40 * 1000); - if(theObj->LockLooper()) { + if (theObj->LockLooper()) { theObj->GetMouse(&edpoint, &button); theObj->UnlockLooper(); } @@ -915,51 +916,51 @@ if (edpos.y < 0) continue; - if(stpoint == edpoint) { + if (stpoint == edpoint) { continue; } else { - if(!selected) { + if (!selected) { theObj->Select(stpos, edpos); selected = true; } else { // Align cursor point to text. - if(stpos == edpos) + if (stpos == edpos) continue; - if(edpos > stpos) { + if (edpos > stpos) { edpoint.x -= theObj->fFontWidth / 2; edpos = theObj->BPointToCurPos(edpoint); //edpos.x--; - if(edpos.x < 0) + if (edpos.x < 0) edpos.x = 0; } else - if(edpos < stpos) { + if (edpos < stpos) { edpoint.x += theObj->fFontWidth / 2; edpos = theObj->BPointToCurPos(edpoint); //edpos.x++; - if(edpos.x > theObj->fTermColumns) + if (edpos.x > theObj->fTermColumns) edpos.x = theObj->fTermColumns; } // Scroll check - if(theObj->LockLooper()) { + if (theObj->LockLooper()) { // Get now scroll point theObj->fScrollBar->GetRange(&scr_start, &scr_end); scr_pos = theObj->fScrollBar->Value(); - if(edpoint.y < theObj->Bounds().LeftTop().y ) + if (edpoint.y < theObj->Bounds().LeftTop().y ) // mouse point left of window - if(scr_pos != scr_start) + if (scr_pos != scr_start) theObj->ScrollTo(0, edpoint.y); - if(edpoint.y > theObj->Bounds().LeftBottom().y) { + if (edpoint.y > theObj->Bounds().LeftBottom().y) { // mouse point left of window - if(scr_pos != scr_end) + if (scr_pos != scr_end) theObj->ScrollTo(0, edpoint.y); } theObj->UnlockLooper(); @@ -1128,10 +1129,7 @@ } -/*! Device Status. - Q & D hack by Y.Hayakawa(hida at sawada.riec.tohoku.ac.jp) - 21-JUL-99 -*/ +//! Device Status. void TermView::DeviceStatusReport(int n) { @@ -1320,7 +1318,7 @@ // send signal to shell process group. tcgetattr(gPfd, &tio); if (*bytes == tio.c_cc[VINTR]) { - if(tio.c_lflag & ISIG) + if (tio.c_lflag & ISIG) kill(-sh_pid, SIGINT); } @@ -1547,7 +1545,7 @@ // { // int32 op; // msg->FindInt32("be:opcode", &op); - // switch(op){ + // switch (op){ // case B_INPUT_METHOD_STARTED: //DoIMStart(msg); // break; @@ -1610,7 +1608,7 @@ // Deselecting the current selection is not the behavior that // R5's Terminal app displays. We want to mimic the behavior, so we will // no longer do the deselection -// if(!fMouseTracking) +// if (!fMouseTracking) // DeSelect(); } @@ -1651,7 +1649,7 @@ start.x = 0; end.x = fTermColumns -1; - if(start_pos > 0) + if (start_pos > 0) start.y = start_pos; else start.y = 0; @@ -1671,7 +1669,7 @@ fTop = 0; ScrollTo(0, 0); - if(LockLooper()) { + if (LockLooper()) { SetHighColor(fTextBackColor); FillRect(Bounds()); @@ -1701,7 +1699,7 @@ char *mp = metachar; for(int i = 0; i < 22; i++){ - if(*p == *mp++) { + if (*p == *mp++) { *q++ = '\\'; num_char++; break; @@ -1879,7 +1877,7 @@ if (clicks == 0) clicks = 3; - switch(clicks) { + switch (clicks) { case 1: fMouseTracking = true; send_data(fMouseThread, MOUSE_THR_CODE, (void *)&where, sizeof(BPoint)); @@ -1897,7 +1895,7 @@ } // Sub menu(coding popup menu) - if(buttons == mSubMenuButton){ + if (buttons == mSubMenuButton){ ConvertToScreen(&where); SetupPop(); fPopMenu->Go(where, true); @@ -1911,10 +1909,10 @@ void TermView::MouseMoved(BPoint where, uint32 transit, const BMessage *) { - if(fMouseImage && Window()->IsActive()) { - if(transit == B_ENTERED_VIEW) + if (fMouseImage && Window()->IsActive()) { + if (transit == B_ENTERED_VIEW) be_app->SetCursor(B_I_BEAM_CURSOR); - if(transit == B_EXITED_VIEW) + if (transit == B_EXITED_VIEW) be_app->SetCursor(B_HAND_CURSOR); } } @@ -1927,19 +1925,19 @@ uchar buf[4]; ushort attr; - if(start.x < 0) + if (start.x < 0) start.x = 0; - if(end.x >= fTermColumns) + if (end.x >= fTermColumns) end.x = fTermColumns - 1; - if(fTextBuffer->GetChar(start.y, start.x, buf, &attr) == IN_STRING) { + if (fTextBuffer->GetChar(start.y, start.x, buf, &attr) == IN_STRING) { start.x--; - if(start.x < 0) start.x = 0; + if (start.x < 0) start.x = 0; } - if(fTextBuffer->GetChar(end.y, end.x, buf, &attr) == IN_STRING) { + if (fTextBuffer->GetChar(end.y, end.x, buf, &attr) == IN_STRING) { end.x++; - if(end.x >= fTermColumns) end.x = fTermColumns; + if (end.x >= fTermColumns) end.x = fTermColumns; } fSelStart = start; @@ -1958,14 +1956,14 @@ ushort attr; CurPos start, end, inPos; - if(!fSelected) + if (!fSelected) return; // error check, and if mouse point to a plase full width character, // select point decliment. - if(pos.x >= fTermColumns) + if (pos.x >= fTermColumns) pos.x = fTermColumns - 1; - else if(pos.x < 0) + else if (pos.x < 0) pos.x = 0; if (pos.y < 0) @@ -1973,7 +1971,7 @@ if (fTextBuffer->GetChar(pos.y, pos.x, buf, &attr) == IN_STRING) { pos.x++; - if(pos.x >= fTermColumns) + if (pos.x >= fTermColumns) pos.x = fTermColumns - 1; } @@ -2052,10 +2050,10 @@ pos.x++; - if(pos == inPos) + if (pos == inPos) return; - if(pos.x >= fTermColumns) + if (pos.x >= fTermColumns) pos.x = fTermColumns - 1; } fSelEnd = pos; @@ -2305,18 +2303,16 @@ inline void TermView::SendDataToDrawEngine(int x1, int y1, int x2, int y2) { - // TODO: remove the goto - sem_info info; - retry: + for (;;) { + get_sem_info(fDrawRectSem, &info); - get_sem_info(fDrawRectSem, &info); - - if((RECT_BUF_SIZE - info.count) < 2) { - - snooze(10 * 1000); - goto retry; + if ((RECT_BUF_SIZE - info.count) < 2) { + snooze(10 * 1000); + continue; + } else + break; } fDrawRectBuffer[fDrawRect_p].x1 = x1; From jackburton at mail.berlios.de Tue Feb 20 15:22:38 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 15:22:38 +0100 Subject: [Haiku-commits] r20180 - haiku/trunk/src/preferences/time Message-ID: <200702201422.l1KEMcHG027959@sheep.berlios.de> Author: jackburton Date: 2007-02-20 15:22:38 +0100 (Tue, 20 Feb 2007) New Revision: 20180 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20180&view=rev Modified: haiku/trunk/src/preferences/time/BaseView.cpp haiku/trunk/src/preferences/time/BaseView.h Log: more cleanups Modified: haiku/trunk/src/preferences/time/BaseView.cpp =================================================================== --- haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 13:04:26 UTC (rev 20179) +++ haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 14:22:38 UTC (rev 20180) @@ -12,26 +12,20 @@ TTimeBaseView::TTimeBaseView(BRect frame, const char *name) - : BView(frame, name, B_FOLLOW_ALL_SIDES, B_PULSE_NEEDED) + : BView(frame, name, B_FOLLOW_ALL_SIDES, B_PULSE_NEEDED), + fMessage(NULL) { - InitView(); + fMessage = new BMessage(H_TIME_UPDATE); } TTimeBaseView::~TTimeBaseView() { + delete fMessage; } - void -TTimeBaseView::InitView() -{ - f_message = new BMessage(H_TIME_UPDATE); -} - - -void TTimeBaseView::Pulse() { if (IsWatched()) @@ -42,18 +36,21 @@ void TTimeBaseView::SetGMTime(bool gmt) { - f_gmtime = gmt; + fIsGMT = gmt; } void TTimeBaseView::DispatchMessage() { - time_t current = time(0); + if (fMessage == NULL) + return; + + time_t current = time(NULL); struct tm *ltime; - if (f_gmtime) + if (fIsGMT) ltime = gmtime(¤t); else ltime = localtime(¤t); @@ -65,15 +62,15 @@ int32 minute = ltime->tm_min; int32 second = ltime->tm_sec; - f_message->MakeEmpty(); - f_message->AddInt32("month", month); - f_message->AddInt32("day", day); - f_message->AddInt32("year", year); - f_message->AddInt32("hour", hour); - f_message->AddInt32("minute", minute); - f_message->AddInt32("second", second); + fMessage->MakeEmpty(); + fMessage->AddInt32("month", month); + fMessage->AddInt32("day", day); + fMessage->AddInt32("year", year); + fMessage->AddInt32("hour", hour); + fMessage->AddInt32("minute", minute); + fMessage->AddInt32("second", second); - SendNotices(H_TM_CHANGED, f_message); + SendNotices(H_TM_CHANGED, fMessage); } @@ -81,10 +78,10 @@ TTimeBaseView::ChangeTime(BMessage *message) { bool istime; - if (!(message->FindBool("time", &istime) == B_OK)) + if (message->FindBool("time", &istime) != B_OK) return; - time_t atime = time(0); + time_t atime = time(NULL); struct tm *_tm = localtime(&atime); int32 hour = 0; @@ -117,4 +114,3 @@ time_t atime2 = mktime(_tm); set_real_time_clock(atime2); } - Modified: haiku/trunk/src/preferences/time/BaseView.h =================================================================== --- haiku/trunk/src/preferences/time/BaseView.h 2007-02-20 13:04:26 UTC (rev 20179) +++ haiku/trunk/src/preferences/time/BaseView.h 2007-02-20 14:22:38 UTC (rev 20180) @@ -15,11 +15,10 @@ void ChangeTime(BMessage *); void SetGMTime(bool); protected: - virtual void InitView(); virtual void DispatchMessage(); private: - BMessage *f_message; - bool f_gmtime; + BMessage *fMessage; + bool fIsGMT; }; #endif //TIMEBASE_H From mmu_man at mail.berlios.de Tue Feb 20 15:27:49 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Tue, 20 Feb 2007 15:27:49 +0100 Subject: [Haiku-commits] r20181 - haiku/trunk/src/bin Message-ID: <200702201427.l1KERns2028340@sheep.berlios.de> Author: mmu_man Date: 2007-02-20 15:27:49 +0100 (Tue, 20 Feb 2007) New Revision: 20181 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20181&view=rev Modified: haiku/trunk/src/bin/urlwrapper.cpp Log: Some cleanups and fixes. Really use the Url class. Fix building under Haiku. Modified: haiku/trunk/src/bin/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper.cpp 2007-02-20 14:22:38 UTC (rev 20180) +++ haiku/trunk/src/bin/urlwrapper.cpp 2007-02-20 14:27:49 UTC (rev 20181) @@ -8,14 +8,17 @@ #include #include #include +#include #define HANDLE_FILE +//#define HANDLE_MID_CID // http://www.rfc-editor.org/rfc/rfc2392.txt query MAIL:cid #define HANDLE_SH #define HANDLE_BESHARE //#define HANDLE_IM #define HANDLE_VLC const char *kAppSig = "application/x-vnd.haiku.urlwrapper"; +const char *kTrackerSig = "application/x-vnd.Be-TRAK"; #ifdef __HAIKU__ const char *kTerminalSig = "application/x-vnd.Haiku-Terminal"; @@ -23,10 +26,6 @@ const char *kTerminalSig = "application/x-vnd.Be-SHEL"; #endif -#ifdef HANDLE_FILE -const char *kTrackerSig = "application/x-vnd.Be-TRAK"; -#endif - #ifdef HANDLE_BESHARE const char *kBeShareSig = "application/x-vnd.Sugoi-BeShare"; #endif @@ -53,12 +52,14 @@ bool HasPass() const { return pass.Length(); }; bool HasPath() const { return path.Length(); }; BString Proto() const { return BString(proto); }; +BString Full() const { return BString(full); }; // RFC1738's "sheme-part" BString Host() const { return BString(host); }; BString Port() const { return BString(port); }; BString User() const { return BString(user); }; BString Pass() const { return BString(pass); }; BString proto; +BString full; BString host; BString port; BString user; @@ -82,8 +83,6 @@ }; -// TODO: handle ":port" as well -// TODO: handle "/path" as well // proto:[//]user:pass at host:port/path status_t Url::ParseAndSplit() { @@ -98,6 +97,7 @@ CopyInto(left, v + 1, Length() - v); if (left.FindFirst("//") == 0) left.RemoveFirst("//"); + full = left; // path part // actually some apps handle file://[host]/path @@ -223,56 +223,40 @@ const char *pausec = "; read -p 'Press any key'"; char *args[] = { "/bin/sh", "-c", NULL, NULL}; - BString proto; - BString host; - BString port; - BString user; - BString pass; - BString path; - Url u(argv[1]); - BString rawurl(argv[1]); - BString url = rawurl; - if (url.FindFirst(":") < 0) { - fprintf(stderr, "malformed url: '%s'\n", url.String()); + BString url = u.Full(); + if (u.InitCheck() < 0) { + fprintf(stderr, "malformed url: '%s'\n", u.String()); return; } - url.MoveInto(proto, 0, url.FindFirst(":")); - url.Remove(0, 1); - if (url.FindFirst("//") == 0) - url.RemoveFirst("//"); - // pre-slice the url, but you're not forced to use the result. - // original still in rawurl. - SplitUrl(u.String(), host, port, user, pass, path); - // XXX: debug - printf("PROTO='%s'\n", proto.String()); - printf("HOST='%s'\n", host.String()); - printf("PORT='%s'\n", port.String()); - printf("USER='%s'\n", user.String()); - printf("PASS='%s'\n", pass.String()); - printf("PATH='%s'\n", path.String()); + PRINT(("PROTO='%s'\n", u.proto.String())); + PRINT(("HOST='%s'\n", u.host.String())); + PRINT(("PORT='%s'\n", u.port.String())); + PRINT(("USER='%s'\n", u.user.String())); + PRINT(("PASS='%s'\n", u.pass.String())); + PRINT(("PATH='%s'\n", u.path.String())); - if (proto == "telnet") { + if (u.proto == "telnet") { BString cmd("telnet "); - if (user.Length()) - cmd << "-l " << user << " "; - cmd << host; - printf("CMD='%s'\n", cmd.String()); + if (u.HasUser()) + cmd << "-l " << u.user << " "; + cmd << u.host; + PRINT(("CMD='%s'\n", cmd.String())); cmd << failc; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); return; } - if (proto == "ssh") { + if (u.proto == "ssh") { BString cmd("ssh "); - if (user.Length()) - cmd << "-l " << user << " "; - cmd << host; - printf("CMD='%s'\n", cmd.String()); + if (u.HasUser()) + cmd << "-l " << u.user << " "; + cmd << u.host; + PRINT(("CMD='%s'\n", cmd.String())); cmd << failc; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); @@ -280,7 +264,7 @@ return; } - if (proto == "ftp") { + if (u.proto == "ftp") { BString cmd("ftp "); /* @@ -288,8 +272,8 @@ cmd << "-l " << user << " "; cmd << host; */ - cmd << url; - printf("CMD='%s'\n", cmd.String()); + cmd << u.full; + PRINT(("CMD='%s'\n", cmd.String())); cmd << failc; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); @@ -297,16 +281,16 @@ return; } - if (proto == "sftp") { + if (u.proto == "sftp") { BString cmd("sftp "); - /* - if (user.Length()) - cmd << "-l " << user << " "; - cmd << host; - */ - cmd << url; - printf("CMD='%s'\n", cmd.String()); + //cmd << url; + if (u.HasUser()) + cmd << u.user << "@"; + cmd << u.host; + if (u.HasPath()) + cmd << ":" << u.path; + PRINT(("CMD='%s'\n", cmd.String())); cmd << failc; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); @@ -314,16 +298,15 @@ return; } - if (proto == "finger") { + if (u.proto == "finger") { BString cmd("finger "); - // TODO: SplitUrl thinks the user is host when it's not present... FIXME. - if (user.Length()) - cmd << user; - if (host.Length() == 0) - host = "127.0.0.1"; - cmd << "@" << host; - printf("CMD='%s'\n", cmd.String()); + if (u.HasUser()) + cmd << u.user; + if (u.HasHost() == 0) + u.host = "127.0.0.1"; + cmd << "@" << u.host; + PRINT(("CMD='%s'\n", cmd.String())); cmd << pausec; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); @@ -332,11 +315,11 @@ } #ifdef HANDLE_FILE - if (proto == "file") { + if (u.proto == "file") { BMessage m(B_REFS_RECEIVED); entry_ref ref; // UnurlString(path); - if (get_ref_for_path(path.String(), &ref) < B_OK) + if (get_ref_for_path(u.path.String(), &ref) < B_OK) return; m.AddRef("refs", &ref); be_roster->Launch(kTrackerSig, &m); @@ -345,11 +328,11 @@ #endif #ifdef HANDLE_SH - if (proto == "sh") { - BString cmd(url); - if (Warn(rawurl.String()) != B_OK) + if (u.proto == "sh") { + BString cmd(u.Full()); + if (Warn(u.String()) != B_OK) return; - printf("CMD='%s'\n", cmd.String()); + PRINT(("CMD='%s'\n", cmd.String())); cmd << pausec; args[2] = (char *)cmd.String(); be_roster->Launch(kTerminalSig, 3, args); @@ -359,26 +342,24 @@ #endif #ifdef HANDLE_BESHARE - if (proto == "beshare") { + if (u.proto == "beshare") { team_id team; BMessenger msgr(kBeShareSig); // if no instance is running, or we want a specific server, start it. - if (!msgr.IsValid() || host.Length()) { + if (!msgr.IsValid() || u.HasHost()) { be_roster->Launch(kBeShareSig, (BMessage *)NULL, &team); msgr = BMessenger(NULL, team); } - if (host.Length()) { + if (u.HasHost()) { BMessage mserver('serv'); - mserver.AddString("server", host); - //msgs.AddItem(&mserver); - msgr.SendMessage(mserver); + mserver.AddString("server", u.host); + msgr.SendMessage(&mserver); } - if (path.Length()) { + if (u.HasPath()) { BMessage mquery('quer'); - mquery.AddString("query", path); - //msgs.AddItem(&mquery); - msgr.SendMessage(mquery); + mquery.AddString("query", u.path); + msgr.SendMessage(&mquery); } // TODO: handle errors return; @@ -386,16 +367,15 @@ #endif #ifdef HANDLE_IM - if (proto == "icq" || proto == "msn") { + if (u.proto == "icq" || u.proto == "msn") { // TODO team_id team; be_roster->Launch(kIMSig, (BMessage *)NULL, &team); BMessenger msgr(NULL, team); - if (host.Length()) { + if (u.HasHost()) { BMessage mserver(B_REFS_RECEIVED); - mserver.AddString("server", host); - //msgs.AddItem(&mserver); - msgr.SendMessage(mserver); + mserver.AddString("server", u.host); + msgr.SendMessage(&httpmserver); } // TODO: handle errors @@ -404,9 +384,9 @@ #endif #ifdef HANDLE_VLC - if (proto == "mms" || proto == "rtp" || proto == "rtsp") { + if (u.proto == "mms" || u.proto == "rtp" || u.proto == "rtsp") { args[0] = "vlc"; - args[1] = (char *)rawurl.String(); + args[1] = (char *)u.String(); be_roster->Launch(kVLCSig, 2, args); return; } @@ -417,8 +397,8 @@ // // svn: ? // cvs: ? - // smb: ? - // nfs: ? + // smb: cifsmount ? + // nfs: mount_nfs ? } From jackburton at mail.berlios.de Tue Feb 20 15:50:40 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 15:50:40 +0100 Subject: [Haiku-commits] r20182 - haiku/trunk/src/preferences/time Message-ID: <200702201450.l1KEoeaH030006@sheep.berlios.de> Author: jackburton Date: 2007-02-20 15:50:40 +0100 (Tue, 20 Feb 2007) New Revision: 20182 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20182&view=rev Removed: haiku/trunk/src/preferences/time/hierarchy Modified: haiku/trunk/src/preferences/time/BaseView.cpp haiku/trunk/src/preferences/time/BaseView.h haiku/trunk/src/preferences/time/TimeWindow.cpp haiku/trunk/src/preferences/time/TimeWindow.h haiku/trunk/src/preferences/time/ZoneView.cpp haiku/trunk/src/preferences/time/ZoneView.h Log: even more style changes Modified: haiku/trunk/src/preferences/time/BaseView.cpp =================================================================== --- haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/BaseView.cpp 2007-02-20 14:50:40 UTC (rev 20182) @@ -5,7 +5,6 @@ #include #include -#include #include "BaseView.h" #include "TimeMessages.h" @@ -34,6 +33,13 @@ void +TTimeBaseView::AttachedToWindow() +{ + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); +} + + +void TTimeBaseView::SetGMTime(bool gmt) { fIsGMT = gmt; Modified: haiku/trunk/src/preferences/time/BaseView.h =================================================================== --- haiku/trunk/src/preferences/time/BaseView.h 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/BaseView.h 2007-02-20 14:50:40 UTC (rev 20182) @@ -11,7 +11,8 @@ virtual ~TTimeBaseView(); virtual void Pulse(); - + virtual void AttachedToWindow(); + void ChangeTime(BMessage *); void SetGMTime(bool); protected: Modified: haiku/trunk/src/preferences/time/TimeWindow.cpp =================================================================== --- haiku/trunk/src/preferences/time/TimeWindow.cpp 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/TimeWindow.cpp 2007-02-20 14:50:40 UTC (rev 20182) @@ -8,25 +8,28 @@ #include #include #include + #include #include "BaseView.h" +#include "SettingsView.h" #include "Time.h" #include "TimeMessages.h" #include "TimeWindow.h" +#include "TimeSettings.h" +#include "ZoneView.h" #define TIME_WINDOW_RIGHT 361 //332 #define TIME_WINDOW_BOTTOM 227 //208 TTimeWindow::TTimeWindow() - : BWindow(BRect(0,0,TIME_WINDOW_RIGHT,TIME_WINDOW_BOTTOM), + : BWindow(BRect(0, 0, TIME_WINDOW_RIGHT, TIME_WINDOW_BOTTOM), "Time & Date", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE ) { - BScreen screen; - MoveTo(dynamic_cast(be_app)->WindowCorner()); + BScreen screen; // Code to make sure that the window doesn't get drawn off screen... if (!(screen.Frame().right >= Frame().right && screen.Frame().bottom >= Frame().bottom)) MoveTo((screen.Frame().right-Bounds().right)*.5,(screen.Frame().bottom-Bounds().bottom)*.5); @@ -36,11 +39,6 @@ } -TTimeWindow::~TTimeWindow() -{ -} - - void TTimeWindow::MessageReceived(BMessage *message) { @@ -49,12 +47,12 @@ { bool istime; if (message->FindBool("time", &istime) == B_OK) - f_BaseView->ChangeTime(message); + fBaseView->ChangeTime(message); break; } case H_RTC_CHANGE: - f_BaseView->SetGMTime(f_TimeSettings->GMTime()); + fBaseView->SetGMTime(fTimeSettings->GMTime()); break; default: @@ -69,12 +67,12 @@ { dynamic_cast(be_app)->SetWindowCorner(BPoint(Frame().left,Frame().top)); - f_BaseView->StopWatchingAll(f_TimeSettings); - f_BaseView->StopWatchingAll(f_TimeZones); + fBaseView->StopWatchingAll(fTimeSettings); + fBaseView->StopWatchingAll(fTimeZones); be_app->PostMessage(B_QUIT_REQUESTED); - return(true); + return BWindow::QuitRequested(); } @@ -84,9 +82,8 @@ { BRect bounds(Bounds()); - f_BaseView = new TTimeBaseView(bounds, "background view"); - f_BaseView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - AddChild(f_BaseView); + fBaseView = new TTimeBaseView(bounds, "background view"); + AddChild(fBaseView); bounds.top = 9; BTabView *tabview = new BTabView(bounds, "tab_view"); @@ -95,24 +92,22 @@ bounds.InsetBy(4, 6); bounds.bottom -= tabview->TabHeight(); - f_TimeSettings = new TSettingsView(bounds); - if (f_BaseView->StartWatchingAll(f_TimeSettings) != B_OK) + fTimeSettings = new TSettingsView(bounds); + if (fBaseView->StartWatchingAll(fTimeSettings) != B_OK) printf("StartWatchingAll(TimeSettings) failed!!!\n"); - f_TimeZones = new TZoneView(bounds); - if (f_BaseView->StartWatchingAll(f_TimeZones) != B_OK) - printf("TimeZones->StartWatchingAll(TimeZone) failed!!!\n"); + fTimeZones = new TZoneView(bounds); + if (fBaseView->StartWatchingAll(fTimeZones) != B_OK) + printf("TimeZones->StartWatchingAll(TimeZone) failed!!!\n"); + // add tabs - BTab *tab; - tab = new BTab(); - tabview->AddTab(f_TimeSettings, tab); + BTab *tab = new BTab(); + tabview->AddTab(fTimeSettings, tab); tab->SetLabel("Settings"); tab = new BTab(); - tabview->AddTab(f_TimeZones, tab); + tabview->AddTab(fTimeZones, tab); tab->SetLabel("Time Zone"); - f_BaseView->AddChild(tabview); - f_BaseView->Pulse(); - + fBaseView->AddChild(tabview); } Modified: haiku/trunk/src/preferences/time/TimeWindow.h =================================================================== --- haiku/trunk/src/preferences/time/TimeWindow.h 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/TimeWindow.h 2007-02-20 14:50:40 UTC (rev 20182) @@ -3,24 +3,21 @@ #include -#include "BaseView.h" -#include "SettingsView.h" -#include "TimeSettings.h" -#include "ZoneView.h" - +class TSettingsView; +class TTimeBaseView; +class TZoneView; class TTimeWindow : public BWindow { public: TTimeWindow(); - ~TTimeWindow(); bool QuitRequested(); - void MessageReceived(BMessage *message); + virtual void MessageReceived(BMessage *message); private: void InitWindow(); - TTimeBaseView *f_BaseView; - TSettingsView *f_TimeSettings; - TZoneView *f_TimeZones; + TTimeBaseView *fBaseView; + TSettingsView *fTimeSettings; + TZoneView *fTimeZones; }; #endif Modified: haiku/trunk/src/preferences/time/ZoneView.cpp =================================================================== --- haiku/trunk/src/preferences/time/ZoneView.cpp 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/ZoneView.cpp 2007-02-20 14:50:40 UTC (rev 20182) @@ -89,8 +89,8 @@ if (Parent()) SetViewColor(Parent()->ViewColor()); - if (f_first) // stupid hack - { + if (f_first) { + // stupid hack f_regionpopup->SetTargetForItems(this); f_setzone->SetTarget(this); f_citylist->SetTarget(this); Modified: haiku/trunk/src/preferences/time/ZoneView.h =================================================================== --- haiku/trunk/src/preferences/time/ZoneView.h 2007-02-20 14:27:49 UTC (rev 20181) +++ haiku/trunk/src/preferences/time/ZoneView.h 2007-02-20 14:50:40 UTC (rev 20182) @@ -29,7 +29,7 @@ -class TZoneView: public BView{ +class TZoneView: public BView { public: TZoneView(BRect frame); virtual ~TZoneView(); Deleted: haiku/trunk/src/preferences/time/hierarchy From jackburton at mail.berlios.de Tue Feb 20 17:25:15 2007 From: jackburton at mail.berlios.de (jackburton at BerliOS) Date: Tue, 20 Feb 2007 17:25:15 +0100 Subject: [Haiku-commits] r20183 - haiku/trunk/src/kits/app Message-ID: <200702201625.l1KGPFZw004242@sheep.berlios.de> Author: jackburton Date: 2007-02-20 17:25:15 +0100 (Tue, 20 Feb 2007) New Revision: 20183 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20183&view=rev Modified: haiku/trunk/src/kits/app/Handler.cpp Log: erase() shrinks the vector, so we decrement the handler. Fixes the crash in case there are invalid handlers (Time application, for example). Should be fixed in the other _SendNotices() call too ? Modified: haiku/trunk/src/kits/app/Handler.cpp =================================================================== --- haiku/trunk/src/kits/app/Handler.cpp 2007-02-20 14:50:40 UTC (rev 20182) +++ haiku/trunk/src/kits/app/Handler.cpp 2007-02-20 16:25:15 UTC (rev 20183) @@ -688,6 +688,7 @@ continue; handlers.erase(iterator); + iterator--; Add(target, what); } } From bonefish at mail.berlios.de Tue Feb 20 18:28:40 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 20 Feb 2007 18:28:40 +0100 Subject: [Haiku-commits] r20184 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server Message-ID: <200702201728.l1KHSeXU008604@sheep.berlios.de> Author: bonefish Date: 2007-02-20 18:28:40 +0100 (Tue, 20 Feb 2007) New Revision: 20184 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20184&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp Log: If a mount request failed (e.g. due to failed authentication) the respective not-yet-mounted ClientVolume was not removed, which could cause query requests to crash the server. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp 2007-02-20 16:25:15 UTC (rev 20183) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp 2007-02-20 17:28:40 UTC (rev 20184) @@ -601,6 +601,13 @@ reply.sharePermissions = sharePermissions.GetPermissions(); reply.volumeID = volume->GetID(); } + + // make sure, the volume is removed on error + if (result != B_OK && volume) { + AutoLocker volumeMapLocker(fVolumes); + volume->MarkRemoved(); + } + securityContextLocker.Unlock(); managerLocker.Unlock(); From korli at mail.berlios.de Tue Feb 20 19:53:19 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Tue, 20 Feb 2007 19:53:19 +0100 Subject: [Haiku-commits] r20185 - haiku/trunk/build/jam Message-ID: <200702201853.l1KIrJNh024436@sheep.berlios.de> Author: korli Date: 2007-02-20 19:53:19 +0100 (Tue, 20 Feb 2007) New Revision: 20185 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20185&view=rev Modified: haiku/trunk/build/jam/FileRules Log: changed the lang to C as suggested by mmu_man Modified: haiku/trunk/build/jam/FileRules =================================================================== --- haiku/trunk/build/jam/FileRules 2007-02-20 17:28:40 UTC (rev 20184) +++ haiku/trunk/build/jam/FileRules 2007-02-20 18:53:19 UTC (rev 20185) @@ -244,7 +244,7 @@ actions CopySetHaikuRevision1 { $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) - revision=`(LANG=EN_en svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | + revision=`(LANG=C svn info $(HAIKU_TOP) 2> /dev/null || echo Revision: 0) | grep Revision | awk '{printf $2}'` $(2[1]) --data $(2[3]) $(1) && $(2[2]) $(1) ${revision} From korli at mail.berlios.de Tue Feb 20 21:27:24 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Tue, 20 Feb 2007 21:27:24 +0100 Subject: [Haiku-commits] r20186 - haiku/trunk/src/system/kernel Message-ID: <200702202027.l1KKRONm031285@sheep.berlios.de> Author: korli Date: 2007-02-20 21:27:23 +0100 (Tue, 20 Feb 2007) New Revision: 20186 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20186&view=rev Modified: haiku/trunk/src/system/kernel/team.c Log: fix change in revision 20162, the path was left out Modified: haiku/trunk/src/system/kernel/team.c =================================================================== --- haiku/trunk/src/system/kernel/team.c 2007-02-20 18:53:19 UTC (rev 20185) +++ haiku/trunk/src/system/kernel/team.c 2007-02-20 20:27:23 UTC (rev 20186) @@ -778,6 +778,7 @@ // add args to info member team->args[0] = 0; + strlcpy(team->args, path, sizeof(team->args)); for (i = 1; i < argCount; i++) { strlcat(team->args, " ", sizeof(team->args)); strlcat(team->args, teamArgs->args[i], sizeof(team->args)); From bonefish at mail.berlios.de Tue Feb 20 22:30:27 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Tue, 20 Feb 2007 22:30:27 +0100 Subject: [Haiku-commits] r20187 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702202130.l1KLURlp002689@sheep.berlios.de> Author: bonefish Date: 2007-02-20 22:30:27 +0100 (Tue, 20 Feb 2007) New Revision: 20187 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20187&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Stack.h Log: Aligned Query.h/cpp with the BFS (Haiku) versions r20186. Updated Stack.h to . Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-20 20:27:23 UTC (rev 20186) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-20 21:30:27 UTC (rev 20187) @@ -1,27 +1,23 @@ /* Query - query parsing and evaluation -** -** Initial version by Axel D?rfler, axeld at pinc-software.de -** The pattern matching is roughly based on code originally written -** by J. Kercheval, and on code written by Kenneth Almquist, though -** it shares no code. -** -** This file may be used under the terms of the OpenBeOS License. -*/ + * + * The pattern matching is roughly based on code originally written + * by J. Kercheval, and on code written by Kenneth Almquist, though + * it shares no code. + * + * Copyright 2001-2006, Axel D?rfler, axeld at pinc-software.de. + * This file may be used under the terms of the MIT License. + */ // Adjusted by Ingo Weinhold for usage in RAM FS. #include "Query.h" -//#include "bfs.h" #include "Debug.h" #include "Directory.h" #include "Entry.h" #include "Misc.h" #include "Node.h" -#include "Stack.h" #include "Volume.h" -//#include "Inode.h" -//#include "BPlusTree.h" #include "Index.h" #include @@ -34,12 +30,6 @@ #include - - - - - - // IndexWrapper // constructor @@ -1196,15 +1186,7 @@ // TODO: Check the buffer size. strncpy(dirent->d_name, entry->GetName(), B_FILE_NAME_LENGTH); dirent->d_name[B_FILE_NAME_LENGTH - 1] = '\0'; - -#ifdef KEEP_WRONG_DIRENT_RECLEN - // ToDo: The available file systems in BeOS apparently don't set the - // correct d_reclen - we are copying that behaviour if requested, but - // if it doesn't break compatibility, we will remove it. - dirent->d_reclen = strlen(dirent->d_name); -#else dirent->d_reclen = sizeof(struct dirent) + strlen(dirent->d_name); -#endif } if (status == MATCH_OK) @@ -1559,6 +1541,33 @@ fExpression->Root()->CalculateScore(fIndex); fIndex.Unset(); + Rewind(); + + if (fFlags & B_LIVE_QUERY) + volume->AddQuery(this); +} + + +Query::~Query() +{ + if (fFlags & B_LIVE_QUERY) + fVolume->RemoveQuery(this); +} + + +status_t +Query::Rewind() +{ + // free previous stuff + + fStack.MakeEmpty(); + + delete fIterator; + fIterator = NULL; + fCurrent = NULL; + + // put the whole expression on the stack + Stack stack; stack.Push(fExpression->Root()); @@ -1581,18 +1590,10 @@ FATAL(("Unknown term on stack or stack error")); } - if (fFlags & B_LIVE_QUERY) - volume->AddQuery(this); + return B_OK; } -Query::~Query() -{ - if (fFlags & B_LIVE_QUERY) - fVolume->RemoveQuery(this); -} - - status_t Query::GetNextEntry(struct dirent *dirent, size_t size) { @@ -1648,6 +1649,7 @@ status_t oldStatus = fExpression->Root()->Match(entry, attribute, type, oldKey, oldLength); status_t newStatus = fExpression->Root()->Match(entry, attribute, type, newKey, newLength); + int32 op; if (oldStatus == MATCH_OK && newStatus == MATCH_OK) { // only send out a notification if the name was changed Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h 2007-02-20 20:27:23 UTC (rev 20186) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h 2007-02-20 21:30:27 UTC (rev 20187) @@ -1,20 +1,19 @@ +/* Query - query parsing and evaluation + * + * Copyright 2001-2004, Axel D?rfler, axeld at pinc-software.de. + * This file may be used under the terms of the MIT License. + * + * Adjusted by Ingo Weinhold for usage in RAM FS. + */ #ifndef QUERY_H #define QUERY_H -/* Query - query parsing and evaluation -** -** Initial version by Axel D?rfler, axeld at pinc-software.de -** This file may be used under the terms of the OpenBeOS License. -*/ -// Adjusted by Ingo Weinhold for usage in RAM FS. - #include #include #include "Index.h" #include "Stack.h" -//#include "Chain.h" #include "ramfs.h" class Entry; @@ -25,9 +24,6 @@ class Volume; - - - #define B_QUERY_NON_INDEXED 0x00000002 @@ -69,11 +65,6 @@ }; - - - - - class Expression { public: Expression(char *expr); @@ -104,10 +95,12 @@ Query(Volume *volume, Expression *expression, uint32 flags); ~Query(); - status_t GetNextEntry(struct dirent *,size_t size); + status_t Rewind(); + status_t GetNextEntry(struct dirent *, size_t size); - void SetLiveMode(port_id port,int32 token); - void LiveUpdate(Entry *entry,const char *attribute,int32 type,const uint8 *oldKey,size_t oldLength,const uint8 *newKey,size_t newLength); + void SetLiveMode(port_id port, int32 token); + void LiveUpdate(Entry *entry, const char *attribute, int32 type, + const uint8 *oldKey, size_t oldLength, const uint8 *newKey, size_t newLength); Expression *GetExpression() const { return fExpression; } @@ -122,10 +115,6 @@ uint32 fFlags; port_id fPort; int32 fToken; - - private: -// friend Chain; -// Query *fNext; }; #endif /* QUERY_H */ Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Stack.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Stack.h 2007-02-20 20:27:23 UTC (rev 20186) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Stack.h 2007-02-20 21:30:27 UTC (rev 20187) @@ -1,10 +1,10 @@ -#ifndef STACK_H -#define STACK_H -/* Stack - a template stack class -** -** Copyright 2001 pinc Software. All Rights Reserved. -** This file may be used under the terms of the OpenBeOS License. -*/ +/* Stack - a template stack class (plus some handy methods) + * + * Copyright 2001-2005, Axel D?rfler, axeld at pinc-software.de. + * This file may be used under the terms of the MIT License. + */ +#ifndef KERNEL_UTIL_STACK_H +#define KERNEL_UTIL_STACK_H #include @@ -19,18 +19,28 @@ fMax(0) { } - + ~Stack() { - if (fArray) - free(fArray); + free(fArray); } - + + bool IsEmpty() const + { + return fUsed == 0; + } + + void MakeEmpty() + { + // could also free the memory + fUsed = 0; + } + status_t Push(T value) { if (fUsed >= fMax) { fMax += 16; - T *newArray = (T *)realloc(fArray,fMax * sizeof(T)); + T *newArray = (T *)realloc(fArray, fMax * sizeof(T)); if (newArray == NULL) return B_NO_MEMORY; @@ -39,7 +49,7 @@ fArray[fUsed++] = value; return B_OK; } - + bool Pop(T *value) { if (fUsed == 0) @@ -48,11 +58,21 @@ *value = fArray[--fUsed]; return true; } - + + T *Array() + { + return fArray; + } + + int32 CountItems() const + { + return fUsed; + } + private: T *fArray; int32 fUsed; int32 fMax; }; -#endif /* STACK_H */ +#endif /* KERNEL_UTIL_STACK_H */ From axeld at mail.berlios.de Wed Feb 21 08:57:22 2007 From: axeld at mail.berlios.de (axeld at BerliOS) Date: Wed, 21 Feb 2007 08:57:22 +0100 Subject: [Haiku-commits] r20188 - in haiku/trunk: headers/os/interface headers/private/app headers/private/interface src/kits/app src/kits/interface src/servers/app Message-ID: <200702210757.l1L7vMJR028412@sheep.berlios.de> Author: axeld Date: 2007-02-21 08:57:21 +0100 (Wed, 21 Feb 2007) New Revision: 20188 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20188&view=rev Added: haiku/trunk/headers/private/interface/DraggerPrivate.h Modified: haiku/trunk/headers/os/interface/Dragger.h haiku/trunk/headers/private/app/ServerProtocol.h haiku/trunk/src/kits/app/Application.cpp haiku/trunk/src/kits/interface/Dragger.cpp haiku/trunk/src/servers/app/DesktopSettings.cpp haiku/trunk/src/servers/app/DesktopSettings.h haiku/trunk/src/servers/app/DesktopSettingsPrivate.h haiku/trunk/src/servers/app/ServerApp.cpp Log: * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server. This fixes bug #242. The value is currently stored in a separate file. * Removed some unused codes from ServerProtocol.h. Modified: haiku/trunk/headers/os/interface/Dragger.h =================================================================== --- haiku/trunk/headers/os/interface/Dragger.h 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/headers/os/interface/Dragger.h 2007-02-21 07:57:21 UTC (rev 20188) @@ -67,18 +67,23 @@ virtual BBitmap* DragBitmap(BPoint* offset, drawing_mode *mode); + class Private; + protected: bool IsVisibilityChanging() const; private: friend class BPrivate::ShelfContainerViewFilter; friend class BPrivate::replicant_data; + friend class Private; friend class BShelf; virtual void _ReservedDragger2(); virtual void _ReservedDragger3(); virtual void _ReservedDragger4(); + static void _UpdateShowAllDraggers(bool visible); + BDragger& operator=(const BDragger& other); void _AddToList(); Modified: haiku/trunk/headers/private/app/ServerProtocol.h =================================================================== --- haiku/trunk/headers/private/app/ServerProtocol.h 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/headers/private/app/ServerProtocol.h 2007-02-21 07:57:21 UTC (rev 20188) @@ -17,9 +17,9 @@ // Server port names. The input port is the port which is used to receive // input messages from the Input Server. The other is the "main" port for // the server and is utilized mostly by BApplication objects. -#define SERVER_PORT_NAME "OBappserver" +#define SERVER_PORT_NAME "haiku app_server" #if TEST_MODE -# define SERVER_INPUT_PORT "OBinputport" +# define SERVER_INPUT_PORT "haiku input port" #endif #define AS_REQUEST_COLOR_KEY 0x00010000 @@ -29,8 +29,10 @@ // NOTE: all defines have to start with "AS_" to let the "code_to_name" // utility work correctly - AS_REGISTER_INPUT_SERVER = 1, AS_GET_DESKTOP, + AS_REGISTER_INPUT_SERVER = 1, + AS_EVENT_STREAM_CLOSED, + // Notification of event stream closing to restart input_server // Desktop definitions (through the ServerApp, though) AS_GET_WINDOW_LIST, @@ -93,7 +95,6 @@ AS_SET_SIZE_LIMITS, AS_ACTIVATE_WINDOW, AS_IS_FRONT_WINDOW, - AS_UPDATE_IF_NEEDED, // BPicture definitions AS_CREATE_PICTURE, @@ -176,14 +177,13 @@ AS_GET_MENU_INFO, AS_SET_MENU_INFO, AS_IDLE_TIME, - AS_SELECT_PRINTER_PANEL, - AS_ADD_PRINTER_PANEL, - AS_RUN_BE_ABOUT, AS_SET_MOUSE_MODE, AS_GET_MOUSE_MODE, AS_GET_MOUSE, AS_SET_DECORATOR_SETTINGS, AS_GET_DECORATOR_SETTINGS, + AS_GET_SHOW_ALL_DRAGGERS, + AS_SET_SHOW_ALL_DRAGGERS, // Graphics calls AS_SET_HIGH_COLOR, @@ -289,9 +289,6 @@ AS_DIRECT_WINDOW_GET_SYNC_DATA, AS_DIRECT_WINDOW_SET_FULLSCREEN, - // Notification of event stream closing to restart input_server - AS_EVENT_STREAM_CLOSED, - AS_LAST_CODE }; Added: haiku/trunk/headers/private/interface/DraggerPrivate.h =================================================================== --- haiku/trunk/headers/private/interface/DraggerPrivate.h 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/headers/private/interface/DraggerPrivate.h 2007-02-21 07:57:21 UTC (rev 20188) @@ -0,0 +1,23 @@ +/* + * Copyright 2007, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _DRAGGER_PRIVATE_H +#define _DRAGGER_PRIVATE_H + + +#include + + +class BDragger::Private { + public: + Private(BDragger* dragger) : fDragger(dragger) {} + + static void UpdateShowAllDraggers(bool visible) + { BDragger::_UpdateShowAllDraggers(visible); } + + private: + BDragger* fDragger; +}; + +#endif // _DRAGGER_PRIVATE_H Modified: haiku/trunk/src/kits/app/Application.cpp =================================================================== --- haiku/trunk/src/kits/app/Application.cpp 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/kits/app/Application.cpp 2007-02-21 07:57:21 UTC (rev 20188) @@ -9,16 +9,20 @@ */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include -#include #include #include #include @@ -30,20 +34,16 @@ #include #include #include -#include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace BPrivate; -// Globals --------------------------------------------------------------------- BApplication *be_app = NULL; BMessenger be_app_messenger; @@ -953,12 +953,14 @@ case _SHOW_DRAG_HANDLES_: { - bool visible = false; - message->FindBool("visible", &visible); - // TODO: Call the registrar or whoever is responsible for this + bool show; + if (message->FindBool("show", &show) != B_OK) + break; + + BDragger::Private::UpdateShowAllDraggers(show); break; } - + // TODO: Handle these as well case _DISPOSE_DRAG_: case _PING_: Modified: haiku/trunk/src/kits/interface/Dragger.cpp =================================================================== --- haiku/trunk/src/kits/interface/Dragger.cpp 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/kits/interface/Dragger.cpp 2007-02-21 07:57:21 UTC (rev 20188) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006, Haiku. + * Copyright 2001-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -8,6 +8,9 @@ //! BDragger represents a replicant "handle". + +#include +#include #include #include @@ -46,14 +49,14 @@ BDragger::BDragger(BRect bounds, BView *target, uint32 rmask, uint32 flags) - : BView(bounds, "_dragger_", rmask, flags), - fTarget(target), - fRelation(TARGET_UNKNOWN), - fShelf(NULL), - fTransition(false), - fIsZombie(false), - fErrCount(0), - fPopUp(NULL) + : BView(bounds, "_dragger_", rmask, flags), + fTarget(target), + fRelation(TARGET_UNKNOWN), + fShelf(NULL), + fTransition(false), + fIsZombie(false), + fErrCount(0), + fPopUp(NULL) { fBitmap = new BBitmap(BRect(0.0f, 0.0f, 7.0f, 7.0f), B_CMAP8, false, false); fBitmap->SetBits(kHandBitmap, fBitmap->BitsLength(), 0, B_CMAP8); @@ -61,14 +64,14 @@ BDragger::BDragger(BMessage *data) - : BView(data), - fTarget(NULL), - fRelation(TARGET_UNKNOWN), - fShelf(NULL), - fTransition(false), - fIsZombie(false), - fErrCount(0), - fPopUp(NULL) + : BView(data), + fTarget(NULL), + fRelation(TARGET_UNKNOWN), + fShelf(NULL), + fTransition(false), + fIsZombie(false), + fErrCount(0), + fPopUp(NULL) { data->FindInt32("_rel", (int32 *)&fRelation); @@ -270,8 +273,8 @@ "Can't delete this replicant from its original application. Life goes on.", "OK", NULL, NULL, B_WIDTH_FROM_WIDEST, B_WARNING_ALERT))->Go(NULL); } - } else if (msg->what == B_SCREEN_CHANGED) { - // TODO: this code is to be called whenever the "are draggers drawn" option is changed + } else if (msg->what == _SHOW_DRAG_HANDLES_) { + // this code is used whenever the "are draggers drawn" option is changed if (fRelation == TARGET_IS_CHILD) { fTransition = true; Invalidate(); @@ -306,16 +309,34 @@ status_t BDragger::ShowAllDraggers() { - // TODO: Implement. Should ask the registrar or the app server - return B_OK; + BPrivate::AppServerLink link; + link.StartMessage(AS_SET_SHOW_ALL_DRAGGERS); + link.Attach(true); + + status_t status = link.Flush(); + if (status == B_OK) { + sVisible = true; + sVisibleInitialized = true; + } + + return status; } status_t BDragger::HideAllDraggers() { - // TODO: Implement. Should ask the registrar or the app server - return B_OK; + BPrivate::AppServerLink link; + link.StartMessage(AS_SET_SHOW_ALL_DRAGGERS); + link.Attach(false); + + status_t status = link.Flush(); + if (status == B_OK) { + sVisible = false; + sVisibleInitialized = true; + } + + return status; } @@ -325,10 +346,17 @@ BAutolock _(sLock); if (!sVisibleInitialized) { - // TODO: Implement. Should ask the registrar or the app server - sVisible = true; - sVisibleInitialized = true; + BPrivate::AppServerLink link; + link.StartMessage(AS_GET_SHOW_ALL_DRAGGERS); + + status_t status; + if (link.FlushWithReply(status) == B_OK && status == B_OK) { + link.Read(&sVisible); + sVisibleInitialized = true; + } else + return false; } + return sVisible; } @@ -451,6 +479,22 @@ } +/*static*/ void +BDragger::_UpdateShowAllDraggers(bool visible) +{ + BAutolock _(sLock); + + sVisibleInitialized = true; + sVisible = visible; + + for (int32 i = sList.CountItems(); i-- > 0;) { + BDragger* dragger = (BDragger*)sList.ItemAt(i); + BMessenger target(dragger); + target.SendMessage(_SHOW_DRAG_HANDLES_); + } +} + + void BDragger::_AddToList() { @@ -482,8 +526,6 @@ status_t BDragger::_DetermineRelationship() { - status_t err = B_OK; - if (fTarget) { if (fTarget == Parent()) fRelation = TARGET_IS_PARENT; @@ -497,10 +539,10 @@ else if (fRelation == TARGET_IS_CHILD) fTarget = ChildAt(0); else - err = B_ERROR; + return B_ERROR; } - return err; + return B_OK; } Modified: haiku/trunk/src/servers/app/DesktopSettings.cpp =================================================================== --- haiku/trunk/src/servers/app/DesktopSettings.cpp 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/servers/app/DesktopSettings.cpp 2007-02-21 07:57:21 UTC (rev 20188) @@ -1,5 +1,5 @@ /* - * Copyright 2005-2006, Haiku. + * Copyright 2005-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -46,12 +46,13 @@ fFixedFont = *gFontManager->DefaultFixedFont(); fMouseMode = B_NORMAL_MOUSE; + fShowAllDraggers = true; // init scrollbar info fScrollBarInfo.proportional = true; fScrollBarInfo.double_arrows = false; - // look of the knob (R5: (0, 1, 2), 1 = default) fScrollBarInfo.knob = 1; + // look of the knob (R5: (0, 1, 2), 1 = default) fScrollBarInfo.min_knob_size = 15; // init menu info @@ -60,9 +61,8 @@ fMenuInfo.font_size = fPlainFont.Size(); fMenuInfo.background_color.set_to(216, 216, 216); - // look of the separator (R5: (0, 1, 2), default 0) - // TODO: we could just choose a nice one and remove the others fMenuInfo.separator = 0; + // look of the separator (R5: (0, 1, 2), default 0) fMenuInfo.click_to_open = true; // always true fMenuInfo.triggers_always_shown = false; @@ -288,6 +288,20 @@ } } + if (mask & kDraggerSettings) { + BPath path(basePath); + if (path.Append("dragger") == B_OK) { + BMessage settings('asdg'); + settings.AddBool("show", fShowAllDraggers); + + BFile file; + status = file.SetTo(path.Path(), B_CREATE_FILE | B_ERASE_FILE | B_READ_WRITE); + if (status == B_OK) { + status = settings.Flatten(&file, NULL); + } + } + } + if (mask & kAppearanceSettings) { BPath path(basePath); if (path.Append("appearance") == B_OK) { @@ -411,6 +425,21 @@ void +DesktopSettingsPrivate::SetShowAllDraggers(bool show) +{ + fShowAllDraggers = show; + Save(kDraggerSettings); +} + + +bool +DesktopSettingsPrivate::ShowAllDraggers() const +{ + return fShowAllDraggers; +} + + +void DesktopSettingsPrivate::SetWorkspacesCount(int32 number) { if (number < 1) @@ -513,6 +542,13 @@ } +bool +DesktopSettings::ShowAllDraggers() const +{ + return fSettings->ShowAllDraggers(); +} + + int32 DesktopSettings::WorkspacesCount() const { @@ -531,12 +567,10 @@ LockedDesktopSettings::LockedDesktopSettings(Desktop* desktop) - : - fSettings(desktop->fSettings), + : DesktopSettings(desktop), fDesktop(desktop) { - // TODO: this only works in MultiLocker's DEBUG mode -#if 0 +#if DEBUG if (desktop->fWindowLock.IsReadLocked()) debugger("desktop read locked when trying to change settings"); #endif @@ -593,3 +627,9 @@ } +void +LockedDesktopSettings::SetShowAllDraggers(bool show) +{ + fSettings->SetShowAllDraggers(show); +} + Modified: haiku/trunk/src/servers/app/DesktopSettings.h =================================================================== --- haiku/trunk/src/servers/app/DesktopSettings.h 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/servers/app/DesktopSettings.h 2007-02-21 07:57:21 UTC (rev 20188) @@ -1,5 +1,5 @@ /* - * Copyright 2001-2005, Haiku. + * Copyright 2001-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -26,6 +26,7 @@ kFontSettings = 0x02, kAppearanceSettings = 0x04, kMouseSettings = 0x08, + kDraggerSettings = 0x10, }; class DesktopSettings { @@ -44,16 +45,16 @@ mode_mouse MouseMode() const; bool FocusFollowsMouse() const; + bool ShowAllDraggers() const; + int32 WorkspacesCount() const; const BMessage* WorkspacesMessage(int32 index) const; - private: -// friend class Desktop; - + protected: DesktopSettingsPrivate* fSettings; }; -class LockedDesktopSettings { +class LockedDesktopSettings : public DesktopSettings { public: LockedDesktopSettings(Desktop* desktop); ~LockedDesktopSettings(); @@ -67,10 +68,9 @@ void SetMouseMode(mode_mouse mode); + void SetShowAllDraggers(bool show); + private: -// friend class Desktop; - - DesktopSettingsPrivate* fSettings; Desktop* fDesktop; }; Modified: haiku/trunk/src/servers/app/DesktopSettingsPrivate.h =================================================================== --- haiku/trunk/src/servers/app/DesktopSettingsPrivate.h 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/servers/app/DesktopSettingsPrivate.h 2007-02-21 07:57:21 UTC (rev 20188) @@ -1,5 +1,5 @@ /* - * Copyright 2005-2006, Haiku. + * Copyright 2005-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -43,6 +43,9 @@ mode_mouse MouseMode() const; bool FocusFollowsMouse() const; + void SetShowAllDraggers(bool show); + bool ShowAllDraggers() const; + void SetWorkspacesCount(int32 number); int32 WorkspacesCount() const; @@ -61,6 +64,7 @@ scroll_bar_info fScrollBarInfo; menu_info fMenuInfo; mode_mouse fMouseMode; + bool fShowAllDraggers; int32 fWorkspacesCount; BMessage fWorkspaceMessages[kMaxWorkspaces]; Modified: haiku/trunk/src/servers/app/ServerApp.cpp =================================================================== --- haiku/trunk/src/servers/app/ServerApp.cpp 2007-02-20 21:30:27 UTC (rev 20187) +++ haiku/trunk/src/servers/app/ServerApp.cpp 2007-02-21 07:57:21 UTC (rev 20188) @@ -77,6 +77,7 @@ using std::nothrow; +static const uint32 kMsgUpdateShowAllDraggers = '_adg'; static const uint32 kMsgAppQuit = 'appQ'; @@ -1022,7 +1023,7 @@ case AS_GET_MOUSE_MODE: { STRACE(("ServerApp %s: Get Focus Follows Mouse mode\n", Signature())); - + if (fDesktop->LockSingleWindow()) { DesktopSettings settings(fDesktop); @@ -1037,6 +1038,58 @@ break; } + case AS_GET_SHOW_ALL_DRAGGERS: + { + STRACE(("ServerApp %s: Get Show All Draggers\n", Signature())); + + if (fDesktop->LockSingleWindow()) { + DesktopSettings settings(fDesktop); + + fLink.StartMessage(B_OK); + fLink.Attach(settings.ShowAllDraggers()); + + fDesktop->UnlockSingleWindow(); + } else + fLink.StartMessage(B_ERROR); + + fLink.Flush(); + break; + } + + case AS_SET_SHOW_ALL_DRAGGERS: + { + STRACE(("ServerApp %s: Set Show All Draggers\n", Signature())); + + bool changed = false; + bool show; + if (link.Read(&show) == B_OK) { + LockedDesktopSettings settings(fDesktop); + if (show != settings.ShowAllDraggers()) { + settings.SetShowAllDraggers(show); + changed = true; + } + } + + if (changed) + fDesktop->BroadcastToAllApps(kMsgUpdateShowAllDraggers); + break; + } + + case kMsgUpdateShowAllDraggers: + { + bool show = false; + if (fDesktop->LockSingleWindow()) { + DesktopSettings settings(fDesktop); + show = settings.ShowAllDraggers(); + fDesktop->UnlockSingleWindow(); + } + BMessage update(_SHOW_DRAG_HANDLES_); + update.AddBool("show", show); + + SendMessageToClient(&update); + break; + } + /* font messages */ case AS_SET_SYSTEM_FONT: From bonefish at mail.berlios.de Wed Feb 21 15:08:09 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Wed, 21 Feb 2007 15:08:09 +0100 Subject: [Haiku-commits] r20189 - haiku/trunk Message-ID: <200702211408.l1LE895g031231@sheep.berlios.de> Author: bonefish Date: 2007-02-21 15:08:08 +0100 (Wed, 21 Feb 2007) New Revision: 20189 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20189&view=rev Modified: haiku/trunk/configure Log: Since configuring an unsuitable cross-compiler has become a FAQ lately, we do now check whether the target the compiler has been configured for looks compatible. Modified: haiku/trunk/configure =================================================================== --- haiku/trunk/configure 2007-02-21 07:57:21 UTC (rev 20188) +++ haiku/trunk/configure 2007-02-21 14:08:08 UTC (rev 20189) @@ -299,6 +299,17 @@ # prepare gcc settings standard_gcc_settings +# check whether the Haiku compiler really targets Haiku or BeOS +case "$haikuGCCMachine" in + *-*-haiku) ;; + *-*-beos) ;; + *) echo The compiler specified as Haiku target compiler is not a valid \ + Haiku cross-compiler. Please see ReadMe.cross-compile. >&2 + echo compiler: $HAIKU_CC + echo compiler is configured for target: $haikuGCCMachine + exit 1 ;; +esac + # Generate BuildConfig cat << EOF > "$buildOutputDir/BuildConfig" # BuildConfig From umccullough at gmail.com Wed Feb 21 18:44:50 2007 From: umccullough at gmail.com (Urias McCullough) Date: Wed, 21 Feb 2007 09:44:50 -0800 Subject: [Haiku-commits] r20189 - haiku/trunk In-Reply-To: <200702211408.l1LE895g031231@sheep.berlios.de> References: <200702211408.l1LE895g031231@sheep.berlios.de> Message-ID: <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> On 2/21/07, bonefish at BerliOS wrote: > > Author: bonefish > Date: 2007-02-21 15:08:08 +0100 (Wed, 21 Feb 2007) > New Revision: 20189 > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20189&view=rev > > Modified: > haiku/trunk/configure > Log: > Since configuring an unsuitable cross-compiler has become a FAQ lately, > we do now check whether the target the compiler has been configured for > looks compatible. > Ah, very nice :D Would it be possible to also warn the user when attempting to re-run configure on a non-beos host where the cross-compiler has already been built that it may produce a BuildConfig that is unsuitable? I've had a lot of people in #haiku say that they run "./configure --target=haiku" after building the cross compiler because they read it somewhere -------------- next part -------------- An HTML attachment was scrubbed... URL: From korli at mail.berlios.de Wed Feb 21 21:16:45 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Wed, 21 Feb 2007 21:16:45 +0100 Subject: [Haiku-commits] r20190 - haiku/trunk/src/bin/zic Message-ID: <200702212016.l1LKGj9a024376@sheep.berlios.de> Author: korli Date: 2007-02-21 21:16:44 +0100 (Wed, 21 Feb 2007) New Revision: 20190 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20190&view=rev Modified: haiku/trunk/src/bin/zic/zic.c Log: this fix provided in tzcode2007a is wrong, as noticed by BGA symlinks are now correct on BeOS Modified: haiku/trunk/src/bin/zic/zic.c =================================================================== --- haiku/trunk/src/bin/zic/zic.c 2007-02-21 14:08:08 UTC (rev 20189) +++ haiku/trunk/src/bin/zic/zic.c 2007-02-21 20:16:44 UTC (rev 20190) @@ -675,7 +675,7 @@ "../"); symlinkcontents = ecatalloc(symlinkcontents, - fromname); + fromfile); result = symlink(symlinkcontents, toname); // if (result == 0) From zooey at mail.berlios.de Wed Feb 21 22:11:50 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Wed, 21 Feb 2007 22:11:50 +0100 Subject: [Haiku-commits] r20191 - buildtools/trunk/legacy/binutils/ld/po Message-ID: <200702212111.l1LLBoEx029370@sheep.berlios.de> Author: zooey Date: 2007-02-21 22:11:47 +0100 (Wed, 21 Feb 2007) New Revision: 20191 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20191&view=rev Added: buildtools/trunk/legacy/binutils/ld/po/vi.gmo buildtools/trunk/legacy/binutils/ld/po/vi.po buildtools/trunk/legacy/binutils/ld/po/zh_CN.gmo buildtools/trunk/legacy/binutils/ld/po/zh_CN.po Modified: buildtools/trunk/legacy/binutils/ld/po/Make-in buildtools/trunk/legacy/binutils/ld/po/POTFILES.in buildtools/trunk/legacy/binutils/ld/po/da.gmo buildtools/trunk/legacy/binutils/ld/po/da.po buildtools/trunk/legacy/binutils/ld/po/es.gmo buildtools/trunk/legacy/binutils/ld/po/es.po buildtools/trunk/legacy/binutils/ld/po/fr.gmo buildtools/trunk/legacy/binutils/ld/po/fr.po buildtools/trunk/legacy/binutils/ld/po/ld.pot buildtools/trunk/legacy/binutils/ld/po/sv.gmo buildtools/trunk/legacy/binutils/ld/po/sv.po buildtools/trunk/legacy/binutils/ld/po/tr.gmo buildtools/trunk/legacy/binutils/ld/po/tr.po Log: * updated binutils to 2.17, most problems should be solved now... except one: the binaries produced by this version of binutils crashes the loader of BeOS versions BONE, Dano (and probably Zeta, too). That's a pity, but I currently do not know how to fix this (as the fix available for older versions of binutils does not work anymore). Modified: buildtools/trunk/legacy/binutils/ld/po/Make-in =================================================================== --- buildtools/trunk/legacy/binutils/ld/po/Make-in 2007-02-21 20:16:44 UTC (rev 20190) +++ buildtools/trunk/legacy/binutils/ld/po/Make-in 2007-02-21 21:11:47 UTC (rev 20191) @@ -1,7 +1,8 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# Copyright 2003, 2006 Free Software Foundation, Inc. # -# This file file be copied and used freely without restrictions. It can +# This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # Please note that the actual code is *not* freely available. @@ -109,6 +110,7 @@ install: install-exec install-data install-exec: install-info: +install-html: install-data: install-data- at USE_NLS@ install-data-no: all install-data-yes: all @@ -184,7 +186,7 @@ cat-id-tbl.o: ../intl/libgettext.h -dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp Property changes on: buildtools/trunk/legacy/binutils/ld/po/Make-in ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/ld/po/POTFILES.in =================================================================== --- buildtools/trunk/legacy/binutils/ld/po/POTFILES.in 2007-02-21 20:16:44 UTC (rev 20190) +++ buildtools/trunk/legacy/binutils/ld/po/POTFILES.in 2007-02-21 21:11:47 UTC (rev 20191) @@ -1,4 +1,5 @@ deffile.h +elf-hints-local.h emultempl/armcoff.em emultempl/pe.em ldcref.c Property changes on: buildtools/trunk/legacy/binutils/ld/po/POTFILES.in ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/ld/po/da.gmo =================================================================== (Binary files differ) Property changes on: buildtools/trunk/legacy/binutils/ld/po/da.gmo ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Name: svn:mime-type + application/octet-stream Property changes on: buildtools/trunk/legacy/binutils/ld/po/da.po ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/ld/po/es.gmo =================================================================== --- buildtools/trunk/legacy/binutils/ld/po/es.gmo 2007-02-21 20:16:44 UTC (rev 20190) +++ buildtools/trunk/legacy/binutils/ld/po/es.gmo 2007-02-21 21:11:47 UTC (rev 20191) @@ -1,19 +1,17 @@ -?? -# -6 - -O -T - -p -u - -? -? - - - - +?? + +U +Y + + + +? + +? + + + + Allocating common symbols Cross Reference Table @@ -57,6 +55,8 @@ + + greater than 2 gigabytes @@ -73,48 +73,46 @@ - + - - + - - - - + + + + - + - - + - - + + + + - - @@ -129,26 +127,29 @@ - + + - + + + - + @@ -156,24 +157,24 @@ + - + + - - @@ -182,15 +183,13 @@ - + - - - + @@ -199,7 +198,6 @@ - @@ -210,16 +208,24 @@ - + + + + + + + + + @@ -239,6 +245,7 @@ + @@ -251,40 +258,43 @@ - - + - - - + + + + in following dynamic libs - - - default 5) words of a page - + + ignore-all, report-all, ignore-in-object-files, + ignore-in-shared-libs + + the command line - - + + + + following dynamic libs SYMBOL as the version. the GNU General Public License. This program has absolutely no warranty. - + - + - - - -POT-Creation-Date: 2003-07-11 13:58+0930 -PO-Revision-Date: 2003-07-14 18:48-0500 + + +Report-Msgid-Bugs-To: +POT-Creation-Date: 2006-03-25 18:36+0100 +PO-Revision-Date: 2006-05-26 16:31-0500 Last-Translator: Cristian Oth?n Mart?nez Vera Language-Team: Spanish MIME-Version: 1.0 @@ -308,12 +318,12 @@ cerar adem?s __imp_. - + de ejecuci?n para DATOS autoimportados. - + biblioteca de importaci?n, usar .dll en lugar de lib.dll @@ -334,6 +344,8 @@ + + virtuales mayores a 2 gigabytes @@ -350,48 +362,46 @@ - + - - + - - - - + + + + - + - - + - - + + + + - - @@ -406,26 +416,29 @@ - + + - + + + - + @@ -433,24 +446,24 @@ + - + + - - @@ -459,15 +472,13 @@ - + - - - + @@ -476,7 +487,6 @@ - @@ -485,22 +495,30 @@ - + - + + + + + + + + + - + @@ -516,6 +534,7 @@ + @@ -524,40 +543,42 @@ - + - - + - + - - - + + + + las bibliotecas din?micas a continuaci?n - - - 5 por omisi?n) palabras de una p?gina - + + ignore-all, report-all, ignore-in-object-files, + ignore-in-shared-libs + + especificados en la l?nea de comandos - - + + + + las bibliotecas din?micas a continuaci?n el S?MBOLO como la versi?n. la Licencia P?blica General de GNU. Este programa no tiene absolutamente ninguna garant?a. - + - + - - - \ No newline at end of file + + \ No newline at end of file Property changes on: buildtools/trunk/legacy/binutils/ld/po/es.gmo ___________________________________________________________________ Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/ld/po/es.po =================================================================== --- buildtools/trunk/legacy/binutils/ld/po/es.po 2007-02-21 20:16:44 UTC (rev 20190) +++ buildtools/trunk/legacy/binutils/ld/po/es.po 2007-02-21 21:11:47 UTC (rev 20191) @@ -1,12 +1,13 @@ -# Mensajes en espa?ol para ld 2.14rel030712. -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. -# Cristian Oth?n Mart?nez Vera , 2002, 2003. +# Mensajes en espa?ol para ld 2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Oth?n Mart?nez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: ld 2.14rel030712\n" -"POT-Creation-Date: 2003-07-11 13:58+0930\n" -"PO-Revision-Date: 2003-07-14 18:48-0500\n" +"Project-Id-Version: ld 2.16.93\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-03-25 18:36+0100\n" +"PO-Revision-Date: 2006-05-26 16:31-0500\n" "Last-Translator: Cristian Oth?n Mart?nez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -14,10 +15,12 @@ "Content-Transfer-Encoding: 8bit\n" #: emultempl/armcoff.em:72 +#, c-format msgid " --support-old-code Support interworking with old code\n" msgstr " --support-old-code Soporte para interoperar con c?digo antiguo\n" #: emultempl/armcoff.em:73 +#, c-format msgid " --thumb-entry= Set the entry point to be Thumb symbol \n" msgstr " --thumb-entry= Establece el punto de entrada para el s?mbolo Thumb \n" @@ -26,122 +29,149 @@ msgid "Errors encountered processing file %s" msgstr "Errores encontrados al procesar el fichero %s" -#: emultempl/armcoff.em:188 emultempl/pe.em:1396 +#: emultempl/armcoff.em:190 emultempl/pe.em:1460 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" msgstr "%P: aviso: '--thumb-entry %s' se impone a '-e %s'\n" -#: emultempl/armcoff.em:193 emultempl/pe.em:1401 +#: emultempl/armcoff.em:195 emultempl/pe.em:1465 msgid "%P: warning: connot find thumb start symbol %s\n" msgstr "%P: aviso: no se puede encontrar el s?mbolo de inicio thumb %s\n" -#: emultempl/pe.em:300 +#: emultempl/pe.em:304 +#, c-format msgid " --base_file Generate a base file for relocatable DLLs\n" msgstr " --base_file Genera un fichero base para DLLs reubicables\n" # DLL son las siglas en ingl?s de `Biblioteca de Enlace Din?mico'. # El problema es que las siglas en espa?ol (BED) no est?n muy extendidas. # Se dej? `DLL' sin traducir en todas las ocasiones. cfuga -#: emultempl/pe.em:301 +#: emultempl/pe.em:305 +#, c-format msgid " --dll Set image base to the default for DLLs\n" -msgstr " --dll Establece la imagen base por omisi?n para las DLLs\n" +msgstr " --dll Establece la imagen base por defecto para las DLLs\n" -#: emultempl/pe.em:302 +#: emultempl/pe.em:306 +#, c-format msgid " --file-alignment Set file alignment\n" msgstr " --file-alignment Establece el fichero de alineaci?n\n" -#: emultempl/pe.em:303 +#: emultempl/pe.em:307 +#, c-format msgid " --heap Set initial size of the heap\n" msgstr " --heap Establece el tama?o inicial del mont?n\n" -#: emultempl/pe.em:304 +#: emultempl/pe.em:308 +#, c-format msgid " --image-base
Set start address of the executable\n" msgstr " --image-base Establece la direcci?n de inicio del ejecutable\n" -#: emultempl/pe.em:305 +#: emultempl/pe.em:309 +#, c-format msgid " --major-image-version Set version number of the executable\n" msgstr " --major-image-version Establece el n?mero de versi?n del ejecutable\n" -#: emultempl/pe.em:306 +#: emultempl/pe.em:310 +#, c-format msgid " --major-os-version Set minimum required OS version\n" msgstr " --major-os-version Establece la versi?n m?nima requerida del SO\n" -#: emultempl/pe.em:307 +#: emultempl/pe.em:311 +#, c-format msgid " --major-subsystem-version Set minimum required OS subsystem version\n" msgstr " --major-subsystem-version Establece la versi?n m?nima requerida del subsistema del SO\n" -#: emultempl/pe.em:308 +#: emultempl/pe.em:312 +#, c-format msgid " --minor-image-version Set revision number of the executable\n" msgstr " --minor-image-version Establece el n?mero de revisi?n del ejecutable\n" -#: emultempl/pe.em:309 +#: emultempl/pe.em:313 +#, c-format msgid " --minor-os-version Set minimum required OS revision\n" msgstr " --minor-os-version Establece la revisi?n m?nima requerida del SO\n" -#: emultempl/pe.em:310 +#: emultempl/pe.em:314 +#, c-format msgid " --minor-subsystem-version Set minimum required OS subsystem revision\n" msgstr " --minor-subsystem-version Establece la revisi?n m?nima requerida del subsistema del SO\n" -#: emultempl/pe.em:311 +#: emultempl/pe.em:315 +#, c-format msgid " --section-alignment Set section alignment\n" msgstr " --section-alignment Establece la alineaci?n de la secci?n\n" -#: emultempl/pe.em:312 +#: emultempl/pe.em:316 +#, c-format msgid " --stack Set size of the initial stack\n" msgstr " --stack Establece el tama?o de la pila inicial\n" -#: emultempl/pe.em:313 +#: emultempl/pe.em:317 +#, c-format msgid " --subsystem [:] Set required OS subsystem [& version]\n" msgstr " --subsystem [:] Establece el subsistema [y versi?n] requeridos del SO\n" -#: emultempl/pe.em:314 +#: emultempl/pe.em:318 +#, c-format msgid " --support-old-code Support interworking with old code\n" msgstr " --support-old-code Soporte para interoperar con c?digo antiguo\n" -#: emultempl/pe.em:315 +#: emultempl/pe.em:319 +#, c-format msgid " --thumb-entry= Set the entry point to be Thumb \n" msgstr " --thumb-entry= Establece el punto de entrada para el s?mbolo Thumb \n" -#: emultempl/pe.em:317 +#: emultempl/pe.em:321 +#, c-format msgid " --add-stdcall-alias Export symbols with and without @nn\n" msgstr " --add-stdcall-alias Exportar s?mbolos con y sin @nn\n" -#: emultempl/pe.em:318 +#: emultempl/pe.em:322 +#, c-format msgid " --disable-stdcall-fixup Don't link _sym to _sym at nn\n" msgstr " --disable-stdcall-fixup No enlazar _sym con _sym at nn\n" -#: emultempl/pe.em:319 +#: emultempl/pe.em:323 +#, c-format msgid " --enable-stdcall-fixup Link _sym to _sym at nn without warnings\n" msgstr " --enable-stdcall-fixup Enlazar _sym con _sym at nn sin avisos\n" -#: emultempl/pe.em:320 +#: emultempl/pe.em:324 +#, c-format msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" msgstr " --exclude-symbols sim,sim,... Excluye los s?mbolos de la exportaci?n autom?tica\n" -#: emultempl/pe.em:321 +#: emultempl/pe.em:325 +#, c-format msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" msgstr " --exclude-libs bib,bib,... Excluye las bibliotecas de la exportaci?n autom?tica\n" -#: emultempl/pe.em:322 +#: emultempl/pe.em:326 +#, c-format msgid " --export-all-symbols Automatically export all globals to DLL\n" msgstr " --export-all-symbols Exporta autom?ticamente todos los globales a la DLL\n" -#: emultempl/pe.em:323 +#: emultempl/pe.em:327 +#, c-format msgid " --kill-at Remove @nn from exported symbols\n" msgstr " --kill-at Elimina @nn de los s?mbolos exportados\n" -#: emultempl/pe.em:324 +#: emultempl/pe.em:328 +#, c-format msgid " --out-implib Generate import library\n" msgstr " --out-implib Generar una biblioteca de importaci?n\n" -#: emultempl/pe.em:325 +#: emultempl/pe.em:329 +#, c-format msgid " --output-def Generate a .DEF file for the built DLL\n" msgstr " --output-def Generar un fichero .DEF para la DLL construida\n" -#: emultempl/pe.em:326 +#: emultempl/pe.em:330 +#, c-format msgid " --warn-duplicate-exports Warn about duplicate exports.\n" msgstr " --warn-duplicate-exports Avisar sobre exportaciones duplicadas.\n" -#: emultempl/pe.em:327 +#: emultempl/pe.em:331 +#, c-format msgid "" " --compat-implib Create backward compatible import libs;\n" " create __imp_ as well.\n" @@ -149,7 +179,8 @@ " --compat-implib Crear bibliotecas de importaci?n compatibles hacia atr?s;\n" " cerar adem?s __imp_.\n" -#: emultempl/pe.em:329 +#: emultempl/pe.em:333 +#, c-format msgid "" " --enable-auto-image-base Automatically choose image base for DLLs\n" " unless user specifies one\n" @@ -157,11 +188,13 @@ " --enable-auto-image-base Escoger autom?ticamente la imagen base para las DLLs\n" " a menos que el usuario especifique una\n" -#: emultempl/pe.em:331 +#: emultempl/pe.em:335 +#, c-format msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" -msgstr " --disable-auto-image-base No escoger autom?ticamente una imagen base. (por omisi?n)\n" +msgstr " --disable-auto-image-base No escoger autom?ticamente una imagen base. (por defecto)\n" -#: emultempl/pe.em:332 +#: emultempl/pe.em:336 +#, c-format msgid "" " --dll-search-prefix= When linking dynamically to a dll without\n" " an importlib, use .dll\n" @@ -171,7 +204,8 @@ " biblioteca de importaci?n, usar .dll \n" " en lugar de lib.dll \n" -#: emultempl/pe.em:335 +#: emultempl/pe.em:339 +#, c-format msgid "" " --enable-auto-import Do sophistcated linking of _sym to\n" " __imp_sym for DATA references\n" @@ -179,11 +213,13 @@ " --enable-auto-import Hacer enlazado sofisticado de _sym a\n" " __imp_sym para las referencias DATA\n" -#: emultempl/pe.em:337 +#: emultempl/pe.em:341 +#, c-format msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" msgstr " --disable-auto-import No importar autom?ticamente elementos DATA de las DLLs\n" -#: emultempl/pe.em:338 +#: emultempl/pe.em:342 +#, c-format msgid "" " --enable-runtime-pseudo-reloc Work around auto-import limitations by\n" " adding pseudo-relocations resolved at\n" @@ -193,7 +229,8 @@ " agregando pseudo-reubicaciones resueltas\n" " al momento de ejecuci?n.\n" -#: emultempl/pe.em:341 +#: emultempl/pe.em:345 +#, c-format msgid "" " --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n" " auto-imported DATA.\n" @@ -201,7 +238,8 @@ " --disable-runtime-pseudo-reloc No agregar pseudo-reubicaciones al momento\n" " de ejecuci?n para DATOS autoimportados.\n" -#: emultempl/pe.em:343 +#: emultempl/pe.em:347 +#, c-format msgid "" " --enable-extra-pe-debug Enable verbose debug output when building\n" " or linking to DLLs (esp. auto-import)\n" @@ -209,7 +247,16 @@ " --enable-extra-pe-debug Activa la salida de depuraci?n detallada al construir\n" " o enlazar a DLLs (en part. con auto-importaci?n)\n" -#: emultempl/pe.em:412 +#: emultempl/pe.em:350 +#, c-format +msgid "" +" --large-address-aware Executable supports virtual addresses\n" +" greater than 2 gigabytes\n" +msgstr "" +" --large-address-aware El ejecutable tiene soporte para direcciones\n" +" virtuales mayores a 2 gigabytes\n" + +#: emultempl/pe.em:417 msgid "%P: warning: bad version number in -subsystem option\n" msgstr "%P: aviso: n?mero de versi?n err?neo en la opci?n -subsystem\n" @@ -217,74 +264,75 @@ msgid "%P%F: invalid subsystem type %s\n" msgstr "%P%F: tipo de subsistema %s inv?lido\n" -#: emultempl/pe.em:460 +#: emultempl/pe.em:487 msgid "%P%F: invalid hex number for PE parameter '%s'\n" msgstr "%P%F: n?mero hexadecimal inv?lido para el par?metro PE '%s'\n" -#: emultempl/pe.em:477 +#: emultempl/pe.em:504 msgid "%P%F: strange hex info for PE parameter '%s'\n" msgstr "%P%F: informaci?n hexadecimal extra?a para el par?metro PE '%s'\n" -#: emultempl/pe.em:494 +#: emultempl/pe.em:521 #, c-format msgid "%s: Can't open base file %s\n" msgstr "%s: No se puede abrir el fichero base %s\n" -#: emultempl/pe.em:707 +#: emultempl/pe.em:737 msgid "%P: warning, file alignment > section alignment.\n" msgstr "%P: aviso, alineaci?n del fichero > alineaci?n de la secci?n.\n" -#: emultempl/pe.em:794 emultempl/pe.em:821 +#: emultempl/pe.em:824 emultempl/pe.em:851 #, c-format msgid "Warning: resolving %s by linking to %s\n" msgstr "Aviso: resolviendo %s al enlazar con %s\n" -#: emultempl/pe.em:799 emultempl/pe.em:826 +#: emultempl/pe.em:829 emultempl/pe.em:856 msgid "Use --enable-stdcall-fixup to disable these warnings\n" msgstr "Use --enable-stdcall-fixup para desactivar estos avisos\n" [... truncated: 9386 lines follow ...] From zooey at mail.berlios.de Wed Feb 21 22:34:18 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Wed, 21 Feb 2007 22:34:18 +0100 Subject: [Haiku-commits] r20192 - in buildtools/trunk/legacy/binutils: . bfd bfd/doc bfd/hosts bfd/po binutils binutils/doc binutils/po binutils/testsuite binutils/testsuite/binutils-all binutils/testsuite/binutils-all/hppa binutils/testsuite/binutils-all/windres binutils/testsuite/config binutils/testsuite/lib config cpu etc gas gas/config gas/doc gas/po gas/testsuite gas/testsuite/config gas/testsuite/gas gas/testsuite/gas/all gas/testsuite/gas/alpha gas/testsuite/gas/arc gas/testsuite/gas/arm gas/testsuite/gas/cfi gas/testsuite/gas/cris gas/testsuite/gas/d10v gas/testsuite/gas/d30v gas/testsuite/gas/dlx gas/testsuite/gas/elf gas/testsuite/gas/fr30 gas/testsuite/gas/frv gas/testsuite/gas/h8300 gas/testsuite/gas/hppa gas/testsuite/gas/hppa/basic gas/testsuite/gas/hppa/parse gas/testsuite/gas/hppa/reloc gas/testsuite/gas/hppa/unsorted gas/testsuite/gas/i386 gas/testsuite/gas/i860 gas/testsuite/gas/ia64 gas/testsuite/gas/ieee-fp gas/testsuite/gas/iq2000 gas/testsuite/gas/m32r gas/testsuite/g! as/m68hc11 gas/testsuite/gas/m68k gas/testsuite/gas/m68k-coff gas/testsuite/gas/macros gas/testsuite/gas/mcore gas/testsuite/gas/mips gas/testsuite/gas/mmix gas/testsuite/gas/mn10200 gas/testsuite/gas/mn10300 gas/testsuite/gas/mri gas/testsuite/gas/msp430 gas/testsuite/gas/openrisc gas/testsuite/gas/pdp11 gas/testsuite/gas/pj gas/testsuite/gas/ppc gas/testsuite/gas/s390 gas/testsuite/gas/sh gas/testsuite/gas/sh/sh64 gas/testsuite/gas/sparc gas/testsuite/gas/sparc-solaris gas/testsuite/gas/sun4 gas/testsuite/gas/symver gas/testsuite/gas/tic4x gas/testsuite/gas/tic54x gas/testsuite/gas/v850 gas/testsuite/gas/vax gas/testsuite/gas/xstormy16 gas/testsuite/gas/xtensa gas/testsuite/gas/z8k gas/testsuite/lib gprof gprof/po include include/aout include/coff include/elf include/gdb include/nlm include/opcode intl ld ld/emulparams ld/emultempl ld/scripttempl ld/testsuite ld/testsuite/config ld/testsuite/ld-alpha ld/testsuite/ld-arm ld/testsuite/ld-auto-import ld/testsuite/ld-bootstra! p ld/testsuite/ld-cdtest ld/testsuite/ld-checks ld/testsuite/l! d-cris l Message-ID: <200702212134.l1LLYIUI000387@sheep.berlios.de> Author: zooey Date: 2007-02-21 22:17:52 +0100 (Wed, 21 Feb 2007) New Revision: 20192 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20192&view=rev Added: buildtools/trunk/legacy/binutils/bfd/ChangeLog-2004 buildtools/trunk/legacy/binutils/bfd/ChangeLog-2005 buildtools/trunk/legacy/binutils/bfd/bfd.m4 buildtools/trunk/legacy/binutils/bfd/coff-maxq.c buildtools/trunk/legacy/binutils/bfd/coff-z80.c buildtools/trunk/legacy/binutils/bfd/cpu-bfin.c buildtools/trunk/legacy/binutils/bfd/cpu-cr16c.c buildtools/trunk/legacy/binutils/bfd/cpu-crx.c buildtools/trunk/legacy/binutils/bfd/cpu-m32c.c buildtools/trunk/legacy/binutils/bfd/cpu-maxq.c buildtools/trunk/legacy/binutils/bfd/cpu-mt.c buildtools/trunk/legacy/binutils/bfd/cpu-xc16x.c buildtools/trunk/legacy/binutils/bfd/cpu-z80.c buildtools/trunk/legacy/binutils/bfd/elf-vxworks.c buildtools/trunk/legacy/binutils/bfd/elf-vxworks.h buildtools/trunk/legacy/binutils/bfd/elf32-arm.c buildtools/trunk/legacy/binutils/bfd/elf32-bfin.c buildtools/trunk/legacy/binutils/bfd/elf32-cr16c.c buildtools/trunk/legacy/binutils/bfd/elf32-crx.c buildtools/trunk/legacy/binutils/bfd/elf32-m32c.c buildtools/trunk/legacy/binutils/bfd/elf32-mt.c buildtools/trunk/legacy/binutils/bfd/elf32-sh-symbian.c buildtools/trunk/legacy/binutils/bfd/elf32-xc16x.c buildtools/trunk/legacy/binutils/bfd/elfxx-sparc.c buildtools/trunk/legacy/binutils/bfd/elfxx-sparc.h buildtools/trunk/legacy/binutils/bfd/hosts/vaxlinux.h buildtools/trunk/legacy/binutils/bfd/m88kopenbsd.c buildtools/trunk/legacy/binutils/bfd/po/rw.gmo buildtools/trunk/legacy/binutils/bfd/po/rw.po buildtools/trunk/legacy/binutils/bfd/po/vi.gmo buildtools/trunk/legacy/binutils/bfd/po/vi.po buildtools/trunk/legacy/binutils/bfd/warning.m4 buildtools/trunk/legacy/binutils/binutils/BRANCHES buildtools/trunk/legacy/binutils/binutils/ChangeLog-2004 buildtools/trunk/legacy/binutils/binutils/ChangeLog-2005 buildtools/trunk/legacy/binutils/binutils/doc/config.texi buildtools/trunk/legacy/binutils/binutils/dwarf.c buildtools/trunk/legacy/binutils/binutils/dwarf.h buildtools/trunk/legacy/binutils/binutils/po/fi.gmo buildtools/trunk/legacy/binutils/binutils/po/fi.po buildtools/trunk/legacy/binutils/binutils/po/ro.gmo buildtools/trunk/legacy/binutils/binutils/po/ro.po buildtools/trunk/legacy/binutils/binutils/po/rw.gmo buildtools/trunk/legacy/binutils/binutils/po/rw.po buildtools/trunk/legacy/binutils/binutils/po/vi.gmo buildtools/trunk/legacy/binutils/binutils/po/vi.po buildtools/trunk/legacy/binutils/binutils/po/zh_TW.gmo buildtools/trunk/legacy/binutils/binutils/po/zh_TW.po buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/alias.def buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/group.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/link-order.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/m68k/ buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/unknown.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/vax/ buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapex-2.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapex-2.rsd buildtools/trunk/legacy/binutils/config/codeset.m4 buildtools/trunk/legacy/binutils/config/depstand.m4 buildtools/trunk/legacy/binutils/config/enable.m4 buildtools/trunk/legacy/binutils/config/gettext-sister.m4 buildtools/trunk/legacy/binutils/config/glibc21.m4 buildtools/trunk/legacy/binutils/config/gxx-include-dir.m4 buildtools/trunk/legacy/binutils/config/iconv.m4 buildtools/trunk/legacy/binutils/config/intdiv0.m4 buildtools/trunk/legacy/binutils/config/inttypes-pri.m4 buildtools/trunk/legacy/binutils/config/inttypes.m4 buildtools/trunk/legacy/binutils/config/inttypes_h.m4 buildtools/trunk/legacy/binutils/config/lcmessage.m4 buildtools/trunk/legacy/binutils/config/lead-dot.m4 buildtools/trunk/legacy/binutils/config/lib-ld.m4 buildtools/trunk/legacy/binutils/config/lib-link.m4 buildtools/trunk/legacy/binutils/config/lib-prefix.m4 buildtools/trunk/legacy/binutils/config/mh-ppc-aix buildtools/trunk/legacy/binutils/config/mh-ppc-darwin buildtools/trunk/legacy/binutils/config/mh-x86omitfp buildtools/trunk/legacy/binutils/config/mt-gnu buildtools/trunk/legacy/binutils/config/nls.m4 buildtools/trunk/legacy/binutils/config/po.m4 buildtools/trunk/legacy/binutils/config/stdint.m4 buildtools/trunk/legacy/binutils/config/stdint_h.m4 buildtools/trunk/legacy/binutils/config/tls.m4 buildtools/trunk/legacy/binutils/config/uintmax_t.m4 buildtools/trunk/legacy/binutils/config/ulonglong.m4 buildtools/trunk/legacy/binutils/config/warnings.m4 buildtools/trunk/legacy/binutils/cpu/cris.cpu buildtools/trunk/legacy/binutils/cpu/m32c.cpu buildtools/trunk/legacy/binutils/cpu/m32c.opc buildtools/trunk/legacy/binutils/cpu/m32r.cpu buildtools/trunk/legacy/binutils/cpu/m32r.opc buildtools/trunk/legacy/binutils/cpu/mt.cpu buildtools/trunk/legacy/binutils/cpu/mt.opc buildtools/trunk/legacy/binutils/cpu/sh.cpu buildtools/trunk/legacy/binutils/cpu/sh.opc buildtools/trunk/legacy/binutils/cpu/sh64-compact.cpu buildtools/trunk/legacy/binutils/cpu/sh64-media.cpu buildtools/trunk/legacy/binutils/cpu/xc16x.cpu buildtools/trunk/legacy/binutils/cpu/xc16x.opc buildtools/trunk/legacy/binutils/gas/ChangeLog-2004 buildtools/trunk/legacy/binutils/gas/ChangeLog-2005 buildtools/trunk/legacy/binutils/gas/bfin-lex.c buildtools/trunk/legacy/binutils/gas/bfin-parse.c buildtools/trunk/legacy/binutils/gas/bfin-parse.h buildtools/trunk/legacy/binutils/gas/config/bfin-aux.h buildtools/trunk/legacy/binutils/gas/config/bfin-defs.h buildtools/trunk/legacy/binutils/gas/config/bfin-lex.l buildtools/trunk/legacy/binutils/gas/config/bfin-parse.y buildtools/trunk/legacy/binutils/gas/config/tc-bfin.c buildtools/trunk/legacy/binutils/gas/config/tc-bfin.h buildtools/trunk/legacy/binutils/gas/config/tc-crx.c buildtools/trunk/legacy/binutils/gas/config/tc-crx.h buildtools/trunk/legacy/binutils/gas/config/tc-m32c.c buildtools/trunk/legacy/binutils/gas/config/tc-m32c.h buildtools/trunk/legacy/binutils/gas/config/tc-maxq.c buildtools/trunk/legacy/binutils/gas/config/tc-maxq.h buildtools/trunk/legacy/binutils/gas/config/tc-mt.c buildtools/trunk/legacy/binutils/gas/config/tc-mt.h buildtools/trunk/legacy/binutils/gas/config/tc-xc16x.c buildtools/trunk/legacy/binutils/gas/config/tc-xc16x.h buildtools/trunk/legacy/binutils/gas/config/tc-z80.c buildtools/trunk/legacy/binutils/gas/config/tc-z80.h buildtools/trunk/legacy/binutils/gas/config/te-armeabi.h buildtools/trunk/legacy/binutils/gas/config/te-armlinuxeabi.h buildtools/trunk/legacy/binutils/gas/config/te-gnu.h buildtools/trunk/legacy/binutils/gas/config/te-netware.h buildtools/trunk/legacy/binutils/gas/config/te-symbian.h buildtools/trunk/legacy/binutils/gas/config/te-vxworks.h buildtools/trunk/legacy/binutils/gas/configure.tgt buildtools/trunk/legacy/binutils/gas/doc/as.info buildtools/trunk/legacy/binutils/gas/doc/asconfig.texi buildtools/trunk/legacy/binutils/gas/doc/c-bfin.texi buildtools/trunk/legacy/binutils/gas/doc/c-m32c.texi buildtools/trunk/legacy/binutils/gas/doc/c-mt.texi buildtools/trunk/legacy/binutils/gas/doc/c-xc16x.texi buildtools/trunk/legacy/binutils/gas/doc/c-z80.texi buildtools/trunk/legacy/binutils/gas/itbl-lex.h buildtools/trunk/legacy/binutils/gas/po/rw.gmo buildtools/trunk/legacy/binutils/gas/po/rw.po buildtools/trunk/legacy/binutils/gas/testsuite/ChangeLog-2004 buildtools/trunk/legacy/binutils/gas/testsuite/ChangeLog-2005 buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/altmac2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/altmac2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/altmacro.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/altmacro.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/assign-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/assign-ok.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/assign.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/assign.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/cond.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/equ-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/equ-ok.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/equiv1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/equiv2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/eqv-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/eqv-ok.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/eval.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/eval.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/excl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/forward.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/forward.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/quad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/quad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/redef5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/sleb128.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/sleb128.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/warn-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1g.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1l.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1u.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref1w.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/weakref4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extensions.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extensions.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/abs12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/abs12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch4t.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch6zk.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch6zk.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch7m-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch7m-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch7m-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6t2-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6t2-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6t2-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm3-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm3-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm3-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm7dm.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/armv1-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/bignum1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/bignum1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/blx-local.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/blx-local.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/eabi_attr_1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/eabi_attr_1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/float.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/immed.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/macro1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/macro1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/nomapping.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/nomapping.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/offset.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/pic_vxworks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/r15-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/reg-alias.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/reg-alias.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/req.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/svc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/svc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/t16-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/t16-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/t16-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tcompat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tcompat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tcompat2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tcompat2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_bcond.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_bcond.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_invert.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_invert.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_it.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_it.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_it_bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_it_bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_it_bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_pool.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_pool.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_relax.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb2_relax.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumbv6k.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumbv6k.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tls.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tls.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/tls_vxworks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined_coff.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined_coff.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined_coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/unwind.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/unwind.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/unwind_vxworks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad_t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad_t2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad_t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1_t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1_t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1xD_t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1xD_t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp2_t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp2_t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/bfin/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-arm-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-arm-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-mips-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-mips-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/abs32-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/arch-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/arch-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/arch-err-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/arch-err-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/arch-err-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/bound-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-3b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/march-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/march-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/push-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/push-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpopv32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-abs32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-abs32-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-arch-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-arch-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-arch-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bcnst-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bkw1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bkw2b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bkw3b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bound1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bound1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bound2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bound3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bound4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-branch-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-break32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-brokw-pic-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-brokw-pic-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-brokw-pic-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-fragtest-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcplus.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcplus.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pic-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pic-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-ppv1032.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-ppv32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-spr-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-spr-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-usp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-usp-1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v10_32o-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v10_32o-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v10_32o-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-b3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-f1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-f1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-i1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-i1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32-l4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32o-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-v32s-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-vao-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-10.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-11.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/v32-err-9.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/crx/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group0a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group0b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group1a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/group1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/redef.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/redef.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.e-armeabi buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section5.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section5.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/struct.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/struct.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr405-insn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr405-insn.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr405-insn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-insn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-insn.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-insn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-media-issue.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-media-issue.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-spr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr450-spr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr550-pack1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fr550-pack1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/addsubrxcheck.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/symaddgen.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/bss.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/bss.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/cr-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/cr-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/crx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/crx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/equ.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/equ.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/equ.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/immed32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/immed32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/immed64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/immed64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel16.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelbad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelbad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelok.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelok.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelok.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/inval-seg.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/inval-seg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/merom.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/merom.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/mixed-mode-reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/mixed-mode-reloc32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/mixed-mode-reloc64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc32.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc64.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rep-suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rep-suffix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rep.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rep.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rex.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/rex.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/secrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/secrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/segment.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/segment.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sib.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sib.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/suffix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/svme.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/svme.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/svme64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/vmx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/vmx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-addr32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-addr32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-crx-suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-crx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-crx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-drx-suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-drx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-drx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-inval-seg.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-inval-seg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-merom.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-merom.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-prescott.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-prescott.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rep-suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rep-suffix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rep.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rep.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rip.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-rip.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-segment.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-segment.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-stack-intel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-stack-suffix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-stack.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-stack.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-unwind.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-unwind.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-vmx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-vmx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86_64.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/alloc.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/alloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/bundling.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/bundling.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/forward.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/forward.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/group-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/group-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/group-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/group-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/hint.b-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/hint.b-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/hint.b-warn.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/hint.b-warn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/index.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/index.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/invalid-ar.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/invalid-ar.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/label.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/label.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/last.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/last.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/mov-ar.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/mov-ar.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/no-fit.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/no-fit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/nop_x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/nop_x.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/nostkreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/nostkreg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/operand-or.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/operand-or.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/operands.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/operands.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pound.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pound.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pred-rel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/proc.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/proc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pseudo.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/pseudo.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/radix.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/radix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reg-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reg-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/regval.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/regval.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc-uw-ilp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc-uw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc-uw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/rotX.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/rotX.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/slot2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/slot2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/strange.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/strange.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-ok.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-ok.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/xdata-ilp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/xdata.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/xdata.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/lns/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/parallel-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/parallel-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/pic2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/pic2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rel32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rela-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/rela-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/seth.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/seth.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/arch-cpu-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/arch-cpu-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-emac.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-emac.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-fpu.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-fpu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-mac.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-mac.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mode5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mode5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/badarg.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/badarg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/dot.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/dot.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/end.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/end.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/paren.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/paren.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/purge.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/purge.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/redef.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/redef.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/repeat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/repeat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/vararg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/vararg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/maxq10/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/maxq20/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2pic-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-swap.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-swap.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel20.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel20.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel21.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel21.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel22.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel22.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel23.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel23.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel23a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel23b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel24.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel24.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel25.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel25.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel25a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-svr4pic-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-mips3-1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-mips3-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-mips3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-mips3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-eabi64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n64-sym32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-sym32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-dwarf2-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-dwarf2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-dwarf2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-hilo-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-hilo.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-hilo.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16e-jrc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16e-jrc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16e-save.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16e-save.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-dsp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-dsp.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-mt.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-mt.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32-mt.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-3.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-4.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-5.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-6.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-7.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/noat-7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tls-ill.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tls-ill.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tls-o32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tls-o32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4120-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4120-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4130.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4130.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vxworks1-el.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vxworks1-xgot-el.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vxworks1-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vxworks1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vxworks1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/relax.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/relax.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mt/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-g5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-g5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-operands.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-operands.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z9-109.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z9-109.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z900.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z900.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z990.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/esa-z990.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-operands.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-operands.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z9-109.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z9-109.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z900.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z900.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z990.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/zarch-z990.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/arch/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel-hms.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/reg-prefix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/reg-prefix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh2a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh2a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/rdhpr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/rdhpr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/vxworks-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/vxworks-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/window.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/window.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/wrhpr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/wrhpr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/split-lo16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/split-lo16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/flonum.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/flonum.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xc16x/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/short_branch_offset.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/short_branch_offset.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z80/ buildtools/trunk/legacy/binutils/gprof/ChangeLog-2004 buildtools/trunk/legacy/binutils/gprof/ChangeLog-2005 buildtools/trunk/legacy/binutils/gprof/config.texi buildtools/trunk/legacy/binutils/gprof/po/ga.gmo buildtools/trunk/legacy/binutils/gprof/po/ga.po buildtools/trunk/legacy/binutils/gprof/po/rw.gmo buildtools/trunk/legacy/binutils/gprof/po/rw.po buildtools/trunk/legacy/binutils/gprof/po/vi.gmo buildtools/trunk/legacy/binutils/gprof/po/vi.po buildtools/trunk/legacy/binutils/include/coff/maxq.h buildtools/trunk/legacy/binutils/include/coff/z80.h buildtools/trunk/legacy/binutils/include/elf/bfin.h buildtools/trunk/legacy/binutils/include/elf/cr16c.h buildtools/trunk/legacy/binutils/include/elf/crx.h buildtools/trunk/legacy/binutils/include/elf/m32c.h buildtools/trunk/legacy/binutils/include/elf/mt.h buildtools/trunk/legacy/binutils/include/elf/xc16x.h buildtools/trunk/legacy/binutils/include/gdb/sim-m32c.h buildtools/trunk/legacy/binutils/include/gdb/sim-ppc.h buildtools/trunk/legacy/binutils/include/opcode/bfin.h buildtools/trunk/legacy/binutils/include/opcode/cgen-bitset.h buildtools/trunk/legacy/binutils/include/opcode/crx.h buildtools/trunk/legacy/binutils/include/opcode/maxq.h buildtools/trunk/legacy/binutils/ld/ChangeLog-2004 buildtools/trunk/legacy/binutils/ld/ChangeLog-2005 buildtools/trunk/legacy/binutils/ld/elf-hints-local.h buildtools/trunk/legacy/binutils/ld/emulparams/armelf_linux_eabi.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf_vxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelfb_linux_eabi.sh buildtools/trunk/legacy/binutils/ld/emulparams/armsymbian.sh buildtools/trunk/legacy/binutils/ld/emulparams/bfin.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32_sparc_vxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32bfinfd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32cr16c.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32crx.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ebmipvxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32elmipvxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32m32c.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32mt.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppccommon.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppcvxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32xc16x.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32xc16xl.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32xc16xs.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386_vxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/maxqcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/ppclynx.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlsymbian.sh buildtools/trunk/legacy/binutils/ld/emulparams/vxworks.sh buildtools/trunk/legacy/binutils/ld/emulparams/z80.sh buildtools/trunk/legacy/binutils/ld/emultempl/crxelf.em buildtools/trunk/legacy/binutils/ld/emultempl/vxworks.em buildtools/trunk/legacy/binutils/ld/emultempl/z80.em buildtools/trunk/legacy/binutils/ld/scripttempl/armbpabi.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32cr16c.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32crx.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32sh-symbian.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32xc16x.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32xc16xl.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32xc16xs.sc buildtools/trunk/legacy/binutils/ld/scripttempl/maxqcoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/z80.sc buildtools/trunk/legacy/binutils/ld/testsuite/ChangeLog-2004 buildtools/trunk/legacy/binutils/ld/testsuite/ChangeLog-2005 buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-call.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-call1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-call2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-dyn.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-rel31.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-rel31.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target1-abs.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target1-rel.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target2-abs.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target2-got-rel.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target2-rel.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-target2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-app-v5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-app.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-app.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-app.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-app.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-lib.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-lib.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/mixed-lib.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/thumb-entry.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/thumb-entry.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/thumb-rel32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/thumb-rel32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-app.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-app.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-app.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-lib.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-lib.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/tls-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1-lib.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1-lib.nd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1-lib.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1-static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks2-static.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/vxworks2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/def2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/def3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsov32-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsov32-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsov32-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsov32-4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/globsym1ref.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/globsymw1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/globsymw2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/hiddef1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/hiddef1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/hidrefgotplt1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-11.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-13.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-14.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/move-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/noov.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/noov.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/pv32-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/pv32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/stabs1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/start1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/undef2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/undef3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v10-v32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v10-va.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-ba-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-ba-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-bin-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-bin-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-v10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/v32-va.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/va-v10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/va-v32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/warn1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/warn2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/warn3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/warn4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-crx/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/eh3a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/empty.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/empty.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/empty2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/empty2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/exclude.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/exclude1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/exclude2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/fini.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/fini.out buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/frame.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/frame.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/group.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/group1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/group1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/group1b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/group2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/init.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/init.out buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/orphan.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/orphan.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/orphan.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/orphan2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/orphan2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/preinit.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/preinit.out buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/start.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/symbol1ref.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/symbol1w.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/table.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/tbss.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/unknown.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/unknown2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/unknown2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/warn1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers29.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers29.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers29.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers30.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers30.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers30.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers30.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers31.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers31.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers31.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers31.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/hidden2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/hidden2.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/hidden2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size2b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size_bar.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size_foo.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/size_main.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fr450-link.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fr450-linka.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fr450-linkb.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fr450-linkc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/frv-elf.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-1-dep.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-1-shared.lds buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-dynamic-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-dynamic-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-dynamic-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-initial-shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-pie-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-pie-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-dynamic-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-dynamic-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-dynamic-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-initial-shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-pie-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-pie-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-shared-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-shared-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-static-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-relax-static-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-shared-1-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-shared-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-shared-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-static-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls-static-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/tls.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/gcsection.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/gcsection.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-6-coff.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-6.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/abs.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/abs.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/emit-relocs.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/emit-relocs.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/pcrel16.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/pcrel16.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/pcrel8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/pcrel8.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbindesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbindesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbindesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbindesc.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbindesc.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsdesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsdesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsdesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsdesc.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsdesc.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsgdesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsgdesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsgdesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1-lib.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1-lib.nd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1-lib.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1-static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks2-static.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/vxworks2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/zero.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/link-order.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68k/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-maxq/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame1-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame1-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame2-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame2-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/eh-frame4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emit-relocs-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emit-relocs-1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emit-relocs-1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emit-relocs-1b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jalbal.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jalbal.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jaloverflow-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jaloverflow-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jaloverflow.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jaloverflow.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips-dyn.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips-lib.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-hilo-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-hilo.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-hilo.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-hilo.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-no-shared-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-no-shared-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-no-shared.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-merge-lo16.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-merge-lo16.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1-10000.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1-2fe80.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1-7fff.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1-8000.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1-fff0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/stub-dynsym-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/textrel-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/textrel-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden2-got.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden2b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden3b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden4.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden4.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden4a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-hidden4b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-multi-got-1-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-multi-got-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-multi-got-1.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tls-multi-got-1.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsbin-o32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsbin-o32.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsbin-o32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlsdyn-o32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-hidden.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-o32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-o32.got buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib-o32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/tlslib.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1-lib.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1-lib.nd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1-lib.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1-static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks2-static.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/vxworks2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-offloc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-9.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-pe/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-pie/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/sdadyn.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/sdadyn.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/sdalib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/symtocbase-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/symtocbase-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/symtocbase.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-lib.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-lib.nd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-lib.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-lib.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1-static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks2-static.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/vxworks2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2a.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2c.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align2c.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross3.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross4.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-aligned.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-aligned.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-aligned.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-aligned.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-orphan.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-orphan.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-orphan.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/empty-orphan.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/memory.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_a-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_a-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_a-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_a.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_n-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_n-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_n-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_a_n.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_a-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_a-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_a-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_a.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_n-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_n-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_n-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_b_n_n.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_n_a-a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_n_a-b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_no-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_no-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sort_no.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/arch/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1-lib.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1-lib.nd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1-lib.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1-static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks2-static.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/vxworks2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-v850/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/abs.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/pcrel16.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/pcrel8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbindesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbindesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbindesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbindesc.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbindesc.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.pd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsdesc.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsgdesc.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsgdesc.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsgdesc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xc16x/ buildtools/trunk/legacy/binutils/libiberty/at-file.texi buildtools/trunk/legacy/binutils/libiberty/fopen_unlocked.c buildtools/trunk/legacy/binutils/libiberty/gettimeofday.c buildtools/trunk/legacy/binutils/libiberty/pex-common.c buildtools/trunk/legacy/binutils/libiberty/pex-one.c buildtools/trunk/legacy/binutils/libiberty/pexecute.c buildtools/trunk/legacy/binutils/libiberty/strndup.c buildtools/trunk/legacy/binutils/libiberty/strverscmp.c buildtools/trunk/legacy/binutils/libiberty/testsuite/test-expandargv.c buildtools/trunk/legacy/binutils/libiberty/testsuite/test-pexecute.c buildtools/trunk/legacy/binutils/libiberty/unlink-if-ordinary.c buildtools/trunk/legacy/binutils/libiberty/xstrndup.c buildtools/trunk/legacy/binutils/opcodes/ChangeLog-2004 buildtools/trunk/legacy/binutils/opcodes/ChangeLog-2005 buildtools/trunk/legacy/binutils/opcodes/bfin-dis.c buildtools/trunk/legacy/binutils/opcodes/cgen-bitset.c buildtools/trunk/legacy/binutils/opcodes/cgen-ops.h buildtools/trunk/legacy/binutils/opcodes/cgen-types.h buildtools/trunk/legacy/binutils/opcodes/crx-dis.c buildtools/trunk/legacy/binutils/opcodes/crx-opc.c buildtools/trunk/legacy/binutils/opcodes/m32c-asm.c buildtools/trunk/legacy/binutils/opcodes/m32c-desc.c buildtools/trunk/legacy/binutils/opcodes/m32c-desc.h buildtools/trunk/legacy/binutils/opcodes/m32c-dis.c buildtools/trunk/legacy/binutils/opcodes/m32c-ibld.c buildtools/trunk/legacy/binutils/opcodes/m32c-opc.c buildtools/trunk/legacy/binutils/opcodes/m32c-opc.h buildtools/trunk/legacy/binutils/opcodes/maxq-dis.c buildtools/trunk/legacy/binutils/opcodes/mt-asm.c buildtools/trunk/legacy/binutils/opcodes/mt-desc.c buildtools/trunk/legacy/binutils/opcodes/mt-desc.h buildtools/trunk/legacy/binutils/opcodes/mt-dis.c buildtools/trunk/legacy/binutils/opcodes/mt-ibld.c buildtools/trunk/legacy/binutils/opcodes/mt-opc.c buildtools/trunk/legacy/binutils/opcodes/mt-opc.h buildtools/trunk/legacy/binutils/opcodes/po/fi.gmo buildtools/trunk/legacy/binutils/opcodes/po/fi.po buildtools/trunk/legacy/binutils/opcodes/po/ga.gmo buildtools/trunk/legacy/binutils/opcodes/po/ga.po buildtools/trunk/legacy/binutils/opcodes/po/vi.gmo buildtools/trunk/legacy/binutils/opcodes/po/vi.po buildtools/trunk/legacy/binutils/opcodes/po/zh_CN.gmo buildtools/trunk/legacy/binutils/opcodes/po/zh_CN.po buildtools/trunk/legacy/binutils/opcodes/xc16x-asm.c buildtools/trunk/legacy/binutils/opcodes/xc16x-desc.c buildtools/trunk/legacy/binutils/opcodes/xc16x-desc.h buildtools/trunk/legacy/binutils/opcodes/xc16x-dis.c buildtools/trunk/legacy/binutils/opcodes/xc16x-ibld.c buildtools/trunk/legacy/binutils/opcodes/xc16x-opc.c buildtools/trunk/legacy/binutils/opcodes/xc16x-opc.h buildtools/trunk/legacy/binutils/opcodes/z80-dis.c Removed: buildtools/trunk/legacy/binutils/bfd/aout-encap.c buildtools/trunk/legacy/binutils/bfd/cf-m68klynx.c buildtools/trunk/legacy/binutils/bfd/coff-a29k.c buildtools/trunk/legacy/binutils/bfd/cpu-a29k.c buildtools/trunk/legacy/binutils/bfd/doc/bfd.info-1 buildtools/trunk/legacy/binutils/bfd/doc/bfd.info-2 buildtools/trunk/legacy/binutils/bfd/elf32-arm.h buildtools/trunk/legacy/binutils/bfd/elfarm-nabi.c buildtools/trunk/legacy/binutils/bfd/elfarm-oabi.c buildtools/trunk/legacy/binutils/bfd/m68klynx.c buildtools/trunk/legacy/binutils/bfd/mpw-config.in buildtools/trunk/legacy/binutils/bfd/mpw-make.sed buildtools/trunk/legacy/binutils/binutils/mac-binutils.r buildtools/trunk/legacy/binutils/binutils/mpw-config.in buildtools/trunk/legacy/binutils/binutils/mpw-make.sed buildtools/trunk/legacy/binutils/config.if buildtools/trunk/legacy/binutils/config/accross.m4 buildtools/trunk/legacy/binutils/config/mh-mingw32 buildtools/trunk/legacy/binutils/config/mt-linux buildtools/trunk/legacy/binutils/gas/README-vms buildtools/trunk/legacy/binutils/gas/bignum-copy.c buildtools/trunk/legacy/binutils/gas/config-gas.com buildtools/trunk/legacy/binutils/gas/config/atof-tahoe.c buildtools/trunk/legacy/binutils/gas/config/m88k-opcode.h buildtools/trunk/legacy/binutils/gas/config/obj-bout.c buildtools/trunk/legacy/binutils/gas/config/obj-bout.h buildtools/trunk/legacy/binutils/gas/config/obj-hp300.c buildtools/trunk/legacy/binutils/gas/config/obj-hp300.h buildtools/trunk/legacy/binutils/gas/config/obj-vms.c buildtools/trunk/legacy/binutils/gas/config/obj-vms.h buildtools/trunk/legacy/binutils/gas/config/tc-a29k.c buildtools/trunk/legacy/binutils/gas/config/tc-a29k.h buildtools/trunk/legacy/binutils/gas/config/tc-h8500.c buildtools/trunk/legacy/binutils/gas/config/tc-h8500.h buildtools/trunk/legacy/binutils/gas/config/tc-m88k.c buildtools/trunk/legacy/binutils/gas/config/tc-m88k.h buildtools/trunk/legacy/binutils/gas/config/tc-tahoe.c buildtools/trunk/legacy/binutils/gas/config/tc-tahoe.h buildtools/trunk/legacy/binutils/gas/config/tc-tic80.c buildtools/trunk/legacy/binutils/gas/config/tc-tic80.h buildtools/trunk/legacy/binutils/gas/config/tc-w65.c buildtools/trunk/legacy/binutils/gas/config/tc-w65.h buildtools/trunk/legacy/binutils/gas/config/te-aux.h buildtools/trunk/legacy/binutils/gas/config/te-delt88.h buildtools/trunk/legacy/binutils/gas/config/te-delta.h buildtools/trunk/legacy/binutils/gas/config/te-dpx2.h buildtools/trunk/legacy/binutils/gas/config/te-hp300.h buildtools/trunk/legacy/binutils/gas/config/te-ic960.h buildtools/trunk/legacy/binutils/gas/config/te-ppcnw.h buildtools/trunk/legacy/binutils/gas/config/te-sysv32.h buildtools/trunk/legacy/binutils/gas/config/vms-a-conf.h buildtools/trunk/legacy/binutils/gas/config/vms-conf.h buildtools/trunk/legacy/binutils/gas/doc/c-a29k.texi buildtools/trunk/legacy/binutils/gas/doc/c-h8500.texi buildtools/trunk/legacy/binutils/gas/doc/c-m88k.texi buildtools/trunk/legacy/binutils/gas/link.cmd buildtools/trunk/legacy/binutils/gas/mac-as.r buildtools/trunk/legacy/binutils/gas/make-gas.com buildtools/trunk/legacy/binutils/gas/makefile.vms buildtools/trunk/legacy/binutils/gas/mpw-config.in buildtools/trunk/legacy/binutils/gas/mpw-make.sed buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/cond.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/wince_arm7t.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/wince_copro.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/wince_ldconst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10hazard3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10hazard4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10hazard5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10load-hazards.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10nohazard.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10noyield.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test0.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test10.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test10.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test11.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test11.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test9.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10test9.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/q10yield.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/test.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m88k/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2pic.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elempic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_e.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_e.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_g1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_g1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_g2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empic3_g2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic-elf-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic-elf-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic-elf-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic-elf-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic-elf.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la-empic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n32-shared.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lif-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol-hw.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol64-hw.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol64.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/telempic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tempic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh-empic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4122.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4122.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/opcode.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/opcode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/opcode64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/opcode64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/reloc64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/reloc64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic80/ buildtools/trunk/legacy/binutils/gas/testsuite/gas/vtable/ buildtools/trunk/legacy/binutils/gas/vmsconf.sh buildtools/trunk/legacy/binutils/include/coff/a29k.h buildtools/trunk/legacy/binutils/include/mpw/ buildtools/trunk/legacy/binutils/include/opcode/a29k.h buildtools/trunk/legacy/binutils/ld/emulparams/a29k.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf_oabi.sh buildtools/trunk/legacy/binutils/ld/emulparams/ebmon29k.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68klynx.sh buildtools/trunk/legacy/binutils/ld/emulparams/sa29200.sh buildtools/trunk/legacy/binutils/ld/emulparams/sparclynx.sh buildtools/trunk/legacy/binutils/ld/emultempl/armelf_oabi.em buildtools/trunk/legacy/binutils/ld/emultempl/mipself.em buildtools/trunk/legacy/binutils/ld/mac-ld.r buildtools/trunk/legacy/binutils/ld/mpw-config.in buildtools/trunk/legacy/binutils/ld/mpw-make.sed buildtools/trunk/legacy/binutils/ld/scripttempl/i386lynx.sc buildtools/trunk/legacy/binutils/ld/testsuite/ld-empic/ buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-8-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-ln.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-lp.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-mn.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-mp.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-ref.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-sn.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-sp.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-space.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic1-tgt.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-fwd-0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-fwd-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-ref.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-rev-0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-rev-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/empic2-space.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emrelocs-eb.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emrelocs-el.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emrelocs.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emrelocs1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/emrelocs2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-3-r.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-3-srec.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-3.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-3a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-3b.s buildtools/trunk/legacy/binutils/libiberty/acconfig.h buildtools/trunk/legacy/binutils/libiberty/config.table buildtools/trunk/legacy/binutils/libiberty/mpw-config.in buildtools/trunk/legacy/binutils/libiberty/mpw-make.sed buildtools/trunk/legacy/binutils/libiberty/mpw.c buildtools/trunk/legacy/binutils/libiberty/pex-mpw.c buildtools/trunk/legacy/binutils/libiberty/pex-os2.c buildtools/trunk/legacy/binutils/opcodes/a29k-dis.c buildtools/trunk/legacy/binutils/opcodes/arm-opc.h buildtools/trunk/legacy/binutils/opcodes/mpw-config.in buildtools/trunk/legacy/binutils/opcodes/mpw-make.sed Modified: buildtools/trunk/legacy/binutils/COPYING buildtools/trunk/legacy/binutils/COPYING.LIB buildtools/trunk/legacy/binutils/Makefile.def buildtools/trunk/legacy/binutils/Makefile.in buildtools/trunk/legacy/binutils/Makefile.tpl buildtools/trunk/legacy/binutils/README buildtools/trunk/legacy/binutils/bfd/COPYING buildtools/trunk/legacy/binutils/bfd/ChangeLog buildtools/trunk/legacy/binutils/bfd/ChangeLog-0001 buildtools/trunk/legacy/binutils/bfd/ChangeLog-0203 buildtools/trunk/legacy/binutils/bfd/ChangeLog-9193 buildtools/trunk/legacy/binutils/bfd/ChangeLog-9495 buildtools/trunk/legacy/binutils/bfd/ChangeLog-9697 buildtools/trunk/legacy/binutils/bfd/ChangeLog-9899 buildtools/trunk/legacy/binutils/bfd/MAINTAINERS buildtools/trunk/legacy/binutils/bfd/Makefile.am buildtools/trunk/legacy/binutils/bfd/Makefile.in buildtools/trunk/legacy/binutils/bfd/PORTING buildtools/trunk/legacy/binutils/bfd/README buildtools/trunk/legacy/binutils/bfd/TODO buildtools/trunk/legacy/binutils/bfd/acinclude.m4 buildtools/trunk/legacy/binutils/bfd/aclocal.m4 buildtools/trunk/legacy/binutils/bfd/aix386-core.c buildtools/trunk/legacy/binutils/bfd/aix5ppc-core.c buildtools/trunk/legacy/binutils/bfd/aout-adobe.c buildtools/trunk/legacy/binutils/bfd/aout-arm.c buildtools/trunk/legacy/binutils/bfd/aout-cris.c buildtools/trunk/legacy/binutils/bfd/aout-ns32k.c buildtools/trunk/legacy/binutils/bfd/aout-sparcle.c buildtools/trunk/legacy/binutils/bfd/aout-target.h buildtools/trunk/legacy/binutils/bfd/aout-tic30.c buildtools/trunk/legacy/binutils/bfd/aout0.c buildtools/trunk/legacy/binutils/bfd/aout32.c buildtools/trunk/legacy/binutils/bfd/aout64.c buildtools/trunk/legacy/binutils/bfd/aoutf1.h buildtools/trunk/legacy/binutils/bfd/aoutx.h buildtools/trunk/legacy/binutils/bfd/archive.c buildtools/trunk/legacy/binutils/bfd/archive64.c buildtools/trunk/legacy/binutils/bfd/archures.c buildtools/trunk/legacy/binutils/bfd/armnetbsd.c buildtools/trunk/legacy/binutils/bfd/bfd-in.h buildtools/trunk/legacy/binutils/bfd/bfd-in2.h buildtools/trunk/legacy/binutils/bfd/bfd.c buildtools/trunk/legacy/binutils/bfd/bfdio.c buildtools/trunk/legacy/binutils/bfd/bfdwin.c buildtools/trunk/legacy/binutils/bfd/binary.c buildtools/trunk/legacy/binutils/bfd/bout.c buildtools/trunk/legacy/binutils/bfd/cache.c buildtools/trunk/legacy/binutils/bfd/cf-i386lynx.c buildtools/trunk/legacy/binutils/bfd/cf-sparclynx.c buildtools/trunk/legacy/binutils/bfd/cisco-core.c buildtools/trunk/legacy/binutils/bfd/coff-alpha.c buildtools/trunk/legacy/binutils/bfd/coff-apollo.c buildtools/trunk/legacy/binutils/bfd/coff-arm.c buildtools/trunk/legacy/binutils/bfd/coff-aux.c buildtools/trunk/legacy/binutils/bfd/coff-go32.c buildtools/trunk/legacy/binutils/bfd/coff-h8300.c buildtools/trunk/legacy/binutils/bfd/coff-h8500.c buildtools/trunk/legacy/binutils/bfd/coff-i386.c buildtools/trunk/legacy/binutils/bfd/coff-i860.c buildtools/trunk/legacy/binutils/bfd/coff-i960.c buildtools/trunk/legacy/binutils/bfd/coff-ia64.c buildtools/trunk/legacy/binutils/bfd/coff-m68k.c buildtools/trunk/legacy/binutils/bfd/coff-m88k.c buildtools/trunk/legacy/binutils/bfd/coff-mcore.c buildtools/trunk/legacy/binutils/bfd/coff-mips.c buildtools/trunk/legacy/binutils/bfd/coff-or32.c buildtools/trunk/legacy/binutils/bfd/coff-pmac.c buildtools/trunk/legacy/binutils/bfd/coff-ppc.c buildtools/trunk/legacy/binutils/bfd/coff-rs6000.c buildtools/trunk/legacy/binutils/bfd/coff-sh.c buildtools/trunk/legacy/binutils/bfd/coff-sparc.c buildtools/trunk/legacy/binutils/bfd/coff-stgo32.c buildtools/trunk/legacy/binutils/bfd/coff-svm68k.c buildtools/trunk/legacy/binutils/bfd/coff-tic30.c buildtools/trunk/legacy/binutils/bfd/coff-tic4x.c buildtools/trunk/legacy/binutils/bfd/coff-tic54x.c buildtools/trunk/legacy/binutils/bfd/coff-tic80.c buildtools/trunk/legacy/binutils/bfd/coff-u68k.c buildtools/trunk/legacy/binutils/bfd/coff-w65.c buildtools/trunk/legacy/binutils/bfd/coff-we32k.c buildtools/trunk/legacy/binutils/bfd/coff-z8k.c buildtools/trunk/legacy/binutils/bfd/coff64-rs6000.c buildtools/trunk/legacy/binutils/bfd/coffcode.h buildtools/trunk/legacy/binutils/bfd/coffgen.c buildtools/trunk/legacy/binutils/bfd/cofflink.c buildtools/trunk/legacy/binutils/bfd/coffswap.h buildtools/trunk/legacy/binutils/bfd/config.bfd buildtools/trunk/legacy/binutils/bfd/config.in buildtools/trunk/legacy/binutils/bfd/configure buildtools/trunk/legacy/binutils/bfd/configure.com buildtools/trunk/legacy/binutils/bfd/configure.host buildtools/trunk/legacy/binutils/bfd/configure.in buildtools/trunk/legacy/binutils/bfd/corefile.c buildtools/trunk/legacy/binutils/bfd/cpu-alpha.c buildtools/trunk/legacy/binutils/bfd/cpu-arc.c buildtools/trunk/legacy/binutils/bfd/cpu-arm.c buildtools/trunk/legacy/binutils/bfd/cpu-avr.c buildtools/trunk/legacy/binutils/bfd/cpu-cris.c buildtools/trunk/legacy/binutils/bfd/cpu-d10v.c buildtools/trunk/legacy/binutils/bfd/cpu-d30v.c buildtools/trunk/legacy/binutils/bfd/cpu-dlx.c buildtools/trunk/legacy/binutils/bfd/cpu-fr30.c buildtools/trunk/legacy/binutils/bfd/cpu-frv.c buildtools/trunk/legacy/binutils/bfd/cpu-h8300.c buildtools/trunk/legacy/binutils/bfd/cpu-h8500.c buildtools/trunk/legacy/binutils/bfd/cpu-hppa.c buildtools/trunk/legacy/binutils/bfd/cpu-i370.c buildtools/trunk/legacy/binutils/bfd/cpu-i386.c buildtools/trunk/legacy/binutils/bfd/cpu-i860.c buildtools/trunk/legacy/binutils/bfd/cpu-i960.c buildtools/trunk/legacy/binutils/bfd/cpu-ia64-opc.c buildtools/trunk/legacy/binutils/bfd/cpu-ia64.c buildtools/trunk/legacy/binutils/bfd/cpu-ip2k.c buildtools/trunk/legacy/binutils/bfd/cpu-iq2000.c buildtools/trunk/legacy/binutils/bfd/cpu-m10200.c buildtools/trunk/legacy/binutils/bfd/cpu-m10300.c buildtools/trunk/legacy/binutils/bfd/cpu-m32r.c buildtools/trunk/legacy/binutils/bfd/cpu-m68hc11.c buildtools/trunk/legacy/binutils/bfd/cpu-m68hc12.c buildtools/trunk/legacy/binutils/bfd/cpu-m68k.c buildtools/trunk/legacy/binutils/bfd/cpu-m88k.c buildtools/trunk/legacy/binutils/bfd/cpu-mcore.c buildtools/trunk/legacy/binutils/bfd/cpu-mips.c buildtools/trunk/legacy/binutils/bfd/cpu-mmix.c buildtools/trunk/legacy/binutils/bfd/cpu-msp430.c buildtools/trunk/legacy/binutils/bfd/cpu-ns32k.c buildtools/trunk/legacy/binutils/bfd/cpu-openrisc.c buildtools/trunk/legacy/binutils/bfd/cpu-or32.c buildtools/trunk/legacy/binutils/bfd/cpu-pdp11.c buildtools/trunk/legacy/binutils/bfd/cpu-pj.c buildtools/trunk/legacy/binutils/bfd/cpu-powerpc.c buildtools/trunk/legacy/binutils/bfd/cpu-rs6000.c buildtools/trunk/legacy/binutils/bfd/cpu-s390.c buildtools/trunk/legacy/binutils/bfd/cpu-sh.c buildtools/trunk/legacy/binutils/bfd/cpu-sparc.c buildtools/trunk/legacy/binutils/bfd/cpu-tic30.c buildtools/trunk/legacy/binutils/bfd/cpu-tic4x.c buildtools/trunk/legacy/binutils/bfd/cpu-tic54x.c buildtools/trunk/legacy/binutils/bfd/cpu-tic80.c buildtools/trunk/legacy/binutils/bfd/cpu-v850.c buildtools/trunk/legacy/binutils/bfd/cpu-vax.c buildtools/trunk/legacy/binutils/bfd/cpu-w65.c buildtools/trunk/legacy/binutils/bfd/cpu-we32k.c buildtools/trunk/legacy/binutils/bfd/cpu-xstormy16.c buildtools/trunk/legacy/binutils/bfd/cpu-xtensa.c buildtools/trunk/legacy/binutils/bfd/cpu-z8k.c buildtools/trunk/legacy/binutils/bfd/demo64.c buildtools/trunk/legacy/binutils/bfd/dep-in.sed buildtools/trunk/legacy/binutils/bfd/doc/ChangeLog buildtools/trunk/legacy/binutils/bfd/doc/ChangeLog-9103 buildtools/trunk/legacy/binutils/bfd/doc/Makefile.am buildtools/trunk/legacy/binutils/bfd/doc/Makefile.in buildtools/trunk/legacy/binutils/bfd/doc/aoutx.texi buildtools/trunk/legacy/binutils/bfd/doc/archive.texi buildtools/trunk/legacy/binutils/bfd/doc/archures.texi buildtools/trunk/legacy/binutils/bfd/doc/bfd.info buildtools/trunk/legacy/binutils/bfd/doc/bfd.texinfo buildtools/trunk/legacy/binutils/bfd/doc/bfdint.texi buildtools/trunk/legacy/binutils/bfd/doc/bfdio.texi buildtools/trunk/legacy/binutils/bfd/doc/bfdsumm.texi buildtools/trunk/legacy/binutils/bfd/doc/bfdt.texi buildtools/trunk/legacy/binutils/bfd/doc/bfdwin.texi buildtools/trunk/legacy/binutils/bfd/doc/cache.texi buildtools/trunk/legacy/binutils/bfd/doc/chew.c buildtools/trunk/legacy/binutils/bfd/doc/coffcode.texi buildtools/trunk/legacy/binutils/bfd/doc/core.texi buildtools/trunk/legacy/binutils/bfd/doc/doc.str buildtools/trunk/legacy/binutils/bfd/doc/elf.texi buildtools/trunk/legacy/binutils/bfd/doc/elfcode.texi buildtools/trunk/legacy/binutils/bfd/doc/fdl.texi buildtools/trunk/legacy/binutils/bfd/doc/format.texi buildtools/trunk/legacy/binutils/bfd/doc/hash.texi buildtools/trunk/legacy/binutils/bfd/doc/header.sed buildtools/trunk/legacy/binutils/bfd/doc/init.texi buildtools/trunk/legacy/binutils/bfd/doc/libbfd.texi buildtools/trunk/legacy/binutils/bfd/doc/linker.texi buildtools/trunk/legacy/binutils/bfd/doc/makefile.vms buildtools/trunk/legacy/binutils/bfd/doc/mmo.texi buildtools/trunk/legacy/binutils/bfd/doc/opncls.texi buildtools/trunk/legacy/binutils/bfd/doc/proto.str buildtools/trunk/legacy/binutils/bfd/doc/reloc.texi buildtools/trunk/legacy/binutils/bfd/doc/section.texi buildtools/trunk/legacy/binutils/bfd/doc/syms.texi buildtools/trunk/legacy/binutils/bfd/doc/targets.texi buildtools/trunk/legacy/binutils/bfd/dwarf1.c buildtools/trunk/legacy/binutils/bfd/dwarf2.c buildtools/trunk/legacy/binutils/bfd/ecoff.c buildtools/trunk/legacy/binutils/bfd/ecofflink.c buildtools/trunk/legacy/binutils/bfd/ecoffswap.h buildtools/trunk/legacy/binutils/bfd/efi-app-ia32.c buildtools/trunk/legacy/binutils/bfd/efi-app-ia64.c buildtools/trunk/legacy/binutils/bfd/elf-bfd.h buildtools/trunk/legacy/binutils/bfd/elf-eh-frame.c buildtools/trunk/legacy/binutils/bfd/elf-hppa.h buildtools/trunk/legacy/binutils/bfd/elf-m10200.c buildtools/trunk/legacy/binutils/bfd/elf-m10300.c buildtools/trunk/legacy/binutils/bfd/elf-strtab.c buildtools/trunk/legacy/binutils/bfd/elf.c buildtools/trunk/legacy/binutils/bfd/elf32-am33lin.c buildtools/trunk/legacy/binutils/bfd/elf32-arc.c buildtools/trunk/legacy/binutils/bfd/elf32-avr.c buildtools/trunk/legacy/binutils/bfd/elf32-cris.c buildtools/trunk/legacy/binutils/bfd/elf32-d10v.c buildtools/trunk/legacy/binutils/bfd/elf32-d30v.c buildtools/trunk/legacy/binutils/bfd/elf32-dlx.c buildtools/trunk/legacy/binutils/bfd/elf32-fr30.c buildtools/trunk/legacy/binutils/bfd/elf32-frv.c buildtools/trunk/legacy/binutils/bfd/elf32-gen.c buildtools/trunk/legacy/binutils/bfd/elf32-h8300.c buildtools/trunk/legacy/binutils/bfd/elf32-hppa.c buildtools/trunk/legacy/binutils/bfd/elf32-hppa.h buildtools/trunk/legacy/binutils/bfd/elf32-i370.c buildtools/trunk/legacy/binutils/bfd/elf32-i386.c buildtools/trunk/legacy/binutils/bfd/elf32-i860.c buildtools/trunk/legacy/binutils/bfd/elf32-i960.c buildtools/trunk/legacy/binutils/bfd/elf32-ip2k.c buildtools/trunk/legacy/binutils/bfd/elf32-iq2000.c buildtools/trunk/legacy/binutils/bfd/elf32-m32r.c buildtools/trunk/legacy/binutils/bfd/elf32-m68hc11.c buildtools/trunk/legacy/binutils/bfd/elf32-m68hc12.c buildtools/trunk/legacy/binutils/bfd/elf32-m68hc1x.c buildtools/trunk/legacy/binutils/bfd/elf32-m68hc1x.h buildtools/trunk/legacy/binutils/bfd/elf32-m68k.c buildtools/trunk/legacy/binutils/bfd/elf32-m88k.c buildtools/trunk/legacy/binutils/bfd/elf32-mcore.c buildtools/trunk/legacy/binutils/bfd/elf32-mips.c buildtools/trunk/legacy/binutils/bfd/elf32-msp430.c buildtools/trunk/legacy/binutils/bfd/elf32-openrisc.c buildtools/trunk/legacy/binutils/bfd/elf32-or32.c buildtools/trunk/legacy/binutils/bfd/elf32-pj.c buildtools/trunk/legacy/binutils/bfd/elf32-ppc.c buildtools/trunk/legacy/binutils/bfd/elf32-ppc.h buildtools/trunk/legacy/binutils/bfd/elf32-s390.c buildtools/trunk/legacy/binutils/bfd/elf32-sh.c buildtools/trunk/legacy/binutils/bfd/elf32-sh64-com.c buildtools/trunk/legacy/binutils/bfd/elf32-sh64.c buildtools/trunk/legacy/binutils/bfd/elf32-sh64.h buildtools/trunk/legacy/binutils/bfd/elf32-sparc.c buildtools/trunk/legacy/binutils/bfd/elf32-v850.c buildtools/trunk/legacy/binutils/bfd/elf32-vax.c buildtools/trunk/legacy/binutils/bfd/elf32-xstormy16.c buildtools/trunk/legacy/binutils/bfd/elf32-xtensa.c buildtools/trunk/legacy/binutils/bfd/elf32.c buildtools/trunk/legacy/binutils/bfd/elf64-alpha.c buildtools/trunk/legacy/binutils/bfd/elf64-gen.c buildtools/trunk/legacy/binutils/bfd/elf64-hppa.c buildtools/trunk/legacy/binutils/bfd/elf64-hppa.h buildtools/trunk/legacy/binutils/bfd/elf64-mips.c buildtools/trunk/legacy/binutils/bfd/elf64-mmix.c buildtools/trunk/legacy/binutils/bfd/elf64-ppc.c buildtools/trunk/legacy/binutils/bfd/elf64-ppc.h buildtools/trunk/legacy/binutils/bfd/elf64-s390.c buildtools/trunk/legacy/binutils/bfd/elf64-sh64.c buildtools/trunk/legacy/binutils/bfd/elf64-sparc.c buildtools/trunk/legacy/binutils/bfd/elf64-x86-64.c buildtools/trunk/legacy/binutils/bfd/elf64.c buildtools/trunk/legacy/binutils/bfd/elfcode.h buildtools/trunk/legacy/binutils/bfd/elfcore.h buildtools/trunk/legacy/binutils/bfd/elflink.c buildtools/trunk/legacy/binutils/bfd/elfn32-mips.c buildtools/trunk/legacy/binutils/bfd/elfxx-ia64.c buildtools/trunk/legacy/binutils/bfd/elfxx-mips.c buildtools/trunk/legacy/binutils/bfd/elfxx-mips.h buildtools/trunk/legacy/binutils/bfd/elfxx-target.h buildtools/trunk/legacy/binutils/bfd/epoc-pe-arm.c buildtools/trunk/legacy/binutils/bfd/epoc-pei-arm.c buildtools/trunk/legacy/binutils/bfd/format.c buildtools/trunk/legacy/binutils/bfd/freebsd.h buildtools/trunk/legacy/binutils/bfd/gen-aout.c buildtools/trunk/legacy/binutils/bfd/genlink.h buildtools/trunk/legacy/binutils/bfd/go32stub.h buildtools/trunk/legacy/binutils/bfd/hash.c buildtools/trunk/legacy/binutils/bfd/host-aout.c buildtools/trunk/legacy/binutils/bfd/hosts/alphalinux.h buildtools/trunk/legacy/binutils/bfd/hosts/alphavms.h buildtools/trunk/legacy/binutils/bfd/hosts/decstation.h buildtools/trunk/legacy/binutils/bfd/hosts/delta68.h buildtools/trunk/legacy/binutils/bfd/hosts/dpx2.h buildtools/trunk/legacy/binutils/bfd/hosts/hp300bsd.h buildtools/trunk/legacy/binutils/bfd/hosts/i386bsd.h buildtools/trunk/legacy/binutils/bfd/hosts/i386linux.h buildtools/trunk/legacy/binutils/bfd/hosts/i386mach3.h buildtools/trunk/legacy/binutils/bfd/hosts/i386sco.h buildtools/trunk/legacy/binutils/bfd/hosts/i860mach3.h buildtools/trunk/legacy/binutils/bfd/hosts/m68kaux.h buildtools/trunk/legacy/binutils/bfd/hosts/m68klinux.h buildtools/trunk/legacy/binutils/bfd/hosts/m88kmach3.h buildtools/trunk/legacy/binutils/bfd/hosts/mipsbsd.h buildtools/trunk/legacy/binutils/bfd/hosts/mipsmach3.h buildtools/trunk/legacy/binutils/bfd/hosts/news-mips.h buildtools/trunk/legacy/binutils/bfd/hosts/news.h buildtools/trunk/legacy/binutils/bfd/hosts/pc532mach.h buildtools/trunk/legacy/binutils/bfd/hosts/riscos.h buildtools/trunk/legacy/binutils/bfd/hosts/symmetry.h buildtools/trunk/legacy/binutils/bfd/hosts/tahoe.h buildtools/trunk/legacy/binutils/bfd/hosts/vaxbsd.h buildtools/trunk/legacy/binutils/bfd/hosts/vaxult.h buildtools/trunk/legacy/binutils/bfd/hosts/vaxult2.h buildtools/trunk/legacy/binutils/bfd/hp300bsd.c buildtools/trunk/legacy/binutils/bfd/hp300hpux.c buildtools/trunk/legacy/binutils/bfd/hppabsd-core.c buildtools/trunk/legacy/binutils/bfd/hpux-core.c buildtools/trunk/legacy/binutils/bfd/i386aout.c buildtools/trunk/legacy/binutils/bfd/i386bsd.c buildtools/trunk/legacy/binutils/bfd/i386dynix.c buildtools/trunk/legacy/binutils/bfd/i386freebsd.c buildtools/trunk/legacy/binutils/bfd/i386linux.c buildtools/trunk/legacy/binutils/bfd/i386lynx.c buildtools/trunk/legacy/binutils/bfd/i386mach3.c buildtools/trunk/legacy/binutils/bfd/i386msdos.c buildtools/trunk/legacy/binutils/bfd/i386netbsd.c buildtools/trunk/legacy/binutils/bfd/i386os9k.c buildtools/trunk/legacy/binutils/bfd/ieee.c buildtools/trunk/legacy/binutils/bfd/ihex.c buildtools/trunk/legacy/binutils/bfd/init.c buildtools/trunk/legacy/binutils/bfd/irix-core.c buildtools/trunk/legacy/binutils/bfd/libaout.h buildtools/trunk/legacy/binutils/bfd/libbfd-in.h buildtools/trunk/legacy/binutils/bfd/libbfd.c buildtools/trunk/legacy/binutils/bfd/libbfd.h buildtools/trunk/legacy/binutils/bfd/libcoff-in.h buildtools/trunk/legacy/binutils/bfd/libcoff.h buildtools/trunk/legacy/binutils/bfd/libecoff.h buildtools/trunk/legacy/binutils/bfd/libhppa.h buildtools/trunk/legacy/binutils/bfd/libieee.h buildtools/trunk/legacy/binutils/bfd/libnlm.h buildtools/trunk/legacy/binutils/bfd/liboasys.h buildtools/trunk/legacy/binutils/bfd/libpei.h buildtools/trunk/legacy/binutils/bfd/libxcoff.h buildtools/trunk/legacy/binutils/bfd/linker.c buildtools/trunk/legacy/binutils/bfd/lynx-core.c buildtools/trunk/legacy/binutils/bfd/m68k4knetbsd.c buildtools/trunk/legacy/binutils/bfd/m68klinux.c buildtools/trunk/legacy/binutils/bfd/m68knetbsd.c buildtools/trunk/legacy/binutils/bfd/m88kmach3.c buildtools/trunk/legacy/binutils/bfd/mach-o-target.c buildtools/trunk/legacy/binutils/bfd/mach-o.c buildtools/trunk/legacy/binutils/bfd/mach-o.h buildtools/trunk/legacy/binutils/bfd/makefile.vms buildtools/trunk/legacy/binutils/bfd/merge.c buildtools/trunk/legacy/binutils/bfd/mipsbsd.c buildtools/trunk/legacy/binutils/bfd/mmo.c buildtools/trunk/legacy/binutils/bfd/netbsd-core.c buildtools/trunk/legacy/binutils/bfd/netbsd.h buildtools/trunk/legacy/binutils/bfd/newsos3.c buildtools/trunk/legacy/binutils/bfd/nlm-target.h buildtools/trunk/legacy/binutils/bfd/nlm.c buildtools/trunk/legacy/binutils/bfd/nlm32-alpha.c buildtools/trunk/legacy/binutils/bfd/nlm32-i386.c buildtools/trunk/legacy/binutils/bfd/nlm32-ppc.c buildtools/trunk/legacy/binutils/bfd/nlm32-sparc.c buildtools/trunk/legacy/binutils/bfd/nlm32.c buildtools/trunk/legacy/binutils/bfd/nlm64.c buildtools/trunk/legacy/binutils/bfd/nlmcode.h buildtools/trunk/legacy/binutils/bfd/nlmswap.h buildtools/trunk/legacy/binutils/bfd/ns32k.h buildtools/trunk/legacy/binutils/bfd/ns32knetbsd.c buildtools/trunk/legacy/binutils/bfd/oasys.c buildtools/trunk/legacy/binutils/bfd/opncls.c buildtools/trunk/legacy/binutils/bfd/osf-core.c buildtools/trunk/legacy/binutils/bfd/pc532-mach.c buildtools/trunk/legacy/binutils/bfd/pdp11.c buildtools/trunk/legacy/binutils/bfd/pe-arm.c buildtools/trunk/legacy/binutils/bfd/pe-i386.c buildtools/trunk/legacy/binutils/bfd/pe-mcore.c buildtools/trunk/legacy/binutils/bfd/pe-mips.c buildtools/trunk/legacy/binutils/bfd/pe-ppc.c buildtools/trunk/legacy/binutils/bfd/pe-sh.c buildtools/trunk/legacy/binutils/bfd/peXXigen.c buildtools/trunk/legacy/binutils/bfd/pef-traceback.h buildtools/trunk/legacy/binutils/bfd/pef.c buildtools/trunk/legacy/binutils/bfd/pef.h buildtools/trunk/legacy/binutils/bfd/pei-arm.c buildtools/trunk/legacy/binutils/bfd/pei-i386.c buildtools/trunk/legacy/binutils/bfd/pei-mcore.c buildtools/trunk/legacy/binutils/bfd/pei-mips.c buildtools/trunk/legacy/binutils/bfd/pei-ppc.c buildtools/trunk/legacy/binutils/bfd/pei-sh.c buildtools/trunk/legacy/binutils/bfd/peicode.h buildtools/trunk/legacy/binutils/bfd/po/BLD-POTFILES.in buildtools/trunk/legacy/binutils/bfd/po/Make-in buildtools/trunk/legacy/binutils/bfd/po/SRC-POTFILES.in buildtools/trunk/legacy/binutils/bfd/po/bfd.pot buildtools/trunk/legacy/binutils/bfd/po/da.gmo buildtools/trunk/legacy/binutils/bfd/po/da.po buildtools/trunk/legacy/binutils/bfd/po/es.gmo buildtools/trunk/legacy/binutils/bfd/po/es.po buildtools/trunk/legacy/binutils/bfd/po/fr.gmo buildtools/trunk/legacy/binutils/bfd/po/fr.po buildtools/trunk/legacy/binutils/bfd/po/ja.gmo buildtools/trunk/legacy/binutils/bfd/po/ja.po buildtools/trunk/legacy/binutils/bfd/po/ro.gmo buildtools/trunk/legacy/binutils/bfd/po/ro.po buildtools/trunk/legacy/binutils/bfd/po/sv.gmo buildtools/trunk/legacy/binutils/bfd/po/sv.po buildtools/trunk/legacy/binutils/bfd/po/tr.gmo buildtools/trunk/legacy/binutils/bfd/po/tr.po buildtools/trunk/legacy/binutils/bfd/po/zh_CN.gmo buildtools/trunk/legacy/binutils/bfd/po/zh_CN.po buildtools/trunk/legacy/binutils/bfd/ppcboot.c buildtools/trunk/legacy/binutils/bfd/ptrace-core.c buildtools/trunk/legacy/binutils/bfd/reloc.c buildtools/trunk/legacy/binutils/bfd/reloc16.c buildtools/trunk/legacy/binutils/bfd/riscix.c buildtools/trunk/legacy/binutils/bfd/rs6000-core.c buildtools/trunk/legacy/binutils/bfd/sco5-core.c buildtools/trunk/legacy/binutils/bfd/section.c buildtools/trunk/legacy/binutils/bfd/simple.c buildtools/trunk/legacy/binutils/bfd/som.c buildtools/trunk/legacy/binutils/bfd/som.h buildtools/trunk/legacy/binutils/bfd/sparclinux.c buildtools/trunk/legacy/binutils/bfd/sparclynx.c buildtools/trunk/legacy/binutils/bfd/sparcnetbsd.c buildtools/trunk/legacy/binutils/bfd/srec.c buildtools/trunk/legacy/binutils/bfd/stab-syms.c buildtools/trunk/legacy/binutils/bfd/stabs.c buildtools/trunk/legacy/binutils/bfd/stamp-h.in buildtools/trunk/legacy/binutils/bfd/sunos.c buildtools/trunk/legacy/binutils/bfd/syms.c buildtools/trunk/legacy/binutils/bfd/sysdep.h buildtools/trunk/legacy/binutils/bfd/targets.c buildtools/trunk/legacy/binutils/bfd/targmatch.sed buildtools/trunk/legacy/binutils/bfd/tekhex.c buildtools/trunk/legacy/binutils/bfd/ticoff.h buildtools/trunk/legacy/binutils/bfd/trad-core.c buildtools/trunk/legacy/binutils/bfd/vax1knetbsd.c buildtools/trunk/legacy/binutils/bfd/vaxbsd.c buildtools/trunk/legacy/binutils/bfd/vaxnetbsd.c buildtools/trunk/legacy/binutils/bfd/versados.c buildtools/trunk/legacy/binutils/bfd/version.h buildtools/trunk/legacy/binutils/bfd/vms-gsd.c buildtools/trunk/legacy/binutils/bfd/vms-hdr.c buildtools/trunk/legacy/binutils/bfd/vms-misc.c buildtools/trunk/legacy/binutils/bfd/vms-tir.c buildtools/trunk/legacy/binutils/bfd/vms.c buildtools/trunk/legacy/binutils/bfd/vms.h buildtools/trunk/legacy/binutils/bfd/xcoff-target.h buildtools/trunk/legacy/binutils/bfd/xcofflink.c buildtools/trunk/legacy/binutils/bfd/xsym.c buildtools/trunk/legacy/binutils/bfd/xsym.h buildtools/trunk/legacy/binutils/bfd/xtensa-isa.c buildtools/trunk/legacy/binutils/bfd/xtensa-modules.c buildtools/trunk/legacy/binutils/binutils/ChangeLog buildtools/trunk/legacy/binutils/binutils/ChangeLog-0001 buildtools/trunk/legacy/binutils/binutils/ChangeLog-0203 buildtools/trunk/legacy/binutils/binutils/ChangeLog-9197 buildtools/trunk/legacy/binutils/binutils/ChangeLog-9899 buildtools/trunk/legacy/binutils/binutils/MAINTAINERS buildtools/trunk/legacy/binutils/binutils/Makefile.am buildtools/trunk/legacy/binutils/binutils/Makefile.in buildtools/trunk/legacy/binutils/binutils/NEWS buildtools/trunk/legacy/binutils/binutils/README buildtools/trunk/legacy/binutils/binutils/acinclude.m4 buildtools/trunk/legacy/binutils/binutils/aclocal.m4 buildtools/trunk/legacy/binutils/binutils/addr2line.c buildtools/trunk/legacy/binutils/binutils/ar.c buildtools/trunk/legacy/binutils/binutils/arlex.c buildtools/trunk/legacy/binutils/binutils/arlex.l buildtools/trunk/legacy/binutils/binutils/arparse.c buildtools/trunk/legacy/binutils/binutils/arparse.h buildtools/trunk/legacy/binutils/binutils/arparse.y buildtools/trunk/legacy/binutils/binutils/arsup.c buildtools/trunk/legacy/binutils/binutils/arsup.h buildtools/trunk/legacy/binutils/binutils/binemul.c buildtools/trunk/legacy/binutils/binutils/binemul.h buildtools/trunk/legacy/binutils/binutils/bucomm.c buildtools/trunk/legacy/binutils/binutils/bucomm.h buildtools/trunk/legacy/binutils/binutils/budbg.h buildtools/trunk/legacy/binutils/binutils/budemang.c buildtools/trunk/legacy/binutils/binutils/budemang.h buildtools/trunk/legacy/binutils/binutils/coffdump.c buildtools/trunk/legacy/binutils/binutils/coffgrok.c buildtools/trunk/legacy/binutils/binutils/coffgrok.h buildtools/trunk/legacy/binutils/binutils/config.in buildtools/trunk/legacy/binutils/binutils/configure buildtools/trunk/legacy/binutils/binutils/configure.com buildtools/trunk/legacy/binutils/binutils/configure.in buildtools/trunk/legacy/binutils/binutils/configure.tgt buildtools/trunk/legacy/binutils/binutils/cxxfilt.c buildtools/trunk/legacy/binutils/binutils/debug.c buildtools/trunk/legacy/binutils/binutils/debug.h buildtools/trunk/legacy/binutils/binutils/deflex.c buildtools/trunk/legacy/binutils/binutils/deflex.l buildtools/trunk/legacy/binutils/binutils/defparse.c buildtools/trunk/legacy/binutils/binutils/defparse.h buildtools/trunk/legacy/binutils/binutils/defparse.y buildtools/trunk/legacy/binutils/binutils/dep-in.sed buildtools/trunk/legacy/binutils/binutils/dlltool.c buildtools/trunk/legacy/binutils/binutils/dlltool.h buildtools/trunk/legacy/binutils/binutils/dllwrap.c buildtools/trunk/legacy/binutils/binutils/doc/Makefile.am buildtools/trunk/legacy/binutils/binutils/doc/Makefile.in buildtools/trunk/legacy/binutils/binutils/doc/addr2line.1 buildtools/trunk/legacy/binutils/binutils/doc/ar.1 buildtools/trunk/legacy/binutils/binutils/doc/binutils.info buildtools/trunk/legacy/binutils/binutils/doc/binutils.texi buildtools/trunk/legacy/binutils/binutils/doc/cxxfilt.man buildtools/trunk/legacy/binutils/binutils/doc/dlltool.1 buildtools/trunk/legacy/binutils/binutils/doc/fdl.texi buildtools/trunk/legacy/binutils/binutils/doc/nlmconv.1 buildtools/trunk/legacy/binutils/binutils/doc/nm.1 buildtools/trunk/legacy/binutils/binutils/doc/objcopy.1 buildtools/trunk/legacy/binutils/binutils/doc/objdump.1 buildtools/trunk/legacy/binutils/binutils/doc/ranlib.1 buildtools/trunk/legacy/binutils/binutils/doc/readelf.1 buildtools/trunk/legacy/binutils/binutils/doc/size.1 buildtools/trunk/legacy/binutils/binutils/doc/strings.1 buildtools/trunk/legacy/binutils/binutils/doc/strip.1 buildtools/trunk/legacy/binutils/binutils/doc/windres.1 buildtools/trunk/legacy/binutils/binutils/emul_aix.c buildtools/trunk/legacy/binutils/binutils/emul_vanilla.c buildtools/trunk/legacy/binutils/binutils/filemode.c buildtools/trunk/legacy/binutils/binutils/ieee.c buildtools/trunk/legacy/binutils/binutils/is-ranlib.c buildtools/trunk/legacy/binutils/binutils/is-strip.c buildtools/trunk/legacy/binutils/binutils/makefile.vms-in buildtools/trunk/legacy/binutils/binutils/maybe-ranlib.c buildtools/trunk/legacy/binutils/binutils/maybe-strip.c buildtools/trunk/legacy/binutils/binutils/nlmconv.c buildtools/trunk/legacy/binutils/binutils/nlmconv.h buildtools/trunk/legacy/binutils/binutils/nlmheader.c buildtools/trunk/legacy/binutils/binutils/nlmheader.h buildtools/trunk/legacy/binutils/binutils/nlmheader.y buildtools/trunk/legacy/binutils/binutils/nm.c buildtools/trunk/legacy/binutils/binutils/not-ranlib.c buildtools/trunk/legacy/binutils/binutils/not-strip.c buildtools/trunk/legacy/binutils/binutils/objcopy.c buildtools/trunk/legacy/binutils/binutils/objdump.c buildtools/trunk/legacy/binutils/binutils/po/Make-in buildtools/trunk/legacy/binutils/binutils/po/POTFILES.in buildtools/trunk/legacy/binutils/binutils/po/binutils.pot buildtools/trunk/legacy/binutils/binutils/po/da.gmo buildtools/trunk/legacy/binutils/binutils/po/da.po buildtools/trunk/legacy/binutils/binutils/po/es.gmo buildtools/trunk/legacy/binutils/binutils/po/es.po buildtools/trunk/legacy/binutils/binutils/po/fr.gmo buildtools/trunk/legacy/binutils/binutils/po/fr.po buildtools/trunk/legacy/binutils/binutils/po/ja.gmo buildtools/trunk/legacy/binutils/binutils/po/ja.po buildtools/trunk/legacy/binutils/binutils/po/ru.gmo buildtools/trunk/legacy/binutils/binutils/po/ru.po buildtools/trunk/legacy/binutils/binutils/po/sv.gmo buildtools/trunk/legacy/binutils/binutils/po/sv.po buildtools/trunk/legacy/binutils/binutils/po/tr.gmo buildtools/trunk/legacy/binutils/binutils/po/tr.po buildtools/trunk/legacy/binutils/binutils/po/zh_CN.gmo buildtools/trunk/legacy/binutils/binutils/po/zh_CN.po buildtools/trunk/legacy/binutils/binutils/prdbg.c buildtools/trunk/legacy/binutils/binutils/ranlib.sh buildtools/trunk/legacy/binutils/binutils/rclex.c buildtools/trunk/legacy/binutils/binutils/rclex.l buildtools/trunk/legacy/binutils/binutils/rcparse.c buildtools/trunk/legacy/binutils/binutils/rcparse.h buildtools/trunk/legacy/binutils/binutils/rcparse.y buildtools/trunk/legacy/binutils/binutils/rdcoff.c buildtools/trunk/legacy/binutils/binutils/rddbg.c buildtools/trunk/legacy/binutils/binutils/readelf.c buildtools/trunk/legacy/binutils/binutils/rename.c buildtools/trunk/legacy/binutils/binutils/resbin.c buildtools/trunk/legacy/binutils/binutils/rescoff.c buildtools/trunk/legacy/binutils/binutils/resrc.c buildtools/trunk/legacy/binutils/binutils/resres.c buildtools/trunk/legacy/binutils/binutils/sanity.sh buildtools/trunk/legacy/binutils/binutils/size.c buildtools/trunk/legacy/binutils/binutils/srconv.c buildtools/trunk/legacy/binutils/binutils/stabs.c buildtools/trunk/legacy/binutils/binutils/stamp-h.in buildtools/trunk/legacy/binutils/binutils/strings.c buildtools/trunk/legacy/binutils/binutils/sysdump.c buildtools/trunk/legacy/binutils/binutils/sysinfo.c buildtools/trunk/legacy/binutils/binutils/sysinfo.h buildtools/trunk/legacy/binutils/binutils/sysinfo.y buildtools/trunk/legacy/binutils/binutils/syslex.c buildtools/trunk/legacy/binutils/binutils/syslex.l buildtools/trunk/legacy/binutils/binutils/sysroff.info buildtools/trunk/legacy/binutils/binutils/testsuite/ChangeLog buildtools/trunk/legacy/binutils/binutils/testsuite/ChangeLog-9303 buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/ar.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/bintest.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/dlltool.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/fastcall.def buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/hppa/addendbug.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/hppa/freg.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/hppa/objdump.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/nm.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/objcopy.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/objdump.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.h buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.r buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.r-64 buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.s buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.s-64 buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.ss buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.ss-64 buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.ss-mips buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/readelf.ss-tmips buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/size.exp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/testprog.c buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/README buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/bmp1.bmp buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/bmpalign.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/bmpalign.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/capstyle.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/capstyle.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/checkbox.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/checkbox.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/combobox.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/combobox.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/deflang.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/deflang.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialog0.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialog0.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialog1.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialog1.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialogid.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialogid.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialogsignature.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dialogsignature.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dlgfont.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/dlgfont.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/edittext.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/edittext.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapea.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapea.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapex.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/escapex.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/lang.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/lang.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/listbox.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/listbox.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/msupdate buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/nocaption.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/nocaption.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/printstyle.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/printstyle.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/quoteclass.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/scrollbar.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/scrollbar.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/strtab1.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/strtab1.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/sublang.rc buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/sublang.rsd buildtools/trunk/legacy/binutils/binutils/testsuite/binutils-all/windres/windres.exp buildtools/trunk/legacy/binutils/binutils/testsuite/config/default.exp buildtools/trunk/legacy/binutils/binutils/testsuite/config/hppa.sed buildtools/trunk/legacy/binutils/binutils/testsuite/lib/utils-lib.exp buildtools/trunk/legacy/binutils/binutils/unwind-ia64.c buildtools/trunk/legacy/binutils/binutils/unwind-ia64.h buildtools/trunk/legacy/binutils/binutils/version.c buildtools/trunk/legacy/binutils/binutils/windres.c buildtools/trunk/legacy/binutils/binutils/windres.h buildtools/trunk/legacy/binutils/binutils/winduni.c buildtools/trunk/legacy/binutils/binutils/winduni.h buildtools/trunk/legacy/binutils/binutils/wrstabs.c buildtools/trunk/legacy/binutils/config-ml.in buildtools/trunk/legacy/binutils/config.guess buildtools/trunk/legacy/binutils/config.sub buildtools/trunk/legacy/binutils/config/ChangeLog buildtools/trunk/legacy/binutils/config/acinclude.m4 buildtools/trunk/legacy/binutils/config/acx.m4 buildtools/trunk/legacy/binutils/config/gettext.m4 buildtools/trunk/legacy/binutils/config/mh-armpic buildtools/trunk/legacy/binutils/config/mh-cxux buildtools/trunk/legacy/binutils/config/mh-cygwin buildtools/trunk/legacy/binutils/config/mh-decstation buildtools/trunk/legacy/binutils/config/mh-dgux386 buildtools/trunk/legacy/binutils/config/mh-djgpp buildtools/trunk/legacy/binutils/config/mh-elfalphapic buildtools/trunk/legacy/binutils/config/mh-i370pic buildtools/trunk/legacy/binutils/config/mh-ia64pic buildtools/trunk/legacy/binutils/config/mh-interix buildtools/trunk/legacy/binutils/config/mh-lynxrs6k buildtools/trunk/legacy/binutils/config/mh-m68kpic buildtools/trunk/legacy/binutils/config/mh-ncr3000 buildtools/trunk/legacy/binutils/config/mh-necv4 buildtools/trunk/legacy/binutils/config/mh-papic buildtools/trunk/legacy/binutils/config/mh-ppcpic buildtools/trunk/legacy/binutils/config/mh-s390pic buildtools/trunk/legacy/binutils/config/mh-sco buildtools/trunk/legacy/binutils/config/mh-solaris buildtools/trunk/legacy/binutils/config/mh-sparcpic buildtools/trunk/legacy/binutils/config/mh-sysv4 buildtools/trunk/legacy/binutils/config/mh-sysv5 buildtools/trunk/legacy/binutils/config/mh-x86pic buildtools/trunk/legacy/binutils/config/mt-alphaieee buildtools/trunk/legacy/binutils/config/mt-d30v buildtools/trunk/legacy/binutils/config/mt-netware buildtools/trunk/legacy/binutils/config/mt-ospace buildtools/trunk/legacy/binutils/config/mt-v810 buildtools/trunk/legacy/binutils/config/mt-wince buildtools/trunk/legacy/binutils/config/no-executables.m4 buildtools/trunk/legacy/binutils/config/progtest.m4 buildtools/trunk/legacy/binutils/configure buildtools/trunk/legacy/binutils/configure.in buildtools/trunk/legacy/binutils/cpu/ChangeLog buildtools/trunk/legacy/binutils/cpu/frv.cpu buildtools/trunk/legacy/binutils/cpu/frv.opc buildtools/trunk/legacy/binutils/cpu/iq10.cpu buildtools/trunk/legacy/binutils/cpu/iq2000.cpu buildtools/trunk/legacy/binutils/cpu/iq2000.opc buildtools/trunk/legacy/binutils/cpu/iq2000m.cpu buildtools/trunk/legacy/binutils/cpu/simplify.inc buildtools/trunk/legacy/binutils/etc/Makefile.in buildtools/trunk/legacy/binutils/etc/configbuild.ein buildtools/trunk/legacy/binutils/etc/configbuild.fig buildtools/trunk/legacy/binutils/etc/configbuild.jin buildtools/trunk/legacy/binutils/etc/configbuild.tin buildtools/trunk/legacy/binutils/etc/configdev.ein buildtools/trunk/legacy/binutils/etc/configdev.fig buildtools/trunk/legacy/binutils/etc/configdev.jin buildtools/trunk/legacy/binutils/etc/configdev.tin buildtools/trunk/legacy/binutils/etc/configure buildtools/trunk/legacy/binutils/etc/configure.in buildtools/trunk/legacy/binutils/etc/configure.info buildtools/trunk/legacy/binutils/etc/configure.texi buildtools/trunk/legacy/binutils/etc/fdl.texi buildtools/trunk/legacy/binutils/etc/make-stds.texi buildtools/trunk/legacy/binutils/etc/standards.info buildtools/trunk/legacy/binutils/etc/standards.texi buildtools/trunk/legacy/binutils/etc/texi2pod.pl buildtools/trunk/legacy/binutils/gas/CONTRIBUTORS buildtools/trunk/legacy/binutils/gas/COPYING buildtools/trunk/legacy/binutils/gas/ChangeLog buildtools/trunk/legacy/binutils/gas/ChangeLog-0001 buildtools/trunk/legacy/binutils/gas/ChangeLog-0203 buildtools/trunk/legacy/binutils/gas/ChangeLog-9295 buildtools/trunk/legacy/binutils/gas/ChangeLog-9697 buildtools/trunk/legacy/binutils/gas/ChangeLog-9899 buildtools/trunk/legacy/binutils/gas/MAINTAINERS buildtools/trunk/legacy/binutils/gas/Makefile.am buildtools/trunk/legacy/binutils/gas/Makefile.in buildtools/trunk/legacy/binutils/gas/NEWS buildtools/trunk/legacy/binutils/gas/README buildtools/trunk/legacy/binutils/gas/acinclude.m4 buildtools/trunk/legacy/binutils/gas/aclocal.m4 buildtools/trunk/legacy/binutils/gas/app.c buildtools/trunk/legacy/binutils/gas/as.c buildtools/trunk/legacy/binutils/gas/as.h buildtools/trunk/legacy/binutils/gas/asintl.h buildtools/trunk/legacy/binutils/gas/atof-generic.c buildtools/trunk/legacy/binutils/gas/bignum.h buildtools/trunk/legacy/binutils/gas/bit_fix.h buildtools/trunk/legacy/binutils/gas/cgen.c buildtools/trunk/legacy/binutils/gas/cgen.h buildtools/trunk/legacy/binutils/gas/cond.c buildtools/trunk/legacy/binutils/gas/config.in buildtools/trunk/legacy/binutils/gas/config/aout_gnu.h buildtools/trunk/legacy/binutils/gas/config/atof-ieee.c buildtools/trunk/legacy/binutils/gas/config/atof-vax.c buildtools/trunk/legacy/binutils/gas/config/e-crisaout.c buildtools/trunk/legacy/binutils/gas/config/e-criself.c buildtools/trunk/legacy/binutils/gas/config/e-i386aout.c buildtools/trunk/legacy/binutils/gas/config/e-i386coff.c buildtools/trunk/legacy/binutils/gas/config/e-i386elf.c buildtools/trunk/legacy/binutils/gas/config/e-mipsecoff.c buildtools/trunk/legacy/binutils/gas/config/e-mipself.c buildtools/trunk/legacy/binutils/gas/config/itbl-mips.h buildtools/trunk/legacy/binutils/gas/config/m68k-parse.h buildtools/trunk/legacy/binutils/gas/config/m68k-parse.y buildtools/trunk/legacy/binutils/gas/config/obj-aout.c buildtools/trunk/legacy/binutils/gas/config/obj-aout.h buildtools/trunk/legacy/binutils/gas/config/obj-coff.c buildtools/trunk/legacy/binutils/gas/config/obj-coff.h buildtools/trunk/legacy/binutils/gas/config/obj-ecoff.c buildtools/trunk/legacy/binutils/gas/config/obj-ecoff.h buildtools/trunk/legacy/binutils/gas/config/obj-elf.c buildtools/trunk/legacy/binutils/gas/config/obj-elf.h buildtools/trunk/legacy/binutils/gas/config/obj-evax.c buildtools/trunk/legacy/binutils/gas/config/obj-evax.h buildtools/trunk/legacy/binutils/gas/config/obj-ieee.c buildtools/trunk/legacy/binutils/gas/config/obj-ieee.h buildtools/trunk/legacy/binutils/gas/config/obj-multi.c buildtools/trunk/legacy/binutils/gas/config/obj-multi.h buildtools/trunk/legacy/binutils/gas/config/obj-som.c buildtools/trunk/legacy/binutils/gas/config/obj-som.h buildtools/trunk/legacy/binutils/gas/config/tc-alpha.c buildtools/trunk/legacy/binutils/gas/config/tc-alpha.h buildtools/trunk/legacy/binutils/gas/config/tc-arc.c buildtools/trunk/legacy/binutils/gas/config/tc-arc.h buildtools/trunk/legacy/binutils/gas/config/tc-arm.c buildtools/trunk/legacy/binutils/gas/config/tc-arm.h buildtools/trunk/legacy/binutils/gas/config/tc-avr.c buildtools/trunk/legacy/binutils/gas/config/tc-avr.h buildtools/trunk/legacy/binutils/gas/config/tc-cris.c buildtools/trunk/legacy/binutils/gas/config/tc-cris.h buildtools/trunk/legacy/binutils/gas/config/tc-d10v.c buildtools/trunk/legacy/binutils/gas/config/tc-d10v.h buildtools/trunk/legacy/binutils/gas/config/tc-d30v.c buildtools/trunk/legacy/binutils/gas/config/tc-d30v.h buildtools/trunk/legacy/binutils/gas/config/tc-dlx.c buildtools/trunk/legacy/binutils/gas/config/tc-dlx.h buildtools/trunk/legacy/binutils/gas/config/tc-fr30.c buildtools/trunk/legacy/binutils/gas/config/tc-fr30.h buildtools/trunk/legacy/binutils/gas/config/tc-frv.c buildtools/trunk/legacy/binutils/gas/config/tc-frv.h buildtools/trunk/legacy/binutils/gas/config/tc-generic.c buildtools/trunk/legacy/binutils/gas/config/tc-generic.h buildtools/trunk/legacy/binutils/gas/config/tc-h8300.c buildtools/trunk/legacy/binutils/gas/config/tc-h8300.h buildtools/trunk/legacy/binutils/gas/config/tc-hppa.c buildtools/trunk/legacy/binutils/gas/config/tc-hppa.h buildtools/trunk/legacy/binutils/gas/config/tc-i370.c buildtools/trunk/legacy/binutils/gas/config/tc-i370.h buildtools/trunk/legacy/binutils/gas/config/tc-i386.c buildtools/trunk/legacy/binutils/gas/config/tc-i386.h buildtools/trunk/legacy/binutils/gas/config/tc-i860.c buildtools/trunk/legacy/binutils/gas/config/tc-i860.h buildtools/trunk/legacy/binutils/gas/config/tc-i960.c buildtools/trunk/legacy/binutils/gas/config/tc-i960.h buildtools/trunk/legacy/binutils/gas/config/tc-ia64.c buildtools/trunk/legacy/binutils/gas/config/tc-ia64.h buildtools/trunk/legacy/binutils/gas/config/tc-ip2k.c buildtools/trunk/legacy/binutils/gas/config/tc-ip2k.h buildtools/trunk/legacy/binutils/gas/config/tc-iq2000.c buildtools/trunk/legacy/binutils/gas/config/tc-iq2000.h buildtools/trunk/legacy/binutils/gas/config/tc-m32r.c buildtools/trunk/legacy/binutils/gas/config/tc-m32r.h buildtools/trunk/legacy/binutils/gas/config/tc-m68851.h buildtools/trunk/legacy/binutils/gas/config/tc-m68hc11.c buildtools/trunk/legacy/binutils/gas/config/tc-m68hc11.h buildtools/trunk/legacy/binutils/gas/config/tc-m68k.c buildtools/trunk/legacy/binutils/gas/config/tc-m68k.h buildtools/trunk/legacy/binutils/gas/config/tc-mcore.c buildtools/trunk/legacy/binutils/gas/config/tc-mcore.h buildtools/trunk/legacy/binutils/gas/config/tc-mips.c buildtools/trunk/legacy/binutils/gas/config/tc-mips.h buildtools/trunk/legacy/binutils/gas/config/tc-mmix.c buildtools/trunk/legacy/binutils/gas/config/tc-mmix.h buildtools/trunk/legacy/binutils/gas/config/tc-mn10200.c buildtools/trunk/legacy/binutils/gas/config/tc-mn10200.h buildtools/trunk/legacy/binutils/gas/config/tc-mn10300.c buildtools/trunk/legacy/binutils/gas/config/tc-mn10300.h buildtools/trunk/legacy/binutils/gas/config/tc-msp430.c buildtools/trunk/legacy/binutils/gas/config/tc-msp430.h buildtools/trunk/legacy/binutils/gas/config/tc-ns32k.c buildtools/trunk/legacy/binutils/gas/config/tc-ns32k.h buildtools/trunk/legacy/binutils/gas/config/tc-openrisc.c buildtools/trunk/legacy/binutils/gas/config/tc-openrisc.h buildtools/trunk/legacy/binutils/gas/config/tc-or32.c buildtools/trunk/legacy/binutils/gas/config/tc-or32.h buildtools/trunk/legacy/binutils/gas/config/tc-pdp11.c buildtools/trunk/legacy/binutils/gas/config/tc-pdp11.h buildtools/trunk/legacy/binutils/gas/config/tc-pj.c buildtools/trunk/legacy/binutils/gas/config/tc-pj.h buildtools/trunk/legacy/binutils/gas/config/tc-ppc.c buildtools/trunk/legacy/binutils/gas/config/tc-ppc.h buildtools/trunk/legacy/binutils/gas/config/tc-s390.c buildtools/trunk/legacy/binutils/gas/config/tc-s390.h buildtools/trunk/legacy/binutils/gas/config/tc-sh.c buildtools/trunk/legacy/binutils/gas/config/tc-sh.h buildtools/trunk/legacy/binutils/gas/config/tc-sh64.c buildtools/trunk/legacy/binutils/gas/config/tc-sh64.h buildtools/trunk/legacy/binutils/gas/config/tc-sparc.c buildtools/trunk/legacy/binutils/gas/config/tc-sparc.h buildtools/trunk/legacy/binutils/gas/config/tc-tic30.c buildtools/trunk/legacy/binutils/gas/config/tc-tic30.h buildtools/trunk/legacy/binutils/gas/config/tc-tic4x.c buildtools/trunk/legacy/binutils/gas/config/tc-tic4x.h buildtools/trunk/legacy/binutils/gas/config/tc-tic54x.c buildtools/trunk/legacy/binutils/gas/config/tc-tic54x.h buildtools/trunk/legacy/binutils/gas/config/tc-v850.c buildtools/trunk/legacy/binutils/gas/config/tc-v850.h buildtools/trunk/legacy/binutils/gas/config/tc-vax.c buildtools/trunk/legacy/binutils/gas/config/tc-vax.h buildtools/trunk/legacy/binutils/gas/config/tc-xstormy16.c buildtools/trunk/legacy/binutils/gas/config/tc-xstormy16.h buildtools/trunk/legacy/binutils/gas/config/tc-xtensa.c buildtools/trunk/legacy/binutils/gas/config/tc-xtensa.h buildtools/trunk/legacy/binutils/gas/config/tc-z8k.c buildtools/trunk/legacy/binutils/gas/config/tc-z8k.h buildtools/trunk/legacy/binutils/gas/config/te-386bsd.h buildtools/trunk/legacy/binutils/gas/config/te-aix5.h buildtools/trunk/legacy/binutils/gas/config/te-dynix.h buildtools/trunk/legacy/binutils/gas/config/te-epoc-pe.h buildtools/trunk/legacy/binutils/gas/config/te-freebsd.h buildtools/trunk/legacy/binutils/gas/config/te-generic.h buildtools/trunk/legacy/binutils/gas/config/te-go32.h buildtools/trunk/legacy/binutils/gas/config/te-hppa.h buildtools/trunk/legacy/binutils/gas/config/te-hppa64.h buildtools/trunk/legacy/binutils/gas/config/te-hppalinux64.h buildtools/trunk/legacy/binutils/gas/config/te-hpux.h buildtools/trunk/legacy/binutils/gas/config/te-i386aix.h buildtools/trunk/legacy/binutils/gas/config/te-ia64aix.h buildtools/trunk/legacy/binutils/gas/config/te-interix.h buildtools/trunk/legacy/binutils/gas/config/te-irix.h buildtools/trunk/legacy/binutils/gas/config/te-linux.h buildtools/trunk/legacy/binutils/gas/config/te-lnews.h buildtools/trunk/legacy/binutils/gas/config/te-lynx.h buildtools/trunk/legacy/binutils/gas/config/te-mach.h buildtools/trunk/legacy/binutils/gas/config/te-macos.h buildtools/trunk/legacy/binutils/gas/config/te-nbsd.h buildtools/trunk/legacy/binutils/gas/config/te-nbsd532.h buildtools/trunk/legacy/binutils/gas/config/te-pc532mach.h buildtools/trunk/legacy/binutils/gas/config/te-pe.h buildtools/trunk/legacy/binutils/gas/config/te-psos.h buildtools/trunk/legacy/binutils/gas/config/te-riscix.h buildtools/trunk/legacy/binutils/gas/config/te-sparcaout.h buildtools/trunk/legacy/binutils/gas/config/te-sun3.h buildtools/trunk/legacy/binutils/gas/config/te-svr4.h buildtools/trunk/legacy/binutils/gas/config/te-tmips.h buildtools/trunk/legacy/binutils/gas/config/te-wince-pe.h buildtools/trunk/legacy/binutils/gas/config/vax-inst.h buildtools/trunk/legacy/binutils/gas/config/xtensa-istack.h buildtools/trunk/legacy/binutils/gas/config/xtensa-relax.c buildtools/trunk/legacy/binutils/gas/config/xtensa-relax.h buildtools/trunk/legacy/binutils/gas/configure buildtools/trunk/legacy/binutils/gas/configure.in buildtools/trunk/legacy/binutils/gas/debug.c buildtools/trunk/legacy/binutils/gas/dep-in.sed buildtools/trunk/legacy/binutils/gas/depend.c buildtools/trunk/legacy/binutils/gas/doc/Makefile.am buildtools/trunk/legacy/binutils/gas/doc/Makefile.in buildtools/trunk/legacy/binutils/gas/doc/all.texi buildtools/trunk/legacy/binutils/gas/doc/as.1 buildtools/trunk/legacy/binutils/gas/doc/as.texinfo buildtools/trunk/legacy/binutils/gas/doc/c-alpha.texi buildtools/trunk/legacy/binutils/gas/doc/c-arc.texi buildtools/trunk/legacy/binutils/gas/doc/c-arm.texi buildtools/trunk/legacy/binutils/gas/doc/c-cris.texi buildtools/trunk/legacy/binutils/gas/doc/c-d10v.texi buildtools/trunk/legacy/binutils/gas/doc/c-d30v.texi buildtools/trunk/legacy/binutils/gas/doc/c-h8300.texi buildtools/trunk/legacy/binutils/gas/doc/c-hppa.texi buildtools/trunk/legacy/binutils/gas/doc/c-i370.texi buildtools/trunk/legacy/binutils/gas/doc/c-i386.texi buildtools/trunk/legacy/binutils/gas/doc/c-i860.texi buildtools/trunk/legacy/binutils/gas/doc/c-i960.texi buildtools/trunk/legacy/binutils/gas/doc/c-ia64.texi buildtools/trunk/legacy/binutils/gas/doc/c-ip2k.texi buildtools/trunk/legacy/binutils/gas/doc/c-m32r.texi buildtools/trunk/legacy/binutils/gas/doc/c-m68hc11.texi buildtools/trunk/legacy/binutils/gas/doc/c-m68k.texi buildtools/trunk/legacy/binutils/gas/doc/c-mips.texi buildtools/trunk/legacy/binutils/gas/doc/c-mmix.texi buildtools/trunk/legacy/binutils/gas/doc/c-msp430.texi buildtools/trunk/legacy/binutils/gas/doc/c-ns32k.texi buildtools/trunk/legacy/binutils/gas/doc/c-pdp11.texi buildtools/trunk/legacy/binutils/gas/doc/c-pj.texi buildtools/trunk/legacy/binutils/gas/doc/c-ppc.texi buildtools/trunk/legacy/binutils/gas/doc/c-sh.texi buildtools/trunk/legacy/binutils/gas/doc/c-sh64.texi buildtools/trunk/legacy/binutils/gas/doc/c-sparc.texi buildtools/trunk/legacy/binutils/gas/doc/c-tic54x.texi buildtools/trunk/legacy/binutils/gas/doc/c-v850.texi buildtools/trunk/legacy/binutils/gas/doc/c-vax.texi buildtools/trunk/legacy/binutils/gas/doc/c-xtensa.texi buildtools/trunk/legacy/binutils/gas/doc/c-z8k.texi buildtools/trunk/legacy/binutils/gas/doc/fdl.texi buildtools/trunk/legacy/binutils/gas/doc/gasver.texi buildtools/trunk/legacy/binutils/gas/doc/h8.texi buildtools/trunk/legacy/binutils/gas/doc/internals.texi buildtools/trunk/legacy/binutils/gas/dw2gencfi.c buildtools/trunk/legacy/binutils/gas/dw2gencfi.h buildtools/trunk/legacy/binutils/gas/dwarf2dbg.c buildtools/trunk/legacy/binutils/gas/dwarf2dbg.h buildtools/trunk/legacy/binutils/gas/ecoff.c buildtools/trunk/legacy/binutils/gas/ecoff.h buildtools/trunk/legacy/binutils/gas/ehopt.c buildtools/trunk/legacy/binutils/gas/emul-target.h buildtools/trunk/legacy/binutils/gas/emul.h buildtools/trunk/legacy/binutils/gas/expr.c buildtools/trunk/legacy/binutils/gas/expr.h buildtools/trunk/legacy/binutils/gas/flonum-copy.c buildtools/trunk/legacy/binutils/gas/flonum-konst.c buildtools/trunk/legacy/binutils/gas/flonum-mult.c buildtools/trunk/legacy/binutils/gas/flonum.h buildtools/trunk/legacy/binutils/gas/frags.c buildtools/trunk/legacy/binutils/gas/frags.h buildtools/trunk/legacy/binutils/gas/gdbinit.in buildtools/trunk/legacy/binutils/gas/hash.c buildtools/trunk/legacy/binutils/gas/hash.h buildtools/trunk/legacy/binutils/gas/input-file.c buildtools/trunk/legacy/binutils/gas/input-file.h buildtools/trunk/legacy/binutils/gas/input-scrub.c buildtools/trunk/legacy/binutils/gas/itbl-lex.c buildtools/trunk/legacy/binutils/gas/itbl-lex.l buildtools/trunk/legacy/binutils/gas/itbl-ops.c buildtools/trunk/legacy/binutils/gas/itbl-ops.h buildtools/trunk/legacy/binutils/gas/itbl-parse.c buildtools/trunk/legacy/binutils/gas/itbl-parse.h buildtools/trunk/legacy/binutils/gas/itbl-parse.y buildtools/trunk/legacy/binutils/gas/listing.c buildtools/trunk/legacy/binutils/gas/listing.h buildtools/trunk/legacy/binutils/gas/literal.c buildtools/trunk/legacy/binutils/gas/m68k-parse.c buildtools/trunk/legacy/binutils/gas/macro.c buildtools/trunk/legacy/binutils/gas/macro.h buildtools/trunk/legacy/binutils/gas/messages.c buildtools/trunk/legacy/binutils/gas/obj.h buildtools/trunk/legacy/binutils/gas/output-file.c buildtools/trunk/legacy/binutils/gas/output-file.h buildtools/trunk/legacy/binutils/gas/po/Make-in buildtools/trunk/legacy/binutils/gas/po/POTFILES.in buildtools/trunk/legacy/binutils/gas/po/es.gmo buildtools/trunk/legacy/binutils/gas/po/es.po buildtools/trunk/legacy/binutils/gas/po/fr.gmo buildtools/trunk/legacy/binutils/gas/po/fr.po buildtools/trunk/legacy/binutils/gas/po/gas.pot buildtools/trunk/legacy/binutils/gas/po/tr.gmo buildtools/trunk/legacy/binutils/gas/po/tr.po buildtools/trunk/legacy/binutils/gas/read.c buildtools/trunk/legacy/binutils/gas/read.h buildtools/trunk/legacy/binutils/gas/sb.c buildtools/trunk/legacy/binutils/gas/sb.h buildtools/trunk/legacy/binutils/gas/stabs.c buildtools/trunk/legacy/binutils/gas/stamp-h.in buildtools/trunk/legacy/binutils/gas/struc-symbol.h buildtools/trunk/legacy/binutils/gas/subsegs.c buildtools/trunk/legacy/binutils/gas/subsegs.h buildtools/trunk/legacy/binutils/gas/symbols.c buildtools/trunk/legacy/binutils/gas/symbols.h buildtools/trunk/legacy/binutils/gas/tc.h buildtools/trunk/legacy/binutils/gas/testsuite/ChangeLog buildtools/trunk/legacy/binutils/gas/testsuite/ChangeLog-9303 buildtools/trunk/legacy/binutils/gas/testsuite/config/default.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/align.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/align2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/align2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/cofftag.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/cofftag.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/comment.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/cond.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/diff1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/fastcall.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/float.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/gas.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/incbin.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/incbin.dat buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/incbin.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/itbl buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/itbl-test.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/itbl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/p1480.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/p2425.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/struct.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/struct.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/test-example.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/test-gen.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/all/x930509.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/alpha.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-3.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-6.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-reloc-8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-3.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-tls-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-usepv-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-usepv-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-usepv-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/elf-usepv-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/fp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/fp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/unop.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/alpha/unop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/adc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/adc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/add.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/alias.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/alias.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/and.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/and.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/arc.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/asl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/asl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/asr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/asr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/bic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/bic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/bl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/bl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/brk.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/brk.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/extw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/flag.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/flag.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/insn3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/insn3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/j.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/j.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/jl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/jl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ld.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ld.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ld2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ld2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/lp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/lp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/lsr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/lsr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/math.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/math.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/mov.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/mov.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/nop.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/nop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/or.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/or.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/rlc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/rlc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ror.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/ror.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/rrc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/rrc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sbc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sbc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sexb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sexb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sexw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sexw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sleep.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sleep.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sshift.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sshift.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/st.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/st.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sub.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/swi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/swi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/warn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/warn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/xor.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arc/xor.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/adrl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/adrl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch4t.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch5tej.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arch5tej.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/archv6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm7dm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm7t.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/arm7t.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/armv1-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/armv1-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/armv1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/armv1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/copro.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/copro.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/el_segundo.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/el_segundo.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/float.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-dyadic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-dyadic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-mem.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-mem.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-monadic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/fpa-monadic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/immed.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/inst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/inst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/iwmmxt.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/ldconst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/ldconst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/le-fpconst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/le-fpconst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/mapping.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/mapping.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/maverick.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/maverick.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/maverick.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/offset.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/r15-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/r15-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/req.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/req.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumbv6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/thumbv6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/undefined.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp-bad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1xD.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp1xD.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/vfp2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/wince_inst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/xscale.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/arm/xscale.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-alpha-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-common-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-diag-1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-diag-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-i386-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-i386-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-i386.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-i386.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-m68k.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-m68k.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-ppc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-ppc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-s390-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-s390-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-s390x-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-s390x-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sh-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sh-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sparc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sparc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sparc64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-sparc64-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-x86_64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi-x86_64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cfi/cfi.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/addi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/addi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop-cmpmove.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop-cmpmovx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop-extx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop-segref.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/binop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/bork.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/bork.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/branch-warn-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/branch-warn-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/branch-warn-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/break.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/break.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/brokw-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/bwtest-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/ccr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/ccr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/clear.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/continue.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/continue.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/cris.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/diffexp-ovwr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/diffexp-ovwr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/fragtest.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/fragtest.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/jump-type.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/labfloat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/labfloat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/macroat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/macroat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/movem-to-reg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/mulbug-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/nosep.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/nosep.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/oneop-type.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/operand-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pic-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/prefix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/prefix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop-byte-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop-dcr1-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop-dword-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop-word-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/pushpop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/quick-s6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/quick-u5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/quick-u6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/quick.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/range-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/range-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bcnst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-bcnst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-10.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-11.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-13.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-14.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-15.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-dw2-9.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-mulbug-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcrel1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcrel1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcrel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pcrel2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pic-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-pic-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-regprefix-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-regprefix-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/rd-regprefix-1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/reg-to-mem.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/regprefix-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/regreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/regreg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/return.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/return.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/scc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/scc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/sep-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/sep-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/sep-err-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/separator.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/separator.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/shexpr-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/shexpr-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/sreg-to-x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/string-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/string-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/string-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/string-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/test.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/unimplemented.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/unimplemented.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/unop-mem.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/unop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/us-err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/us-err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/us-err-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/x-to-byte-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/x-to-dcr1-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/x-to-dword-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/cris/x-to-word-sreg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-002.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-002.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-003.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-003.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-004.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-004.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-005.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-005.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-006.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-006.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-007.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-007.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-008.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-008.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-009.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-009.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-010.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-010.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-011.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-011.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-012.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-012.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-013.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-013.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-014.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-014.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-015.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-015.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-016.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-016.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-017.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-017.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-018.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-018.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-019.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-019.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-020.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-020.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-021.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-021.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-022.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-022.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-023.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-023.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-024.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-024.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-025.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-025.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-026.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-026.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-027.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-027.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-028.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-028.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-029.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-029.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-030.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-030.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-031.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-031.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-032.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-032.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-033.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-033.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-034.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-034.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-035.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-035.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-036.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-036.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-037.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-037.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-038.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-038.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-039.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-039.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-040.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-040.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-041.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/address-041.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/control-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/control-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/d10v.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/error-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/error-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/error-002.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/error-002.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-002.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-002.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-003.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-003.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-004.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-004.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-005.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-005.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-006.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-006.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-007.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/immediate-007.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/inst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/inst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-002.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-002.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-003.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-003.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-004.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-004.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-005.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-005.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-006.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-006.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-007.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-007.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-008.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-009.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing-010.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/instruction_packing.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/label-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/label-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-002.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-002.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-003.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-003.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-004.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-004.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-005.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-005.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-006.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-006.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-007.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-007.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-008.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-008.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-009.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-009.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-010.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-010.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-011.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-011.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-012.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-012.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-013.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-013.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-014.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-014.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-015.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-016.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-016.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-017.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-017.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-018.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-018.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-019.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d10v/warning-019.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/align.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/array.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/array.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/bittest.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/bittest.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/bittest.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/d30.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/guard-debug.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/guard-debug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/guard.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/guard.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/inst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/inst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/label-debug.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/label-debug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/label.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/label.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/mul.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/mul.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/opt.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/opt.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial2O.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/serial2O.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/warn_oddreg.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/d30v/warn_oddreg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/alltests.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/itype.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/itype.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/lhi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/lhi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/load.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/load.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/lohi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/lohi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/rtype.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/rtype.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/store.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/dlx/store.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/ehopt0.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/ehopt0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/elf.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section0.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.e-m32r buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.e-mips buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.e-miwmmxt buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/section3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/symver.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/symver.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/type.e buildtools/trunk/legacy/binutils/gas/testsuite/gas/elf/type.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/fr30/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/fr30/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/fr30/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/fr30/fr30.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fdpic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/fdpic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/reloc1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/frv/reloc1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/addsub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/addsubh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/addsubs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops1h.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops1s.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops2h.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops2s.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops3h.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops3s.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops4h.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/bitops4s.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branch-coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branch-elf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branchh-coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branchh-elf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branchs-coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/branchs-elf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/cbranch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/cbranchh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/cbranchs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/cmpsi2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/compare.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/compareh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/compares.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/decimal.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/decimalh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/decimals.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/divmul.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/divmulh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/divmuls.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/extendh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/extends.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/ffxx1-coff.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/ffxx1-coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/ffxx1-elf.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/ffxx1-elf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8300-coff.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8300-elf.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8300.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_disp2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_disp2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_mov_imm.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_mov_imm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_rtsl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/h8sx_rtsl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/incdec.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/incdech.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/incdecs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/logical.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/logicalh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/logicals.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/macs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/misc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/misch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/miscs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/mov32bug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movbh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movbs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movlh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movls.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movwh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/movws.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/multiples.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/pushpop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/pushpoph.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/pushpops.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/rotsh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/rotshh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/rotshs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t01_mov.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t01_mov.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t02_mova.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t02_mova.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t03_add.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t03_add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t04_sub.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t04_sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t05_cmp.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t05_cmp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t06_ari2.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t06_ari2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t07_ari3.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t07_ari3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t08_or.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t08_or.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t09_xor.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t09_xor.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t10_and.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t10_and.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t11_logs.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t11_logs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t12_bit.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t12_bit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t13_otr.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/h8300/t13_otr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/README buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/add2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/addi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/basic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/branch2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/comclr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/copr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/coprmem.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/dcor.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/dcor2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/deposit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/deposit2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/deposit3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/ds.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/extract.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/extract2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/extract3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fmem.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fmemLRbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fp_comp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fp_comp2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fp_conv.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fp_fcmp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/fp_misc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/imem.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/immed.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/logical.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/media.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/perf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/purge.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/purge2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/sh1add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/sh2add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/sh3add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/shift.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/shift2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/shift3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/shladd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/shladd2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/special.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/spop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/sub2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/subi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/system.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/system2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/unit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/unit2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/basic/weird.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/align1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/align2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/appbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/badfmpyadd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/block1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/block2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/calldatabug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/callinfobug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/defbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/entrybug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/exportbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/exprbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/fixup7bug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/global.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/labelbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/linesepbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/lselbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/nosubspace.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/parse.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/procbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/regpopbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/space.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/spacebug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/ssbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/stdreg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/stringer.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/undefbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/versionbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/parse/xmpyubug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/applybug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/blebug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/blebug2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/blebug3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/exitbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/fixupbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/funcrelocbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/labelopbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/longcall.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/picreloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/plabelbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/r_no_reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/reduce.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/reduce2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/reduce3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/reloc.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/roundmode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/reloc/selectorbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/align3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/align4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/brlenbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/common.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/fragbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/globalbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/importbug.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/labeldiffs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/locallabel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/ss_align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/hppa/unsorted/unsorted.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/absrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/absrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/amd.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/amd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/divide.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/divide.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/float.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/float.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/general.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/general.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/gotpc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/gotpc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/i386.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intel16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelpic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/intelpic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/inval.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/inval.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/jump.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/jump.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/jump16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/jump16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/katmai.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/katmai.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/modrm.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/modrm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/naked.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/naked.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/opcode.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/opcode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/padlock.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/padlock.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/prefix.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/prefix.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/prescott.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/prescott.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/relax.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/relax.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sse2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sse2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/ssemmx2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/ssemmx2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sub.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlsd.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlsd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlsnopic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlsnopic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlspic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/tlspic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/white.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/white.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-inval.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-inval.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-opcode.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86-64-opcode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86_64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i386/x86_64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/README.i860 buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/bitwise.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/bitwise.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/bte.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/bte.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-align01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-align01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel02.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel02.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel03-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dir-intel03-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual02-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual02-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual03.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/dual03.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst02.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst02.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst03.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst03.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst04.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst04.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst05.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst05.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst06.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst06.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst07.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst07.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst08.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/fldst08.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float02.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float02.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float03.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float03.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float04.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/float04.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/form.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/form.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/i860.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/iarith.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/iarith.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst02.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst02.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst03.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst03.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst04.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst04.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst05.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst05.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst06.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/ldst06.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfam.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfam.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfmam.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfmam.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfmsm.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfmsm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfsm.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pfsm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pseudo-ops01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/pseudo-ops01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/regress01.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/regress01.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/shift.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/shift.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/simd.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/simd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/system.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/system.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/xp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/i860/xp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/alias-ilp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/alias.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/alias.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/align.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dependency-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dependency-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-branch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-entry-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-entry-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-imply.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-imply.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-mutex-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-mutex-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-mutex.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-mutex.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-raw-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-raw-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-safe.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-safe.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-srlz.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-srlz.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-war-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-war-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-waw-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/dv-waw-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/fixup-dump.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/global.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/global.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ia64.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ldxmov-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ldxmov-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ldxmov-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ldxmov-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/ltoff22x-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-a-err.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-a-err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-a.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-b.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-f.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-f.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-f.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-i.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-i.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-i.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-m.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-m.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-m.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/opc-x.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/order.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/order.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/real.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/real.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/regs.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/regs.pl buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/regs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/secname-ilp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/secname.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/secname.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/tls.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/tls.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind-ilp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ia64/unwind.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ieee-fp/x930509a.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/ieee-fp/x930509a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/hazard5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/load-hazards.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/nohazard.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/noyield.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/odd-ldw.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/odd-sdw.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/oddldw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/oddsdw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/yield.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/yield0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/yield1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/iq2000/yield2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/error.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/fslot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/fslot.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/fslotx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/fslotx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/high-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/high-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/interfere.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32r.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32r2.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32r2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32rx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32rx.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/m32rx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/outofrange.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/parallel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/pic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/relax-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/relax-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/relax-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/relax-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/signed-relocs.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/signed-relocs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/uppercase.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/uppercase.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m32r/wrongsize.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/abi-m68hc11-16-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/abi-m68hc11-16-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/abi-m68hc11-32-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/abi-m68hc11-32-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/abi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/all_insns.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/all_insns.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/branchs12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/branchs12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/bug-1825.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/bug-1825.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/indexed12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/indexed12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/insns-dwarf2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/insns.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/insns.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/insns12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/insns12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/lbranch-dwarf2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/lbranch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/lbranch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/m68hc11.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/malis-include.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/malis.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/malis.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/movb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/movb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/opers12-dwarf2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/opers12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68hc11/opers12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/gas.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/p2389.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/p2389a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/p2430.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/p2430a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k-coff/t1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/all.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/bitfield.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/bitfield.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/cas.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/cas.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/disperr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/fmoveml.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/fmoveml.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/link.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/link.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-mov3q.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/mcf-mov3q.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/op68000.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/operands.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/operands.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/p2410.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/p2663.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/pic1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/t2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/m68k/t2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/and.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/app4b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/err.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/irp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/irp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/macros.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/rept.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/rept.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/semi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/semi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/strings.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/strings.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/macros/test3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mcore/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mcore/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mcore/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/abs.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/abs.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/add.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/and.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/and.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/baddata1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/baddata1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/beq.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/beq.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bge.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bge.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bgeu.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bgeu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/blt.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/blt.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bltu.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/bltu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/branch-misc-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/break20.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/break20.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-mips32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-mips32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-mips64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-mips64r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-numeric.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names-sb1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-mips32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-mips32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-mips64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-mips64r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-numeric.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names-sb1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/cp0sel-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/delay.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/delay.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/div-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/div.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/div.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/dli.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/dli.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/e32-rel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/e32-rel4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/e32el-rel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-consthilo.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-consthilo.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-jal.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-got-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-got-n32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-got-n64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-got-n64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-xgot-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel-xgot-n64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel10.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel10.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel11.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel11.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel12.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel12.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel13.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel13.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel14.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel14.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel15.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel15.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel17.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel17.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel18.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel18.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel19.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel19.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel9.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf-rel9.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_arch_mips64r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_ase_mips16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elf_e_flags4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elfel-rel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elfel-rel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/elfel-rel3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/empty.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/expr1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/expr1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/fpr-names-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/fpr-names-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/fpr-names-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/fpr-names-numeric.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/fpr-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/gpr-names-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/gpr-names-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/gpr-names-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/gpr-names-numeric.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/gpr-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/hwr-names-mips32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/hwr-names-mips64r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/hwr-names-numeric.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/hwr-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/illegal.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/illegal.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/itbl buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/itbl.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-newabi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-newabi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-range.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-range.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-svr4pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/jal.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/la.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-xgot-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lca-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lca-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lca.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-ilocks-addr32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ld.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32-shared.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n64-shared.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ldstla-n64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/li.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/li.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lif-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lif-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lifloat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lifloat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lineno.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/lineno.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-1-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-1-n32.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-2-n32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-3.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-4.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/macro-warn-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32-pic2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32-pic2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-abi32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp32-fp64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp64.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-gp64-fp64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-jalx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-jalx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-no-jalx.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips-no-jalx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-e.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-e.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-f.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-f.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-jalx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16-jalx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2-ill-fp64.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2-ill-fp64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2-ill.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2-ill.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips32r2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4010.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4010.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4100.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4100.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4650.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips4650.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips5.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mdmx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mdmx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mips3d-incl.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mips3d.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mips3d.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64-mips3d.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64r2-ill.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64r2-ill.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64r2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mips64r2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mipsel16-e.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mipsel16-f.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mul-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mul.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/mul.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/n32-consec.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/n32-consec.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/nodelay.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/perfcount.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/perfcount.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap1-mips1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap1-mips2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax-swap2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/relax.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rm7000.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rm7000.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol-hw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol64-hw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/rol64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb1-ext-mdmx.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb1-ext-mdmx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb1-ext-ps.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sb1-ext-ps.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/set-arch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/set-arch.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/set-arch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sync.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/sync.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tmips16-e.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tmips16-f.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tmipsel16-e.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/tmipsel16-f.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/trap20.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/trap20.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/trunc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/trunc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld2-eb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld2-el.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/uld2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh-pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh-svr4pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh-xgot.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh2-eb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh2-el.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulh2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2-eb-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2-eb.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2-el-ilocks.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2-el.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ulw2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/usd.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/usd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ush.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/ush.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/usw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/usw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4111.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4111.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4120.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr4120.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr5400.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr5400.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr5500.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mips/vr5500.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1b-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1b-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1b.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1cjmp1brn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1hjmp1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1hjmp1b.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/1hjmp1b.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/align-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/align-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-10.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-10.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-11.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-11.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-1b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-2b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-3b.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-9.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/basep-9.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bspec-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bspec-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bspec-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bspec-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/builtin1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/builtin1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/builtin2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/builtin3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/byte-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/byte-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bz-c.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/bz-c.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/comment-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/cons-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/cons-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/cons-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/cons-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bpo6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bspec-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bspec-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bspec-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bspec-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-bspec-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-builtin.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-byte1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-byte2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-case.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-fb-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-greg1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-insn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-is-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-loc-8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-local1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-local2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-ser-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/err-set.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/expr-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/expr-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/fb-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/fb-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/fb-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/fb-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/get-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/get-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/get-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/get-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-c.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-c.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-opn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/geta-oprn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg1a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg2a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg6.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg7.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg9.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/greg9.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/hex.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/is-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/is-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-op-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jmp-oprn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jump-c.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/jump-c.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-in-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-in-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-in-rn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-insns.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-insns.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-insns.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-pseudoints.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-pseudoints.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-textfirst buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-textfirst.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/list-textfirst.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/loc-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/local-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/local-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/locall1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/locall1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/mmix-err.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/mmix-list.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/mmix.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/odd-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/odd-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/op-0-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/op-0-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/op-0-1s.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/op-0-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pop-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pop-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pop-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pop-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/prefix3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pseudo-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pseudo-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushgo-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushgo-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushgo-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushgo-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushj-c.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushj-c.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/pushj-cs.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/put-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/put-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/put-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/put-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg3-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg3-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg3-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reg3-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regt-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regt-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regt-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regt-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regx-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regx-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regx-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regx-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regy-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regy-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regy-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/regy-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1-rn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relax2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc16-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc16-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc16.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc16.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc16.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc8-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc8.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc8.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloc8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relocl-n.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab-rs.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab-s.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclab.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/reloclrn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/relocxrn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/resume-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/resume-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/resume-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/resume-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/round2-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/round2-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/round2-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/round2-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundi-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundi-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundi-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundi-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundr-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundr-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundr-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/roundr-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/save-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/save-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/save-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/save-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/set-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/set.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/set.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/set.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/swym-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/swym-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/swym-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/swym-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sym-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sym-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sync-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sync-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sync-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/sync-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/two-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/two-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/two-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/two-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/unsave-op-r.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/unsave-op.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/unsave-op.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/unsave-op.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/weak1-s.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/weak1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/weak1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/zerop-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mmix/zerop-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/basic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/bcc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/bccx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/bit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/cmp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/ext.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/logical.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/mov1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/mov2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/mov3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/mov4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/movb.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/movbu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/movx.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/muldiv.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/other.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/shift.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10200/sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/add.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33-2.c buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_7.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/am33_8.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/basic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/bcc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/bit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/cmp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/ext.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/extend.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/logical.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/loop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/mov1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/mov2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/mov3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/mov4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/mov5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/movbu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/movhu.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/movm.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/movpc.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/movpc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/muldiv.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/other.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/shift.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/sub.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mn10300/udf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/char.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/char.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/comment.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/comment.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/common.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/common.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/constants.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/constants.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/empty.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/equ.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/equ.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/expr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/expr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/float.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/float.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/for.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/for.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/if.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/if.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/immconst.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/label.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/label.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/moveml.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/moveml.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/mri.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/repeat.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/repeat.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/semi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/semi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/while.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/mri/while.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/msp430/msp430.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/msp430/opcode.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/msp430/opcode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/addi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/addi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/lohi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/lohi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/store.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/openrisc/store.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/pdp11/opcode.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/pdp11/opcode.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/pdp11/pdp11.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/pj/ops.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/pj/ops.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/pj/pj.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/aix.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec_xcoff.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec_xcoff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec_xcoff64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/altivec_xcoff64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest2_64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest2_64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/astest64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke_xcoff.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke_xcoff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke_xcoff64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/booke_xcoff64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/e500.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/e500.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/generate.sh buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/machine.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/machine.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/power4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/power4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/ppc.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/simpshft.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/simpshft.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1elf.asm buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1elf32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1elf32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1elf64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1elf64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1xcoff.asm buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1xcoff32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/test1xcoff32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/textalign-xcoff-001.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/textalign-xcoff-001.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/ppc/textalign-xcoff-002.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/operands.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/operands.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/operands64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/operands64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/s390/s390.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/basic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/dsp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-at.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-be.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-le.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-sh4a-fp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-sh4a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err-sh4al-dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/err.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/fp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel-coff.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel-coff.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pcrel2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/pic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/renesas-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/renesas-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a-dsp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a-dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a-fp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a-fp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4a.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4al-dsp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh4al-dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/abi-32.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/abi-32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/abi-64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/abi-64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/basic-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/basic-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/case-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/case-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/case-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange1-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange1-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange2-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange2-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange2-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange3-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange4-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange5-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/crange5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/creg-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/creg-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/creg-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/creg-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal32-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/datal64-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/endian-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/endian-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/endian-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/endian-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-abi-32.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-abi-64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-dsp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-movi-noexp-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-noexp-cmd1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-pt-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-pt32-cmd1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-pt32-cmd2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-pt32-cmd3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-ptb-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err-ptb-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/err.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr32-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/immexpr64-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/lineno.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/lineno.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/localcom-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/localcom-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/mix-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/mix-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/mix-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi32-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi32-noexp-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi64-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi64-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi64-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/movi64-noexp-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt32-noexp-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt64-32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt64-32-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/pt64-noexp-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc32-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc64-32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptc64-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext32-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext64-32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ptext64-noexp-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel-4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel-5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel32-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel32-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel32-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel32-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel64-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel64-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel64-4.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/rel64-5.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/relax-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/sh64.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift-3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift32-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift32-noexp-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift64-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift64-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/shift64-noexp-3.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/syntax-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/syntax-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/syntax-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/syntax-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ua-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ua32-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/sh64/ua64-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlsd.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlsd.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlsnopic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlsnopic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlspic.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sh/tlspic.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc-solaris/addend.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc-solaris/addend.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc-solaris/gas.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc-solaris/sol-cc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc-solaris/sol-gcc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/asi.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/asi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/membar.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/membar.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/mism-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/mismatch.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/pcrel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/pcrel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/pcrel64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/pcrel64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/plt.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/plt.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/plt64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/plt64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/prefetch.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/prefetch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/rdpr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/rdpr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/reloc64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/reloc64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/set64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/set64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/sparc.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/splet-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/splet-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/splet.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/splet.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/synth.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/synth.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/synth64.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/synth64.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/unalign.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/unalign.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/wrpr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sparc/wrpr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/sun4/addend.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/sun4/addend.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/sun4/addend.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver0.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver0.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver2.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver3.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver3.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver4.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver4.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver5.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver5.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver6.l buildtools/trunk/legacy/binutils/gas/testsuite/gas/symver/symver6.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/template buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/addressing.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/addressing_c3x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/addressing_c4x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/allopcodes.S buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/data.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/data.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/float.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/float.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/opclasses.h buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/opcodes.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/opcodes_c3x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/opcodes_c4x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/opcodes_new.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/rebuild.sh buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/registers.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/registers_c3x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/registers_c4x.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/tic4x.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/zeros.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic4x/zeros.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/address.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/address.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/addrfar.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/align.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/all-opcodes.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/all-opcodes.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/asg.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/asg.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/cons.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/cons.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/consfar.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/extaddr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/extaddr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/field.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/field.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/in_mlib.asm buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/labels.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/labels.inc buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/labels.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/loop.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/loop.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/lp.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/lp.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/macro.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/macro.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/macro1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/macros.lib buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/math.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/math.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/opcodes.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/opcodes.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/sections.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/sections.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/set.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/set.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/struct.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/struct.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/subsym.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/subsym.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/subsym1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/tic54x/tic54x.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/arith.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/basic.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/bit.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/branch.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/compare.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/fepsw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/hilo.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/hilo2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/jumps.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/logical.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/mem.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/misc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/move.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/range.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/reloc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/v850e1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/v850/v850e1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/elf-rel.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/elf-rel.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/quad.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/quad_elf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/vax/vax.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/allinsn.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/allinsn.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/allinsn.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/allinsn.sh buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/gcc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/gcc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/gcc.sh buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/reloc-1.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/reloc-1.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/reloc-2.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/xstormy16/reloc-2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/all.exp buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/entry_align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/entry_misalign.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/entry_misalign2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/j_too_far.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/loop_align.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/xtensa/loop_misalign.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/calr-backf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/calr-forwf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/calr.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/calr.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ctrl-names.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ctrl-names.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/dec.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/decbf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/decf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/djnz-backf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/djnz-backf2.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/djnz.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/djnz.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/eidi.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/eidif.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/inc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/incbf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/incf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/inout.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/inout.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jmp-cc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jmp-cc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-back.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-back.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-backf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-forw.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-forw.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/jr-forwf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ldk.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ldkf.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ret-cc.d buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/ret-cc.s buildtools/trunk/legacy/binutils/gas/testsuite/gas/z8k/z8k.exp buildtools/trunk/legacy/binutils/gas/testsuite/lib/doboth buildtools/trunk/legacy/binutils/gas/testsuite/lib/doobjcmp buildtools/trunk/legacy/binutils/gas/testsuite/lib/dostriptest buildtools/trunk/legacy/binutils/gas/testsuite/lib/dotest buildtools/trunk/legacy/binutils/gas/testsuite/lib/dounsreloc buildtools/trunk/legacy/binutils/gas/testsuite/lib/dounssym buildtools/trunk/legacy/binutils/gas/testsuite/lib/gas-defs.exp buildtools/trunk/legacy/binutils/gas/testsuite/lib/gas-dg.exp buildtools/trunk/legacy/binutils/gas/testsuite/lib/run buildtools/trunk/legacy/binutils/gas/write.c buildtools/trunk/legacy/binutils/gas/write.h buildtools/trunk/legacy/binutils/gettext.m4 buildtools/trunk/legacy/binutils/gprof/.gdbinit buildtools/trunk/legacy/binutils/gprof/ChangeLog buildtools/trunk/legacy/binutils/gprof/ChangeLog-9203 buildtools/trunk/legacy/binutils/gprof/MAINTAINERS buildtools/trunk/legacy/binutils/gprof/Makefile.am buildtools/trunk/legacy/binutils/gprof/Makefile.in buildtools/trunk/legacy/binutils/gprof/README buildtools/trunk/legacy/binutils/gprof/TEST buildtools/trunk/legacy/binutils/gprof/TODO buildtools/trunk/legacy/binutils/gprof/acinclude.m4 buildtools/trunk/legacy/binutils/gprof/aclocal.m4 buildtools/trunk/legacy/binutils/gprof/alpha.c buildtools/trunk/legacy/binutils/gprof/basic_blocks.c buildtools/trunk/legacy/binutils/gprof/basic_blocks.h buildtools/trunk/legacy/binutils/gprof/bb_exit_func.c buildtools/trunk/legacy/binutils/gprof/bbconv.pl buildtools/trunk/legacy/binutils/gprof/bsd_callg_bl.c buildtools/trunk/legacy/binutils/gprof/bsd_callg_bl.m buildtools/trunk/legacy/binutils/gprof/call_graph.c buildtools/trunk/legacy/binutils/gprof/call_graph.h buildtools/trunk/legacy/binutils/gprof/cg_arcs.c buildtools/trunk/legacy/binutils/gprof/cg_arcs.h buildtools/trunk/legacy/binutils/gprof/cg_dfn.c buildtools/trunk/legacy/binutils/gprof/cg_dfn.h buildtools/trunk/legacy/binutils/gprof/cg_print.c buildtools/trunk/legacy/binutils/gprof/cg_print.h buildtools/trunk/legacy/binutils/gprof/configure buildtools/trunk/legacy/binutils/gprof/configure.in buildtools/trunk/legacy/binutils/gprof/corefile.c buildtools/trunk/legacy/binutils/gprof/corefile.h buildtools/trunk/legacy/binutils/gprof/dep-in.sed buildtools/trunk/legacy/binutils/gprof/flat_bl.c buildtools/trunk/legacy/binutils/gprof/flat_bl.m buildtools/trunk/legacy/binutils/gprof/fsf_callg_bl.c buildtools/trunk/legacy/binutils/gprof/fsf_callg_bl.m buildtools/trunk/legacy/binutils/gprof/gconfig.in buildtools/trunk/legacy/binutils/gprof/gen-c-prog.awk buildtools/trunk/legacy/binutils/gprof/gmon.h buildtools/trunk/legacy/binutils/gprof/gmon_io.c buildtools/trunk/legacy/binutils/gprof/gmon_io.h buildtools/trunk/legacy/binutils/gprof/gmon_out.h buildtools/trunk/legacy/binutils/gprof/gprof.1 buildtools/trunk/legacy/binutils/gprof/gprof.c buildtools/trunk/legacy/binutils/gprof/gprof.h buildtools/trunk/legacy/binutils/gprof/gprof.info buildtools/trunk/legacy/binutils/gprof/gprof.texi buildtools/trunk/legacy/binutils/gprof/hertz.c buildtools/trunk/legacy/binutils/gprof/hertz.h buildtools/trunk/legacy/binutils/gprof/hist.c buildtools/trunk/legacy/binutils/gprof/hist.h buildtools/trunk/legacy/binutils/gprof/i386.c buildtools/trunk/legacy/binutils/gprof/mips.c buildtools/trunk/legacy/binutils/gprof/po/Make-in buildtools/trunk/legacy/binutils/gprof/po/POTFILES.in buildtools/trunk/legacy/binutils/gprof/po/da.gmo buildtools/trunk/legacy/binutils/gprof/po/da.po buildtools/trunk/legacy/binutils/gprof/po/de.gmo buildtools/trunk/legacy/binutils/gprof/po/de.po buildtools/trunk/legacy/binutils/gprof/po/es.gmo buildtools/trunk/legacy/binutils/gprof/po/es.po buildtools/trunk/legacy/binutils/gprof/po/fr.gmo buildtools/trunk/legacy/binutils/gprof/po/fr.po buildtools/trunk/legacy/binutils/gprof/po/gprof.pot buildtools/trunk/legacy/binutils/gprof/po/id.gmo buildtools/trunk/legacy/binutils/gprof/po/id.po buildtools/trunk/legacy/binutils/gprof/po/pt_BR.gmo buildtools/trunk/legacy/binutils/gprof/po/pt_BR.po buildtools/trunk/legacy/binutils/gprof/po/sv.gmo buildtools/trunk/legacy/binutils/gprof/po/sv.po buildtools/trunk/legacy/binutils/gprof/po/tr.gmo buildtools/trunk/legacy/binutils/gprof/po/tr.po buildtools/trunk/legacy/binutils/gprof/search_list.c buildtools/trunk/legacy/binutils/gprof/search_list.h buildtools/trunk/legacy/binutils/gprof/source.c buildtools/trunk/legacy/binutils/gprof/source.h buildtools/trunk/legacy/binutils/gprof/sparc.c buildtools/trunk/legacy/binutils/gprof/stamp-h.in buildtools/trunk/legacy/binutils/gprof/sym_ids.c buildtools/trunk/legacy/binutils/gprof/sym_ids.h buildtools/trunk/legacy/binutils/gprof/symtab.c buildtools/trunk/legacy/binutils/gprof/symtab.h buildtools/trunk/legacy/binutils/gprof/tahoe.c buildtools/trunk/legacy/binutils/gprof/utils.c buildtools/trunk/legacy/binutils/gprof/utils.h buildtools/trunk/legacy/binutils/gprof/vax.c buildtools/trunk/legacy/binutils/include/COPYING buildtools/trunk/legacy/binutils/include/ChangeLog buildtools/trunk/legacy/binutils/include/ChangeLog-9103 buildtools/trunk/legacy/binutils/include/MAINTAINERS buildtools/trunk/legacy/binutils/include/alloca-conf.h buildtools/trunk/legacy/binutils/include/ansidecl.h buildtools/trunk/legacy/binutils/include/aout/ChangeLog buildtools/trunk/legacy/binutils/include/aout/adobe.h buildtools/trunk/legacy/binutils/include/aout/aout64.h buildtools/trunk/legacy/binutils/include/aout/ar.h buildtools/trunk/legacy/binutils/include/aout/dynix3.h buildtools/trunk/legacy/binutils/include/aout/encap.h buildtools/trunk/legacy/binutils/include/aout/host.h buildtools/trunk/legacy/binutils/include/aout/hp.h buildtools/trunk/legacy/binutils/include/aout/hp300hpux.h buildtools/trunk/legacy/binutils/include/aout/hppa.h buildtools/trunk/legacy/binutils/include/aout/ranlib.h buildtools/trunk/legacy/binutils/include/aout/reloc.h buildtools/trunk/legacy/binutils/include/aout/stab.def buildtools/trunk/legacy/binutils/include/aout/stab_gnu.h buildtools/trunk/legacy/binutils/include/aout/sun4.h buildtools/trunk/legacy/binutils/include/bfdlink.h buildtools/trunk/legacy/binutils/include/bin-bugs.h buildtools/trunk/legacy/binutils/include/bout.h buildtools/trunk/legacy/binutils/include/coff/ChangeLog buildtools/trunk/legacy/binutils/include/coff/ChangeLog-9103 buildtools/trunk/legacy/binutils/include/coff/alpha.h buildtools/trunk/legacy/binutils/include/coff/apollo.h buildtools/trunk/legacy/binutils/include/coff/arm.h buildtools/trunk/legacy/binutils/include/coff/aux-coff.h buildtools/trunk/legacy/binutils/include/coff/ecoff.h buildtools/trunk/legacy/binutils/include/coff/external.h buildtools/trunk/legacy/binutils/include/coff/go32exe.h buildtools/trunk/legacy/binutils/include/coff/h8300.h buildtools/trunk/legacy/binutils/include/coff/h8500.h buildtools/trunk/legacy/binutils/include/coff/i386.h buildtools/trunk/legacy/binutils/include/coff/i860.h buildtools/trunk/legacy/binutils/include/coff/i960.h buildtools/trunk/legacy/binutils/include/coff/ia64.h buildtools/trunk/legacy/binutils/include/coff/internal.h buildtools/trunk/legacy/binutils/include/coff/m68k.h buildtools/trunk/legacy/binutils/include/coff/m88k.h buildtools/trunk/legacy/binutils/include/coff/mcore.h buildtools/trunk/legacy/binutils/include/coff/mips.h buildtools/trunk/legacy/binutils/include/coff/mipspe.h buildtools/trunk/legacy/binutils/include/coff/or32.h buildtools/trunk/legacy/binutils/include/coff/pe.h buildtools/trunk/legacy/binutils/include/coff/powerpc.h buildtools/trunk/legacy/binutils/include/coff/rs6000.h buildtools/trunk/legacy/binutils/include/coff/rs6k64.h buildtools/trunk/legacy/binutils/include/coff/sh.h buildtools/trunk/legacy/binutils/include/coff/sparc.h buildtools/trunk/legacy/binutils/include/coff/sym.h buildtools/trunk/legacy/binutils/include/coff/symconst.h buildtools/trunk/legacy/binutils/include/coff/ti.h buildtools/trunk/legacy/binutils/include/coff/tic30.h buildtools/trunk/legacy/binutils/include/coff/tic4x.h buildtools/trunk/legacy/binutils/include/coff/tic54x.h buildtools/trunk/legacy/binutils/include/coff/tic80.h buildtools/trunk/legacy/binutils/include/coff/w65.h buildtools/trunk/legacy/binutils/include/coff/we32k.h buildtools/trunk/legacy/binutils/include/coff/xcoff.h buildtools/trunk/legacy/binutils/include/coff/z8k.h buildtools/trunk/legacy/binutils/include/demangle.h buildtools/trunk/legacy/binutils/include/dis-asm.h buildtools/trunk/legacy/binutils/include/dyn-string.h buildtools/trunk/legacy/binutils/include/elf/ChangeLog buildtools/trunk/legacy/binutils/include/elf/ChangeLog-9103 buildtools/trunk/legacy/binutils/include/elf/alpha.h buildtools/trunk/legacy/binutils/include/elf/arc.h buildtools/trunk/legacy/binutils/include/elf/arm.h buildtools/trunk/legacy/binutils/include/elf/avr.h buildtools/trunk/legacy/binutils/include/elf/common.h buildtools/trunk/legacy/binutils/include/elf/cris.h buildtools/trunk/legacy/binutils/include/elf/d10v.h buildtools/trunk/legacy/binutils/include/elf/d30v.h buildtools/trunk/legacy/binutils/include/elf/dlx.h buildtools/trunk/legacy/binutils/include/elf/dwarf.h buildtools/trunk/legacy/binutils/include/elf/dwarf2.h buildtools/trunk/legacy/binutils/include/elf/external.h buildtools/trunk/legacy/binutils/include/elf/fr30.h buildtools/trunk/legacy/binutils/include/elf/frv.h buildtools/trunk/legacy/binutils/include/elf/h8.h buildtools/trunk/legacy/binutils/include/elf/hppa.h buildtools/trunk/legacy/binutils/include/elf/i370.h buildtools/trunk/legacy/binutils/include/elf/i386.h buildtools/trunk/legacy/binutils/include/elf/i860.h buildtools/trunk/legacy/binutils/include/elf/i960.h buildtools/trunk/legacy/binutils/include/elf/ia64.h buildtools/trunk/legacy/binutils/include/elf/internal.h buildtools/trunk/legacy/binutils/include/elf/ip2k.h buildtools/trunk/legacy/binutils/include/elf/iq2000.h buildtools/trunk/legacy/binutils/include/elf/m32r.h buildtools/trunk/legacy/binutils/include/elf/m68hc11.h buildtools/trunk/legacy/binutils/include/elf/m68k.h buildtools/trunk/legacy/binutils/include/elf/mcore.h buildtools/trunk/legacy/binutils/include/elf/mips.h buildtools/trunk/legacy/binutils/include/elf/mmix.h buildtools/trunk/legacy/binutils/include/elf/mn10200.h buildtools/trunk/legacy/binutils/include/elf/mn10300.h buildtools/trunk/legacy/binutils/include/elf/msp430.h buildtools/trunk/legacy/binutils/include/elf/openrisc.h buildtools/trunk/legacy/binutils/include/elf/or32.h buildtools/trunk/legacy/binutils/include/elf/pj.h buildtools/trunk/legacy/binutils/include/elf/ppc.h buildtools/trunk/legacy/binutils/include/elf/ppc64.h buildtools/trunk/legacy/binutils/include/elf/reloc-macros.h buildtools/trunk/legacy/binutils/include/elf/s390.h buildtools/trunk/legacy/binutils/include/elf/sh.h buildtools/trunk/legacy/binutils/include/elf/sparc.h buildtools/trunk/legacy/binutils/include/elf/v850.h buildtools/trunk/legacy/binutils/include/elf/vax.h buildtools/trunk/legacy/binutils/include/elf/x86-64.h buildtools/trunk/legacy/binutils/include/elf/xstormy16.h buildtools/trunk/legacy/binutils/include/elf/xtensa.h buildtools/trunk/legacy/binutils/include/fibheap.h buildtools/trunk/legacy/binutils/include/filenames.h buildtools/trunk/legacy/binutils/include/floatformat.h buildtools/trunk/legacy/binutils/include/fnmatch.h buildtools/trunk/legacy/binutils/include/fopen-bin.h buildtools/trunk/legacy/binutils/include/fopen-same.h buildtools/trunk/legacy/binutils/include/fopen-vms.h buildtools/trunk/legacy/binutils/include/gdb/ChangeLog buildtools/trunk/legacy/binutils/include/gdb/callback.h buildtools/trunk/legacy/binutils/include/gdb/fileio.h buildtools/trunk/legacy/binutils/include/gdb/remote-sim.h buildtools/trunk/legacy/binutils/include/gdb/signals.h buildtools/trunk/legacy/binutils/include/gdb/sim-arm.h buildtools/trunk/legacy/binutils/include/gdb/sim-d10v.h buildtools/trunk/legacy/binutils/include/gdb/sim-frv.h buildtools/trunk/legacy/binutils/include/gdb/sim-h8300.h buildtools/trunk/legacy/binutils/include/gdb/sim-sh.h buildtools/trunk/legacy/binutils/include/gdbm.h buildtools/trunk/legacy/binutils/include/getopt.h buildtools/trunk/legacy/binutils/include/hashtab.h buildtools/trunk/legacy/binutils/include/hp-symtab.h buildtools/trunk/legacy/binutils/include/ieee.h buildtools/trunk/legacy/binutils/include/libiberty.h buildtools/trunk/legacy/binutils/include/md5.h buildtools/trunk/legacy/binutils/include/nlm/ChangeLog buildtools/trunk/legacy/binutils/include/nlm/alpha-ext.h buildtools/trunk/legacy/binutils/include/nlm/common.h buildtools/trunk/legacy/binutils/include/nlm/external.h buildtools/trunk/legacy/binutils/include/nlm/i386-ext.h buildtools/trunk/legacy/binutils/include/nlm/internal.h buildtools/trunk/legacy/binutils/include/nlm/ppc-ext.h buildtools/trunk/legacy/binutils/include/nlm/sparc32-ext.h buildtools/trunk/legacy/binutils/include/oasys.h buildtools/trunk/legacy/binutils/include/objalloc.h buildtools/trunk/legacy/binutils/include/obstack.h buildtools/trunk/legacy/binutils/include/opcode/ChangeLog buildtools/trunk/legacy/binutils/include/opcode/ChangeLog-9103 buildtools/trunk/legacy/binutils/include/opcode/alpha.h buildtools/trunk/legacy/binutils/include/opcode/arc.h buildtools/trunk/legacy/binutils/include/opcode/arm.h buildtools/trunk/legacy/binutils/include/opcode/avr.h buildtools/trunk/legacy/binutils/include/opcode/cgen.h buildtools/trunk/legacy/binutils/include/opcode/convex.h buildtools/trunk/legacy/binutils/include/opcode/cris.h buildtools/trunk/legacy/binutils/include/opcode/d10v.h buildtools/trunk/legacy/binutils/include/opcode/d30v.h buildtools/trunk/legacy/binutils/include/opcode/dlx.h buildtools/trunk/legacy/binutils/include/opcode/h8300.h buildtools/trunk/legacy/binutils/include/opcode/hppa.h buildtools/trunk/legacy/binutils/include/opcode/i370.h buildtools/trunk/legacy/binutils/include/opcode/i386.h buildtools/trunk/legacy/binutils/include/opcode/i860.h buildtools/trunk/legacy/binutils/include/opcode/i960.h buildtools/trunk/legacy/binutils/include/opcode/ia64.h buildtools/trunk/legacy/binutils/include/opcode/m68hc11.h buildtools/trunk/legacy/binutils/include/opcode/m68k.h buildtools/trunk/legacy/binutils/include/opcode/m88k.h buildtools/trunk/legacy/binutils/include/opcode/mips.h buildtools/trunk/legacy/binutils/include/opcode/mmix.h buildtools/trunk/legacy/binutils/include/opcode/mn10200.h buildtools/trunk/legacy/binutils/include/opcode/mn10300.h buildtools/trunk/legacy/binutils/include/opcode/msp430.h buildtools/trunk/legacy/binutils/include/opcode/np1.h buildtools/trunk/legacy/binutils/include/opcode/ns32k.h buildtools/trunk/legacy/binutils/include/opcode/or32.h buildtools/trunk/legacy/binutils/include/opcode/pdp11.h buildtools/trunk/legacy/binutils/include/opcode/pj.h buildtools/trunk/legacy/binutils/include/opcode/pn.h buildtools/trunk/legacy/binutils/include/opcode/ppc.h buildtools/trunk/legacy/binutils/include/opcode/pyr.h buildtools/trunk/legacy/binutils/include/opcode/s390.h buildtools/trunk/legacy/binutils/include/opcode/sparc.h buildtools/trunk/legacy/binutils/include/opcode/tahoe.h buildtools/trunk/legacy/binutils/include/opcode/tic30.h buildtools/trunk/legacy/binutils/include/opcode/tic4x.h buildtools/trunk/legacy/binutils/include/opcode/tic54x.h buildtools/trunk/legacy/binutils/include/opcode/tic80.h buildtools/trunk/legacy/binutils/include/opcode/v850.h buildtools/trunk/legacy/binutils/include/opcode/vax.h buildtools/trunk/legacy/binutils/include/os9k.h buildtools/trunk/legacy/binutils/include/partition.h buildtools/trunk/legacy/binutils/include/progress.h buildtools/trunk/legacy/binutils/include/safe-ctype.h buildtools/trunk/legacy/binutils/include/sort.h buildtools/trunk/legacy/binutils/include/splay-tree.h buildtools/trunk/legacy/binutils/include/symcat.h buildtools/trunk/legacy/binutils/include/ternary.h buildtools/trunk/legacy/binutils/include/xregex.h buildtools/trunk/legacy/binutils/include/xregex2.h buildtools/trunk/legacy/binutils/include/xtensa-config.h buildtools/trunk/legacy/binutils/include/xtensa-isa-internal.h buildtools/trunk/legacy/binutils/include/xtensa-isa.h buildtools/trunk/legacy/binutils/install-sh buildtools/trunk/legacy/binutils/intl/ChangeLog buildtools/trunk/legacy/binutils/intl/Makefile.in buildtools/trunk/legacy/binutils/intl/acconfig.h buildtools/trunk/legacy/binutils/intl/aclocal.m4 buildtools/trunk/legacy/binutils/intl/bindtextdom.c buildtools/trunk/legacy/binutils/intl/cat-compat.c buildtools/trunk/legacy/binutils/intl/config.in buildtools/trunk/legacy/binutils/intl/configure buildtools/trunk/legacy/binutils/intl/configure.in buildtools/trunk/legacy/binutils/intl/dcgettext.c buildtools/trunk/legacy/binutils/intl/dgettext.c buildtools/trunk/legacy/binutils/intl/explodename.c buildtools/trunk/legacy/binutils/intl/finddomain.c buildtools/trunk/legacy/binutils/intl/gettext.c buildtools/trunk/legacy/binutils/intl/gettext.h buildtools/trunk/legacy/binutils/intl/gettextP.h buildtools/trunk/legacy/binutils/intl/hash-string.h buildtools/trunk/legacy/binutils/intl/intl-compat.c buildtools/trunk/legacy/binutils/intl/intlh.inst.in buildtools/trunk/legacy/binutils/intl/l10nflist.c buildtools/trunk/legacy/binutils/intl/libgettext.h buildtools/trunk/legacy/binutils/intl/libintl.glibc buildtools/trunk/legacy/binutils/intl/linux-msg.sed buildtools/trunk/legacy/binutils/intl/loadinfo.h buildtools/trunk/legacy/binutils/intl/loadmsgcat.c buildtools/trunk/legacy/binutils/intl/localealias.c buildtools/trunk/legacy/binutils/intl/po2tbl.sed.in buildtools/trunk/legacy/binutils/intl/textdomain.c buildtools/trunk/legacy/binutils/intl/xopen-msg.sed buildtools/trunk/legacy/binutils/ld/ChangeLog buildtools/trunk/legacy/binutils/ld/ChangeLog-0001 buildtools/trunk/legacy/binutils/ld/ChangeLog-0203 buildtools/trunk/legacy/binutils/ld/ChangeLog-9197 buildtools/trunk/legacy/binutils/ld/ChangeLog-9899 buildtools/trunk/legacy/binutils/ld/MAINTAINERS buildtools/trunk/legacy/binutils/ld/Makefile.am buildtools/trunk/legacy/binutils/ld/Makefile.in buildtools/trunk/legacy/binutils/ld/NEWS buildtools/trunk/legacy/binutils/ld/README buildtools/trunk/legacy/binutils/ld/TODO buildtools/trunk/legacy/binutils/ld/acinclude.m4 buildtools/trunk/legacy/binutils/ld/aclocal.m4 buildtools/trunk/legacy/binutils/ld/config.in buildtools/trunk/legacy/binutils/ld/configdoc.texi buildtools/trunk/legacy/binutils/ld/configure buildtools/trunk/legacy/binutils/ld/configure.host buildtools/trunk/legacy/binutils/ld/configure.in buildtools/trunk/legacy/binutils/ld/configure.tgt buildtools/trunk/legacy/binutils/ld/deffile.h buildtools/trunk/legacy/binutils/ld/deffilep.y buildtools/trunk/legacy/binutils/ld/dep-in.sed buildtools/trunk/legacy/binutils/ld/emulparams/README buildtools/trunk/legacy/binutils/ld/emulparams/aix5ppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/aix5rs6.sh buildtools/trunk/legacy/binutils/ld/emulparams/aixppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/aixrs6.sh buildtools/trunk/legacy/binutils/ld/emulparams/alpha.sh buildtools/trunk/legacy/binutils/ld/emulparams/arcelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/arm_epoc_pe.sh buildtools/trunk/legacy/binutils/ld/emulparams/armaoutb.sh buildtools/trunk/legacy/binutils/ld/emulparams/armaoutl.sh buildtools/trunk/legacy/binutils/ld/emulparams/armcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelf_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelfb.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelfb_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/armelfb_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/armnbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/armnto.sh buildtools/trunk/legacy/binutils/ld/emulparams/armpe.sh buildtools/trunk/legacy/binutils/ld/emulparams/avr1.sh buildtools/trunk/legacy/binutils/ld/emulparams/avr2.sh buildtools/trunk/legacy/binutils/ld/emulparams/avr3.sh buildtools/trunk/legacy/binutils/ld/emulparams/avr4.sh buildtools/trunk/legacy/binutils/ld/emulparams/avr5.sh buildtools/trunk/legacy/binutils/ld/emulparams/coff_i860.sh buildtools/trunk/legacy/binutils/ld/emulparams/coff_sparc.sh buildtools/trunk/legacy/binutils/ld/emulparams/crisaout.sh buildtools/trunk/legacy/binutils/ld/emulparams/criself.sh buildtools/trunk/legacy/binutils/ld/emulparams/crislinux.sh buildtools/trunk/legacy/binutils/ld/emulparams/d10velf.sh buildtools/trunk/legacy/binutils/ld/emulparams/d30v_e.sh buildtools/trunk/legacy/binutils/ld/emulparams/d30v_o.sh buildtools/trunk/legacy/binutils/ld/emulparams/d30velf.sh buildtools/trunk/legacy/binutils/ld/emulparams/delta68.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32_dlx.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32_i860.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32_i960.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32_sparc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32am33lin.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32b4300.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32bmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32bmipn32-defs.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32bmipn32.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32bsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32btsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32btsmipn32.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ebmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32elmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32fr30.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32frv.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32frvfd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32i370.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ip2k.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32iq10.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32iq2000.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32l4300.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32lmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32lppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32lppcnto.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32lppcsim.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32lsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ltsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ltsmipn32.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32mcore.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32mipswindiss.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32openrisc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppc_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppclinux.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppcnto.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppcsim.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32ppcwindiss.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32vax.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32xstormy16.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf32xtensa.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_aix.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_ia64.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_ia64_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_s390.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_sparc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64_sparc_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64alpha.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64alpha_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64alpha_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64bmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64btsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64hppa.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64lppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64ltsmip.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64mmix.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf64ppc.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386_be.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386_chaos.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_i386_ldso.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_s390.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_x86_64.sh buildtools/trunk/legacy/binutils/ld/emulparams/elf_x86_64_fbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/gld960.sh buildtools/trunk/legacy/binutils/ld/emulparams/gld960coff.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300elf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300h.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300helf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300hn.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300hnelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300s.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300self.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300sn.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300snelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300sx.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300sxelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300sxn.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8300sxnelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8500.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8500b.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8500c.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8500m.sh buildtools/trunk/legacy/binutils/ld/emulparams/h8500s.sh buildtools/trunk/legacy/binutils/ld/emulparams/hp300bsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/hp3hpux.sh buildtools/trunk/legacy/binutils/ld/emulparams/hppa64linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/hppaelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/hppalinux.sh buildtools/trunk/legacy/binutils/ld/emulparams/hppanbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/hppaobsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386aout.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386beos.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386bsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386coff.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386go32.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386lynx.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386mach.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386moss.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386msdos.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386nto.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386nw.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386pe.sh buildtools/trunk/legacy/binutils/ld/emulparams/i386pe_posix.sh buildtools/trunk/legacy/binutils/ld/emulparams/lnk960.sh buildtools/trunk/legacy/binutils/ld/emulparams/m32relf.sh buildtools/trunk/legacy/binutils/ld/emulparams/m32relf_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/m32rlelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/m32rlelf_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68hc11elf.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68hc11elfb.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68hc12elf.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68hc12elfb.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68k4knbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kaout.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kaux.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kelfnbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68klinux.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68knbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/m68kpsos.sh buildtools/trunk/legacy/binutils/ld/emulparams/m88kbcs.sh buildtools/trunk/legacy/binutils/ld/emulparams/mcorepe.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipsbig.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipsbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipsidt.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipsidtl.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipslit.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipslnews.sh buildtools/trunk/legacy/binutils/ld/emulparams/mipspe.sh buildtools/trunk/legacy/binutils/ld/emulparams/mmo.sh buildtools/trunk/legacy/binutils/ld/emulparams/mn10200.sh buildtools/trunk/legacy/binutils/ld/emulparams/mn10300.sh buildtools/trunk/legacy/binutils/ld/emulparams/msp430all.sh buildtools/trunk/legacy/binutils/ld/emulparams/news.sh buildtools/trunk/legacy/binutils/ld/emulparams/ns32knbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/or32.sh buildtools/trunk/legacy/binutils/ld/emulparams/or32elf.sh buildtools/trunk/legacy/binutils/ld/emulparams/pc532macha.sh buildtools/trunk/legacy/binutils/ld/emulparams/pdp11.sh buildtools/trunk/legacy/binutils/ld/emulparams/pjelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/pjlelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/ppcmacos.sh buildtools/trunk/legacy/binutils/ld/emulparams/ppcnw.sh buildtools/trunk/legacy/binutils/ld/emulparams/ppcpe.sh buildtools/trunk/legacy/binutils/ld/emulparams/riscix.sh buildtools/trunk/legacy/binutils/ld/emulparams/sh.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf32.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf32_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf32_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf64.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf64_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shelf_nto.sh buildtools/trunk/legacy/binutils/ld/emulparams/shl.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf32.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf32_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf32_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf64.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf64_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf_linux.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf_nbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/shlelf_nto.sh buildtools/trunk/legacy/binutils/ld/emulparams/shpe.sh buildtools/trunk/legacy/binutils/ld/emulparams/sparcaout.sh buildtools/trunk/legacy/binutils/ld/emulparams/sparclinux.sh buildtools/trunk/legacy/binutils/ld/emulparams/sparcnbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/st2000.sh buildtools/trunk/legacy/binutils/ld/emulparams/sun3.sh buildtools/trunk/legacy/binutils/ld/emulparams/sun4.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic30aout.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic30coff.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic3xcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic3xcoff_onchip.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic4xcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic54xcoff.sh buildtools/trunk/legacy/binutils/ld/emulparams/tic80coff.sh buildtools/trunk/legacy/binutils/ld/emulparams/v850.sh buildtools/trunk/legacy/binutils/ld/emulparams/vanilla.sh buildtools/trunk/legacy/binutils/ld/emulparams/vax.sh buildtools/trunk/legacy/binutils/ld/emulparams/vaxnbsd.sh buildtools/trunk/legacy/binutils/ld/emulparams/vsta.sh buildtools/trunk/legacy/binutils/ld/emulparams/w65.sh buildtools/trunk/legacy/binutils/ld/emulparams/xtensa-config.sh buildtools/trunk/legacy/binutils/ld/emulparams/z8001.sh buildtools/trunk/legacy/binutils/ld/emulparams/z8002.sh buildtools/trunk/legacy/binutils/ld/emultempl/README buildtools/trunk/legacy/binutils/ld/emultempl/aix.em buildtools/trunk/legacy/binutils/ld/emultempl/alphaelf.em buildtools/trunk/legacy/binutils/ld/emultempl/armcoff.em buildtools/trunk/legacy/binutils/ld/emultempl/armelf.em buildtools/trunk/legacy/binutils/ld/emultempl/astring.sed buildtools/trunk/legacy/binutils/ld/emultempl/beos.em buildtools/trunk/legacy/binutils/ld/emultempl/elf32.em buildtools/trunk/legacy/binutils/ld/emultempl/generic.em buildtools/trunk/legacy/binutils/ld/emultempl/gld960.em buildtools/trunk/legacy/binutils/ld/emultempl/gld960c.em buildtools/trunk/legacy/binutils/ld/emultempl/hppaelf.em buildtools/trunk/legacy/binutils/ld/emultempl/ia64elf.em buildtools/trunk/legacy/binutils/ld/emultempl/irix.em buildtools/trunk/legacy/binutils/ld/emultempl/linux.em buildtools/trunk/legacy/binutils/ld/emultempl/lnk960.em buildtools/trunk/legacy/binutils/ld/emultempl/m68hc1xelf.em buildtools/trunk/legacy/binutils/ld/emultempl/m68kcoff.em buildtools/trunk/legacy/binutils/ld/emultempl/m68kelf.em buildtools/trunk/legacy/binutils/ld/emultempl/mipsecoff.em buildtools/trunk/legacy/binutils/ld/emultempl/mmix-elfnmmo.em buildtools/trunk/legacy/binutils/ld/emultempl/mmixelf.em buildtools/trunk/legacy/binutils/ld/emultempl/mmo.em buildtools/trunk/legacy/binutils/ld/emultempl/needrelax.em buildtools/trunk/legacy/binutils/ld/emultempl/netbsd.em buildtools/trunk/legacy/binutils/ld/emultempl/ostring.sed buildtools/trunk/legacy/binutils/ld/emultempl/pe.em buildtools/trunk/legacy/binutils/ld/emultempl/ppc32elf.em buildtools/trunk/legacy/binutils/ld/emultempl/ppc64elf.em buildtools/trunk/legacy/binutils/ld/emultempl/sh64elf.em buildtools/trunk/legacy/binutils/ld/emultempl/sunos.em buildtools/trunk/legacy/binutils/ld/emultempl/ticoff.em buildtools/trunk/legacy/binutils/ld/emultempl/vanilla.em buildtools/trunk/legacy/binutils/ld/emultempl/xtensaelf.em buildtools/trunk/legacy/binutils/ld/fdl.texi buildtools/trunk/legacy/binutils/ld/gen-doc.texi buildtools/trunk/legacy/binutils/ld/genscripts.sh buildtools/trunk/legacy/binutils/ld/h8-doc.texi buildtools/trunk/legacy/binutils/ld/ld.1 buildtools/trunk/legacy/binutils/ld/ld.h buildtools/trunk/legacy/binutils/ld/ld.info buildtools/trunk/legacy/binutils/ld/ld.texinfo buildtools/trunk/legacy/binutils/ld/ldcref.c buildtools/trunk/legacy/binutils/ld/ldctor.c buildtools/trunk/legacy/binutils/ld/ldctor.h buildtools/trunk/legacy/binutils/ld/ldemul.c buildtools/trunk/legacy/binutils/ld/ldemul.h buildtools/trunk/legacy/binutils/ld/ldexp.c buildtools/trunk/legacy/binutils/ld/ldexp.h buildtools/trunk/legacy/binutils/ld/ldfile.c buildtools/trunk/legacy/binutils/ld/ldfile.h buildtools/trunk/legacy/binutils/ld/ldgram.c buildtools/trunk/legacy/binutils/ld/ldgram.h buildtools/trunk/legacy/binutils/ld/ldgram.y buildtools/trunk/legacy/binutils/ld/ldint.texinfo buildtools/trunk/legacy/binutils/ld/ldlang.c buildtools/trunk/legacy/binutils/ld/ldlang.h buildtools/trunk/legacy/binutils/ld/ldlex.c buildtools/trunk/legacy/binutils/ld/ldlex.h buildtools/trunk/legacy/binutils/ld/ldlex.l buildtools/trunk/legacy/binutils/ld/ldmain.c buildtools/trunk/legacy/binutils/ld/ldmain.h buildtools/trunk/legacy/binutils/ld/ldmisc.c buildtools/trunk/legacy/binutils/ld/ldmisc.h buildtools/trunk/legacy/binutils/ld/ldver.c buildtools/trunk/legacy/binutils/ld/ldver.h buildtools/trunk/legacy/binutils/ld/ldver.texi buildtools/trunk/legacy/binutils/ld/ldwrite.c buildtools/trunk/legacy/binutils/ld/ldwrite.h buildtools/trunk/legacy/binutils/ld/lexsup.c buildtools/trunk/legacy/binutils/ld/mri.c buildtools/trunk/legacy/binutils/ld/mri.h buildtools/trunk/legacy/binutils/ld/pe-dll.c buildtools/trunk/legacy/binutils/ld/pe-dll.h buildtools/trunk/legacy/binutils/ld/scripttempl/README buildtools/trunk/legacy/binutils/ld/scripttempl/a29k.sc buildtools/trunk/legacy/binutils/ld/scripttempl/aix.sc buildtools/trunk/legacy/binutils/ld/scripttempl/alpha.sc buildtools/trunk/legacy/binutils/ld/scripttempl/aout.sc buildtools/trunk/legacy/binutils/ld/scripttempl/armaout.sc buildtools/trunk/legacy/binutils/ld/scripttempl/armcoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/avr.sc buildtools/trunk/legacy/binutils/ld/scripttempl/crisaout.sc buildtools/trunk/legacy/binutils/ld/scripttempl/delta68.sc buildtools/trunk/legacy/binutils/ld/scripttempl/dlx.sc buildtools/trunk/legacy/binutils/ld/scripttempl/ebmon29k.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32msp430.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf32msp430_3.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elf_chaos.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfd10v.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfd30v.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfi370.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfm68hc11.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfm68hc12.sc buildtools/trunk/legacy/binutils/ld/scripttempl/elfxtensa.sc buildtools/trunk/legacy/binutils/ld/scripttempl/epocpe.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300h.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300hn.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300s.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300sn.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300sx.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8300sxn.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8500.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8500b.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8500c.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8500m.sc buildtools/trunk/legacy/binutils/ld/scripttempl/h8500s.sc buildtools/trunk/legacy/binutils/ld/scripttempl/hppaelf.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i386beos.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i386coff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i386go32.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i386msdos.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i860coff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/i960.sc buildtools/trunk/legacy/binutils/ld/scripttempl/ip2k.sc buildtools/trunk/legacy/binutils/ld/scripttempl/iq2000.sc buildtools/trunk/legacy/binutils/ld/scripttempl/m68kaux.sc buildtools/trunk/legacy/binutils/ld/scripttempl/m68kcoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/m68klynx.sc buildtools/trunk/legacy/binutils/ld/scripttempl/m88kbcs.sc buildtools/trunk/legacy/binutils/ld/scripttempl/mcorepe.sc buildtools/trunk/legacy/binutils/ld/scripttempl/mips.sc buildtools/trunk/legacy/binutils/ld/scripttempl/mipsbsd.sc buildtools/trunk/legacy/binutils/ld/scripttempl/mmo.sc buildtools/trunk/legacy/binutils/ld/scripttempl/nw.sc buildtools/trunk/legacy/binutils/ld/scripttempl/or32.sc buildtools/trunk/legacy/binutils/ld/scripttempl/pe.sc buildtools/trunk/legacy/binutils/ld/scripttempl/pj.sc buildtools/trunk/legacy/binutils/ld/scripttempl/ppcpe.sc buildtools/trunk/legacy/binutils/ld/scripttempl/psos.sc buildtools/trunk/legacy/binutils/ld/scripttempl/riscix.sc buildtools/trunk/legacy/binutils/ld/scripttempl/sa29200.sc buildtools/trunk/legacy/binutils/ld/scripttempl/sh.sc buildtools/trunk/legacy/binutils/ld/scripttempl/sparccoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/sparclynx.sc buildtools/trunk/legacy/binutils/ld/scripttempl/st2000.sc buildtools/trunk/legacy/binutils/ld/scripttempl/tic30aout.sc buildtools/trunk/legacy/binutils/ld/scripttempl/tic30coff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/tic4xcoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/tic54xcoff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/tic80coff.sc buildtools/trunk/legacy/binutils/ld/scripttempl/v850.sc buildtools/trunk/legacy/binutils/ld/scripttempl/vanilla.sc buildtools/trunk/legacy/binutils/ld/scripttempl/w65.sc buildtools/trunk/legacy/binutils/ld/scripttempl/xstormy16.sc buildtools/trunk/legacy/binutils/ld/scripttempl/z8000.sc buildtools/trunk/legacy/binutils/ld/stamp-h.in buildtools/trunk/legacy/binutils/ld/sysdep.h buildtools/trunk/legacy/binutils/ld/testsuite/ChangeLog buildtools/trunk/legacy/binutils/ld/testsuite/ChangeLog-9303 buildtools/trunk/legacy/binutils/ld/testsuite/config/default.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/align.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/alpha.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbin.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbin.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbin.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbin.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbinr.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbinr.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsbinr.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsg.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlsg.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-alpha/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app-abs32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app-abs32.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app-abs32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-app.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-elf.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib-plt32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib-plt32.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib-plt32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-lib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-static-app.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-static-app.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-arm/arm-static-app.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-auto-import/auto-import.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-auto-import/client.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-auto-import/dll.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-bootstrap/bootstrap.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest-foo.h buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest-nrv.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-cdtest/cdtest.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-checks/asm.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-checks/checks.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-checks/script buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/badgotr1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/comref1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/cris.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dso-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dso-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dso-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsofnf.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/dsofnf2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/euwref1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdref1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/expdyn7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/gotplt1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/gotplt2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/gotplt3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/gotrel1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/gotrel2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/hide1 buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/ldsym1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/libdso-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/locref1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/locref1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/locref2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/locref2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/nodyn4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/nodyn5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/noglob1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/noglob1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/undef1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/weakref1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cris/weakref2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-cygwin/exe-export.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-cygwin/testdll.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-cygwin/testdll.def buildtools/trunk/legacy/binutils/ld/testsuite/ld-cygwin/testexe.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-cygwin/testexe.def buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/d10v.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/default_layout.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/linktest-001.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/linktest-002.lt buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/linktest-002.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/regression-001.lt buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/regression-001.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-001.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-001.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-001.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-002.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-002.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-003.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-003.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-004.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-004.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-005.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-005.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-005.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-006.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-006.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-007.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-007.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-008.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-008.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-009.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-009.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-009.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-010.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-010.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-011.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-011.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-012.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-012.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-013.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-013.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-014.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-014.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-015.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-015.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-016.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/reloc-016.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-d10v/simple.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/discard.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/discard.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/exit.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/extern.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/extern.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/start.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/start.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/static.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-discard/static.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/elf.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/merge.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/merge.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/merge.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/merge2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/merge2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elf/sec64k.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfcomm/common1a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfcomm/common1b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfcomm/elfcomm.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers1.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers1.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers1.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers1.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers13.asym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers15.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers15.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers15.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers15.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers16a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers17.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers17.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers17.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers17.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers18.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers18.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers18.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers18.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers18.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers19.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers19.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers19.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers2.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers2.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers2.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers20.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers20.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers20.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers20.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers20a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers21.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers21.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers21.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers21.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers21.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22a.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers22b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23a.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23a.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23b.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23c.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers23d.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers24.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers24.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers24a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers24b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers24c.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25a.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers25b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26a.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers26b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27a.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27c.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27c.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27c.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d3.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d4.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers27d4.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28b.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28b.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28b.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28c.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28c.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers28c.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers3.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers3.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers3.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers4.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers4.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers4a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers4a.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers4a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers5.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers6.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers6.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers6.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers6.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7a.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7a.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers7a.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers8.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers8.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers8.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers9.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers9.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers9.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvers/vers9.ver buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/common.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/define.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/elf-offset.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/elfvsb.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/elfvsb.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/hidden0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/hidden1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/internal0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/internal1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/main.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/protected0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/protected1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/sh1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/sh2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/sh3.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/test.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfvsb/undef.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/bar.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/bar1a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/bar1b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/bar1c.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/dso.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/dsodata.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/dsow.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/dsowdata.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/elfweak.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/foo.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/foo1a.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/foo1b.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/main.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/main1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/strong.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/strong.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/strongcomm.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/strongdata.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/strongdata.sym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/weak.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/weak.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/weakdata.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-elfweak/weakdata.dsym buildtools/trunk/legacy/binutils/ld/testsuite/ld-fastcall/export.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-fastcall/fastcall.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-fastcall/import.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-6-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-pie-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-2-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-6-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-8-fail.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-local-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-shared-local-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic-static-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic2.ldv buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic2min.ldv buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic5.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic6.ldv buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic6.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic7.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic8.ldv buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic8.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-frv/fdpic8min.ldv buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/h8300.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-3-coff.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-4-coff.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-5-coff.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax-5.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-h8300/relax.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/combreloc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/combreloc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/i386.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/reloc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/reloc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbin.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbin.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbin.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbin.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsg.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsg.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsindntpoff.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsindntpoff.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsnopic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsnopic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsnopic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsnopic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlsnopic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-i386/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/ia64.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbin.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbin.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbin.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbin.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsg.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlsg.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-ia64/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-linkonce/linkonce.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-linkonce/x.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-linkonce/y.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-linkonce/zeroeh.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-linkonce/zeroehl32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/adj-brset.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/adj-brset.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/adj-jump.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/adj-jump.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-1403.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-1403.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-1417.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-1417.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-3331.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/bug-3331.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/far-hc11.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/far-hc11.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/far-hc12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/far-hc12.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/far-hc12.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/link-hc12.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/link-hcs12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/link-hcs12.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/m68hc11.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/relax-direct.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/relax-direct.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/relax-group.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-m68hc11/relax-group.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/branch-misc-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/jr.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips-elf-flags.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips-elf.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/mips16-1b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-1-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-1-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/multi-got-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/region1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/region1.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/region1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/region1b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/rel32-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/rel32-o32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/rel32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/rel64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/rel64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/relax-jalr-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/relax-jalr-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/relax-jalr.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-1-n32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-1-n64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-1-rel.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-1a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-1b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-2.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mips-elf/reloc-2b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/areg-256.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/areg-t.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/aregm.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfil1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfil1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfil2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfil2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfixo.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badfixo.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badloc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badloc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badlop.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badlop.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badm.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badm2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badmain.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badquot.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badquot.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-badrx3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bend.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bend1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bend2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bend3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bstab1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-bstab1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-fixo2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-fixo2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-goodmain.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-loc64k.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-loc64k.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-nosym.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-nosym.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-post1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-twoinsn.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/b-widec3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-10.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-11.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-11.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-12m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-13.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-13m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-14.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-14m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-15.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-15m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-16.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-16m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-17.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-17m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-18.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-18m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-19.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-19m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-20.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-20m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-21.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-21m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-22.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-3m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-4m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-5.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-5m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-6.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-6m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-7.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-7m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-8.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-8m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-9.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-9.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo-9m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bpo64addr.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec801.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec802.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec803.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec804.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec805.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec806.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec807.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bspec808.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-1b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-1f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-2f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-7b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-7f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-8b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza-8f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/bza.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/data1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/dloc1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/dloc2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/ext1-254.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/ext1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/ext1g.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/ext1l.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-1b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-1f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-2f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-4b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-4f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-6b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-6f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-7b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-7f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-8b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa-8f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa12b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa12f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa14b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/getaa14f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-11.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-11b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-13.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-14.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-14s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-15.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-16.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-17.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-18.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-19.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-20.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-5.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-5s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/greg-9.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/gregbza1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/gregget1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/gregget2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/gregldo1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/gregpsj1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/hdr-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-1b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-1f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-2f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-3b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-3f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-4b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-4f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-5b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-5f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-6b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-6f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-7b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-7f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-8b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-8f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-9b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa-9f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa12b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa12f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa13b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa13f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa14b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/jumpa14f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc3m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc4m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc5m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc6m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loc7m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local10.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local10m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local11.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local11m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local12.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local12m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local3m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local4m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local5m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local6m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local7.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local7m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local8.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local8m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local9.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/local9m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/locdo-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/locdo.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loct-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/loct.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/locto-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/locto.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/main1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/mmix.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/mmohdr1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/mmosec1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/mmosec2.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/nop123.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pad16.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pad2p18m32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pad2p26m32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pad4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja1b-s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja1b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja1f-s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja1f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja2f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja7b-s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja7b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja7f-s.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja7f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja8b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushja8f.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs1b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs1bm.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs1r.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs2b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs2bm.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs2r.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs3b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs3bm.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs3m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs3r.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs4b.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs4bm.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs4m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/pushjs4r.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/reg-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/reg-1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/reg-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/reg-2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/regext1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-5.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-6.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-6.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-6m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7c.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7d.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7e.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-7m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-8a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-8b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-8d.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-8m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sec-8m.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec801.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec802.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec803.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec804.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec805.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec806.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec807.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/spec808.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/start4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sym-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sym-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/sym-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-1m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-2m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/undef-3m.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/x.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/y.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/zeroeh.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/zeroehelf.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-mmix/zeroehmmo.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/apuinfo.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/apuinfo1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/apuinfo2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/powerpc.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/reloc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/reloc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls32.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tls32.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe32.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe32.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexe32.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexetoc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexetoc.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexetoc.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsexetoc.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlslib32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso32.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso32.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso32.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlsso32.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstoc.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstoc.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstoc.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstoc.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstocso.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstocso.g buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstocso.r buildtools/trunk/legacy/binutils/ld/testsuite/ld-powerpc/tlstocso.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/s390.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin_64.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin_64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin_64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin_64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbin_64.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlsbinpic_64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlslib_64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic1_64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic2_64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic_64.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic_64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic_64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-s390/tlspic_64.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/align.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/assert.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/assert.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/assert.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross1.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/cross3.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/crossref.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/data.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/data.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/data.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/data.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/defined3.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/dynamic-sections-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/dynamic-sections-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/dynamic-sections.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/dynamic-sections.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/dynamic-sections.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/map-address.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/map-address.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/map-address.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/overlay-size-map.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/overlay-size.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/overlay-size.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/overlay-size.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/overlay-size.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs2.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/phdrs2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-1.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide-3.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/provide.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/script.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/script.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/script.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/scriptm.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-1.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size-2.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/size.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sizeof.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sizeof.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/sizeof.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/weak.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/weak.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/weak1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-scripts/weak2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/3.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/4.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/5.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/keepdot.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/keepdot.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/keepdot.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/keepdot0.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/keepdot0.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/sel-dump.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-selective/selective.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/ld-r-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/ldr1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/ldr2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/rd-sh.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/refdbg-0-dso.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/refdbg-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/refdbg.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/refdbglib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/abi32.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/abi32.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/abi64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/abi64.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/abixx-noexp.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/cmpct1.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/cmpct1.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2a.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2b.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2c.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2d.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2e.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2f.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2g.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2h.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange-2i.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange2.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange3-media.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange3.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crange3.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crangerel1.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/crangerel2.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/dlsection-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/dlsection.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.dbd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.dld buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.sbd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/endian.sld buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/gotplt.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/gotplt.map buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/gotplt.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/init-cmpct.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/init-media.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/init.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/init64.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix1-noexp.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix1.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix1.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix2-noexp.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix2.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/mix2.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/rd-sh64.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/rel-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/rel-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/rel32.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/rel64.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relax.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relax1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relax2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relax3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relax4.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/reldl-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/reldl-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/reldl32.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/reldl64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relfail.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/relfail.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/sh64-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/sh64-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/sh64.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shcmp-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shdl-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shdl-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shdl32.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shdl64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shdl64.xd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shmix-1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shmix-2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/shmix-3.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/stobin-0-dso.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/stobin-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/stobin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sh64/stolib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/shared-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/shared-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/start.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sub2l-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/sub2l.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/textrel1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/textrel2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin-0-dso.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic-3.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic-4.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlstpoff-1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlstpoff-2.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlstpoff1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/tlstpoff2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/weak1.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-sh/weak1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/elf-offset.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/main.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/sh1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/sh2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/shared.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/shared.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/sun4.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/symbolic.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-shared/xcoff.dat buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/sparc.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlsg32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlsg32.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlsg64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlsg64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlsnopic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlspic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin32.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin32.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin32.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin32.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin64.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbin64.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbinpic32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunbinpic64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic32.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic32.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic32.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic64.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunnopic64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic32.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic32.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic32.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic32.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic32.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic64.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic64.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic64.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic64.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-sparc/tlssunpic64.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-srec/sr1.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-srec/sr2.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-srec/sr3.cc buildtools/trunk/legacy/binutils/ld/testsuite/ld-srec/srec.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-undefined/undefined.c buildtools/trunk/legacy/binutils/ld/testsuite/ld-undefined/undefined.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-undefined/weak-undef.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-undefined/weak-undef.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-undefined/weak-undef.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t1-1.ro buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t1-2.ro buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t1.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t1.ook buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t2-1.ro buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t2-2.ro buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t2-3.ro buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t2.ld buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/t2.ook buildtools/trunk/legacy/binutils/ld/testsuite/ld-versados/versados.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbin.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbin.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbin.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbin.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbin.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsbinpic.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsg.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlsg.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlslib.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic.dd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic.rd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic.sd buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic.td buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/tlspic2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-x86-64/x86-64.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-xstormy16/external.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xstormy16/pcrel.d buildtools/trunk/legacy/binutils/ld/testsuite/ld-xstormy16/pcrel.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xstormy16/xstormy16.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/coalesce.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/coalesce.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/coalesce1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/coalesce2.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/lcall.exp buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/lcall.t buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/lcall1.s buildtools/trunk/legacy/binutils/ld/testsuite/ld-xtensa/lcall2.s buildtools/trunk/legacy/binutils/ld/testsuite/lib/ld-lib.exp buildtools/trunk/legacy/binutils/libiberty/COPYING.LIB buildtools/trunk/legacy/binutils/libiberty/ChangeLog buildtools/trunk/legacy/binutils/libiberty/Makefile.in buildtools/trunk/legacy/binutils/libiberty/README buildtools/trunk/legacy/binutils/libiberty/_doprnt.c buildtools/trunk/legacy/binutils/libiberty/aclocal.m4 buildtools/trunk/legacy/binutils/libiberty/alloca.c buildtools/trunk/legacy/binutils/libiberty/argv.c buildtools/trunk/legacy/binutils/libiberty/asprintf.c buildtools/trunk/legacy/binutils/libiberty/atexit.c buildtools/trunk/legacy/binutils/libiberty/basename.c buildtools/trunk/legacy/binutils/libiberty/bcmp.c buildtools/trunk/legacy/binutils/libiberty/bcopy.c buildtools/trunk/legacy/binutils/libiberty/bsearch.c buildtools/trunk/legacy/binutils/libiberty/bzero.c buildtools/trunk/legacy/binutils/libiberty/calloc.c buildtools/trunk/legacy/binutils/libiberty/choose-temp.c buildtools/trunk/legacy/binutils/libiberty/clock.c buildtools/trunk/legacy/binutils/libiberty/concat.c buildtools/trunk/legacy/binutils/libiberty/config.h-vms buildtools/trunk/legacy/binutils/libiberty/config.in buildtools/trunk/legacy/binutils/libiberty/config/mh-aix buildtools/trunk/legacy/binutils/libiberty/config/mh-cxux7 buildtools/trunk/legacy/binutils/libiberty/config/mh-fbsd21 buildtools/trunk/legacy/binutils/libiberty/config/mh-openedition buildtools/trunk/legacy/binutils/libiberty/config/mh-windows buildtools/trunk/legacy/binutils/libiberty/configure buildtools/trunk/legacy/binutils/libiberty/configure.ac buildtools/trunk/legacy/binutils/libiberty/copying-lib.texi buildtools/trunk/legacy/binutils/libiberty/copysign.c buildtools/trunk/legacy/binutils/libiberty/cp-demangle.c buildtools/trunk/legacy/binutils/libiberty/cp-demangle.h buildtools/trunk/legacy/binutils/libiberty/cp-demint.c buildtools/trunk/legacy/binutils/libiberty/cplus-dem.c buildtools/trunk/legacy/binutils/libiberty/dyn-string.c buildtools/trunk/legacy/binutils/libiberty/fdmatch.c buildtools/trunk/legacy/binutils/libiberty/ffs.c buildtools/trunk/legacy/binutils/libiberty/fibheap.c buildtools/trunk/legacy/binutils/libiberty/floatformat.c buildtools/trunk/legacy/binutils/libiberty/fnmatch.c buildtools/trunk/legacy/binutils/libiberty/fnmatch.txh buildtools/trunk/legacy/binutils/libiberty/functions.texi buildtools/trunk/legacy/binutils/libiberty/gather-docs buildtools/trunk/legacy/binutils/libiberty/getcwd.c buildtools/trunk/legacy/binutils/libiberty/getopt.c buildtools/trunk/legacy/binutils/libiberty/getopt1.c buildtools/trunk/legacy/binutils/libiberty/getpagesize.c buildtools/trunk/legacy/binutils/libiberty/getpwd.c buildtools/trunk/legacy/binutils/libiberty/getruntime.c buildtools/trunk/legacy/binutils/libiberty/hashtab.c buildtools/trunk/legacy/binutils/libiberty/hex.c buildtools/trunk/legacy/binutils/libiberty/index.c buildtools/trunk/legacy/binutils/libiberty/insque.c buildtools/trunk/legacy/binutils/libiberty/lbasename.c buildtools/trunk/legacy/binutils/libiberty/libiberty.texi buildtools/trunk/legacy/binutils/libiberty/lrealpath.c buildtools/trunk/legacy/binutils/libiberty/maint-tool buildtools/trunk/legacy/binutils/libiberty/make-relative-prefix.c buildtools/trunk/legacy/binutils/libiberty/make-temp-file.c buildtools/trunk/legacy/binutils/libiberty/makefile.vms buildtools/trunk/legacy/binutils/libiberty/md5.c buildtools/trunk/legacy/binutils/libiberty/memchr.c buildtools/trunk/legacy/binutils/libiberty/memcmp.c buildtools/trunk/legacy/binutils/libiberty/memcpy.c buildtools/trunk/legacy/binutils/libiberty/memmove.c buildtools/trunk/legacy/binutils/libiberty/mempcpy.c buildtools/trunk/legacy/binutils/libiberty/memset.c buildtools/trunk/legacy/binutils/libiberty/mkstemps.c buildtools/trunk/legacy/binutils/libiberty/msdos.c buildtools/trunk/legacy/binutils/libiberty/objalloc.c buildtools/trunk/legacy/binutils/libiberty/obstack.c buildtools/trunk/legacy/binutils/libiberty/obstacks.texi buildtools/trunk/legacy/binutils/libiberty/partition.c buildtools/trunk/legacy/binutils/libiberty/pex-common.h buildtools/trunk/legacy/binutils/libiberty/pex-djgpp.c buildtools/trunk/legacy/binutils/libiberty/pex-msdos.c buildtools/trunk/legacy/binutils/libiberty/pex-unix.c buildtools/trunk/legacy/binutils/libiberty/pex-win32.c buildtools/trunk/legacy/binutils/libiberty/pexecute.txh buildtools/trunk/legacy/binutils/libiberty/physmem.c buildtools/trunk/legacy/binutils/libiberty/putenv.c buildtools/trunk/legacy/binutils/libiberty/random.c buildtools/trunk/legacy/binutils/libiberty/regex.c buildtools/trunk/legacy/binutils/libiberty/rename.c buildtools/trunk/legacy/binutils/libiberty/rindex.c buildtools/trunk/legacy/binutils/libiberty/safe-ctype.c buildtools/trunk/legacy/binutils/libiberty/setenv.c buildtools/trunk/legacy/binutils/libiberty/sigsetmask.c buildtools/trunk/legacy/binutils/libiberty/snprintf.c buildtools/trunk/legacy/binutils/libiberty/sort.c buildtools/trunk/legacy/binutils/libiberty/spaces.c buildtools/trunk/legacy/binutils/libiberty/splay-tree.c buildtools/trunk/legacy/binutils/libiberty/stpcpy.c buildtools/trunk/legacy/binutils/libiberty/stpncpy.c buildtools/trunk/legacy/binutils/libiberty/strcasecmp.c buildtools/trunk/legacy/binutils/libiberty/strchr.c buildtools/trunk/legacy/binutils/libiberty/strdup.c buildtools/trunk/legacy/binutils/libiberty/strerror.c buildtools/trunk/legacy/binutils/libiberty/strncasecmp.c buildtools/trunk/legacy/binutils/libiberty/strncmp.c buildtools/trunk/legacy/binutils/libiberty/strrchr.c buildtools/trunk/legacy/binutils/libiberty/strsignal.c buildtools/trunk/legacy/binutils/libiberty/strstr.c buildtools/trunk/legacy/binutils/libiberty/strtod.c buildtools/trunk/legacy/binutils/libiberty/strtol.c buildtools/trunk/legacy/binutils/libiberty/strtoul.c buildtools/trunk/legacy/binutils/libiberty/ternary.c buildtools/trunk/legacy/binutils/libiberty/testsuite/Makefile.in buildtools/trunk/legacy/binutils/libiberty/testsuite/demangle-expected buildtools/trunk/legacy/binutils/libiberty/testsuite/test-demangle.c buildtools/trunk/legacy/binutils/libiberty/tmpnam.c buildtools/trunk/legacy/binutils/libiberty/vasprintf.c buildtools/trunk/legacy/binutils/libiberty/vfork.c buildtools/trunk/legacy/binutils/libiberty/vfprintf.c buildtools/trunk/legacy/binutils/libiberty/vmsbuild.com buildtools/trunk/legacy/binutils/libiberty/vprintf.c buildtools/trunk/legacy/binutils/libiberty/vsnprintf.c buildtools/trunk/legacy/binutils/libiberty/vsprintf.c buildtools/trunk/legacy/binutils/libiberty/waitpid.c buildtools/trunk/legacy/binutils/libiberty/xatexit.c buildtools/trunk/legacy/binutils/libiberty/xexit.c buildtools/trunk/legacy/binutils/libiberty/xmalloc.c buildtools/trunk/legacy/binutils/libiberty/xmemdup.c buildtools/trunk/legacy/binutils/libiberty/xstrdup.c buildtools/trunk/legacy/binutils/libiberty/xstrerror.c buildtools/trunk/legacy/binutils/libtool.m4 buildtools/trunk/legacy/binutils/ltcf-c.sh buildtools/trunk/legacy/binutils/ltcf-cxx.sh buildtools/trunk/legacy/binutils/ltcf-gcj.sh buildtools/trunk/legacy/binutils/ltconfig buildtools/trunk/legacy/binutils/ltmain.sh buildtools/trunk/legacy/binutils/makefile.vms buildtools/trunk/legacy/binutils/md5.sum buildtools/trunk/legacy/binutils/missing buildtools/trunk/legacy/binutils/mkdep buildtools/trunk/legacy/binutils/mkinstalldirs buildtools/trunk/legacy/binutils/move-if-change buildtools/trunk/legacy/binutils/opcodes/ChangeLog buildtools/trunk/legacy/binutils/opcodes/ChangeLog-0001 buildtools/trunk/legacy/binutils/opcodes/ChangeLog-0203 buildtools/trunk/legacy/binutils/opcodes/ChangeLog-9297 buildtools/trunk/legacy/binutils/opcodes/ChangeLog-9899 buildtools/trunk/legacy/binutils/opcodes/MAINTAINERS buildtools/trunk/legacy/binutils/opcodes/Makefile.am buildtools/trunk/legacy/binutils/opcodes/Makefile.in buildtools/trunk/legacy/binutils/opcodes/acinclude.m4 buildtools/trunk/legacy/binutils/opcodes/aclocal.m4 buildtools/trunk/legacy/binutils/opcodes/alpha-dis.c buildtools/trunk/legacy/binutils/opcodes/alpha-opc.c buildtools/trunk/legacy/binutils/opcodes/arc-dis.c buildtools/trunk/legacy/binutils/opcodes/arc-dis.h buildtools/trunk/legacy/binutils/opcodes/arc-ext.c buildtools/trunk/legacy/binutils/opcodes/arc-ext.h buildtools/trunk/legacy/binutils/opcodes/arc-opc.c buildtools/trunk/legacy/binutils/opcodes/arm-dis.c buildtools/trunk/legacy/binutils/opcodes/avr-dis.c buildtools/trunk/legacy/binutils/opcodes/cgen-asm.c buildtools/trunk/legacy/binutils/opcodes/cgen-asm.in buildtools/trunk/legacy/binutils/opcodes/cgen-dis.c buildtools/trunk/legacy/binutils/opcodes/cgen-dis.in buildtools/trunk/legacy/binutils/opcodes/cgen-ibld.in buildtools/trunk/legacy/binutils/opcodes/cgen-opc.c buildtools/trunk/legacy/binutils/opcodes/cgen.sh buildtools/trunk/legacy/binutils/opcodes/config.in buildtools/trunk/legacy/binutils/opcodes/configure buildtools/trunk/legacy/binutils/opcodes/configure.in buildtools/trunk/legacy/binutils/opcodes/cris-dis.c buildtools/trunk/legacy/binutils/opcodes/cris-opc.c buildtools/trunk/legacy/binutils/opcodes/d10v-dis.c buildtools/trunk/legacy/binutils/opcodes/d10v-opc.c buildtools/trunk/legacy/binutils/opcodes/d30v-dis.c buildtools/trunk/legacy/binutils/opcodes/d30v-opc.c buildtools/trunk/legacy/binutils/opcodes/dep-in.sed buildtools/trunk/legacy/binutils/opcodes/dis-buf.c buildtools/trunk/legacy/binutils/opcodes/dis-init.c buildtools/trunk/legacy/binutils/opcodes/disassemble.c buildtools/trunk/legacy/binutils/opcodes/dlx-dis.c buildtools/trunk/legacy/binutils/opcodes/fr30-asm.c buildtools/trunk/legacy/binutils/opcodes/fr30-desc.c buildtools/trunk/legacy/binutils/opcodes/fr30-desc.h buildtools/trunk/legacy/binutils/opcodes/fr30-dis.c buildtools/trunk/legacy/binutils/opcodes/fr30-ibld.c buildtools/trunk/legacy/binutils/opcodes/fr30-opc.c buildtools/trunk/legacy/binutils/opcodes/fr30-opc.h buildtools/trunk/legacy/binutils/opcodes/frv-asm.c buildtools/trunk/legacy/binutils/opcodes/frv-desc.c buildtools/trunk/legacy/binutils/opcodes/frv-desc.h buildtools/trunk/legacy/binutils/opcodes/frv-dis.c buildtools/trunk/legacy/binutils/opcodes/frv-ibld.c buildtools/trunk/legacy/binutils/opcodes/frv-opc.c buildtools/trunk/legacy/binutils/opcodes/frv-opc.h buildtools/trunk/legacy/binutils/opcodes/h8300-dis.c buildtools/trunk/legacy/binutils/opcodes/h8500-dis.c buildtools/trunk/legacy/binutils/opcodes/h8500-opc.h buildtools/trunk/legacy/binutils/opcodes/hppa-dis.c buildtools/trunk/legacy/binutils/opcodes/i370-dis.c buildtools/trunk/legacy/binutils/opcodes/i370-opc.c buildtools/trunk/legacy/binutils/opcodes/i386-dis.c buildtools/trunk/legacy/binutils/opcodes/i860-dis.c buildtools/trunk/legacy/binutils/opcodes/i960-dis.c buildtools/trunk/legacy/binutils/opcodes/ia64-asmtab.c buildtools/trunk/legacy/binutils/opcodes/ia64-asmtab.h buildtools/trunk/legacy/binutils/opcodes/ia64-dis.c buildtools/trunk/legacy/binutils/opcodes/ia64-gen.c buildtools/trunk/legacy/binutils/opcodes/ia64-ic.tbl buildtools/trunk/legacy/binutils/opcodes/ia64-opc-a.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-b.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-d.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-f.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-i.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-m.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc-x.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc.c buildtools/trunk/legacy/binutils/opcodes/ia64-opc.h buildtools/trunk/legacy/binutils/opcodes/ia64-raw.tbl buildtools/trunk/legacy/binutils/opcodes/ia64-war.tbl buildtools/trunk/legacy/binutils/opcodes/ia64-waw.tbl buildtools/trunk/legacy/binutils/opcodes/ip2k-asm.c buildtools/trunk/legacy/binutils/opcodes/ip2k-desc.c buildtools/trunk/legacy/binutils/opcodes/ip2k-desc.h buildtools/trunk/legacy/binutils/opcodes/ip2k-dis.c buildtools/trunk/legacy/binutils/opcodes/ip2k-ibld.c buildtools/trunk/legacy/binutils/opcodes/ip2k-opc.c buildtools/trunk/legacy/binutils/opcodes/ip2k-opc.h buildtools/trunk/legacy/binutils/opcodes/iq2000-asm.c buildtools/trunk/legacy/binutils/opcodes/iq2000-desc.c buildtools/trunk/legacy/binutils/opcodes/iq2000-desc.h buildtools/trunk/legacy/binutils/opcodes/iq2000-dis.c buildtools/trunk/legacy/binutils/opcodes/iq2000-ibld.c buildtools/trunk/legacy/binutils/opcodes/iq2000-opc.c buildtools/trunk/legacy/binutils/opcodes/iq2000-opc.h buildtools/trunk/legacy/binutils/opcodes/m10200-dis.c buildtools/trunk/legacy/binutils/opcodes/m10200-opc.c buildtools/trunk/legacy/binutils/opcodes/m10300-dis.c buildtools/trunk/legacy/binutils/opcodes/m10300-opc.c buildtools/trunk/legacy/binutils/opcodes/m32r-asm.c buildtools/trunk/legacy/binutils/opcodes/m32r-desc.c buildtools/trunk/legacy/binutils/opcodes/m32r-desc.h buildtools/trunk/legacy/binutils/opcodes/m32r-dis.c buildtools/trunk/legacy/binutils/opcodes/m32r-ibld.c buildtools/trunk/legacy/binutils/opcodes/m32r-opc.c buildtools/trunk/legacy/binutils/opcodes/m32r-opc.h buildtools/trunk/legacy/binutils/opcodes/m32r-opinst.c buildtools/trunk/legacy/binutils/opcodes/m68hc11-dis.c buildtools/trunk/legacy/binutils/opcodes/m68hc11-opc.c buildtools/trunk/legacy/binutils/opcodes/m68k-dis.c buildtools/trunk/legacy/binutils/opcodes/m68k-opc.c buildtools/trunk/legacy/binutils/opcodes/m88k-dis.c buildtools/trunk/legacy/binutils/opcodes/makefile.vms buildtools/trunk/legacy/binutils/opcodes/mcore-dis.c buildtools/trunk/legacy/binutils/opcodes/mcore-opc.h buildtools/trunk/legacy/binutils/opcodes/mips-dis.c buildtools/trunk/legacy/binutils/opcodes/mips-opc.c buildtools/trunk/legacy/binutils/opcodes/mips16-opc.c buildtools/trunk/legacy/binutils/opcodes/mmix-dis.c buildtools/trunk/legacy/binutils/opcodes/mmix-opc.c buildtools/trunk/legacy/binutils/opcodes/msp430-dis.c buildtools/trunk/legacy/binutils/opcodes/ns32k-dis.c buildtools/trunk/legacy/binutils/opcodes/openrisc-asm.c buildtools/trunk/legacy/binutils/opcodes/openrisc-desc.c buildtools/trunk/legacy/binutils/opcodes/openrisc-desc.h buildtools/trunk/legacy/binutils/opcodes/openrisc-dis.c buildtools/trunk/legacy/binutils/opcodes/openrisc-ibld.c buildtools/trunk/legacy/binutils/opcodes/openrisc-opc.c buildtools/trunk/legacy/binutils/opcodes/openrisc-opc.h buildtools/trunk/legacy/binutils/opcodes/opintl.h buildtools/trunk/legacy/binutils/opcodes/or32-dis.c buildtools/trunk/legacy/binutils/opcodes/or32-opc.c buildtools/trunk/legacy/binutils/opcodes/pdp11-dis.c buildtools/trunk/legacy/binutils/opcodes/pdp11-opc.c buildtools/trunk/legacy/binutils/opcodes/pj-dis.c buildtools/trunk/legacy/binutils/opcodes/pj-opc.c buildtools/trunk/legacy/binutils/opcodes/po/Make-in buildtools/trunk/legacy/binutils/opcodes/po/POTFILES.in buildtools/trunk/legacy/binutils/opcodes/po/da.gmo buildtools/trunk/legacy/binutils/opcodes/po/da.po buildtools/trunk/legacy/binutils/opcodes/po/de.gmo buildtools/trunk/legacy/binutils/opcodes/po/de.po buildtools/trunk/legacy/binutils/opcodes/po/es.gmo buildtools/trunk/legacy/binutils/opcodes/po/es.po buildtools/trunk/legacy/binutils/opcodes/po/fr.gmo buildtools/trunk/legacy/binutils/opcodes/po/fr.po buildtools/trunk/legacy/binutils/opcodes/po/id.gmo buildtools/trunk/legacy/binutils/opcodes/po/id.po buildtools/trunk/legacy/binutils/opcodes/po/nl.gmo buildtools/trunk/legacy/binutils/opcodes/po/nl.po buildtools/trunk/legacy/binutils/opcodes/po/opcodes.pot buildtools/trunk/legacy/binutils/opcodes/po/pt_BR.gmo buildtools/trunk/legacy/binutils/opcodes/po/pt_BR.po buildtools/trunk/legacy/binutils/opcodes/po/ro.gmo buildtools/trunk/legacy/binutils/opcodes/po/ro.po buildtools/trunk/legacy/binutils/opcodes/po/sv.gmo buildtools/trunk/legacy/binutils/opcodes/po/sv.po buildtools/trunk/legacy/binutils/opcodes/po/tr.gmo buildtools/trunk/legacy/binutils/opcodes/po/tr.po buildtools/trunk/legacy/binutils/opcodes/ppc-dis.c buildtools/trunk/legacy/binutils/opcodes/ppc-opc.c buildtools/trunk/legacy/binutils/opcodes/s390-dis.c buildtools/trunk/legacy/binutils/opcodes/s390-mkopc.c buildtools/trunk/legacy/binutils/opcodes/s390-opc.c buildtools/trunk/legacy/binutils/opcodes/s390-opc.txt buildtools/trunk/legacy/binutils/opcodes/sh-dis.c buildtools/trunk/legacy/binutils/opcodes/sh-opc.h buildtools/trunk/legacy/binutils/opcodes/sh64-dis.c buildtools/trunk/legacy/binutils/opcodes/sh64-opc.c buildtools/trunk/legacy/binutils/opcodes/sh64-opc.h buildtools/trunk/legacy/binutils/opcodes/sparc-dis.c buildtools/trunk/legacy/binutils/opcodes/sparc-opc.c buildtools/trunk/legacy/binutils/opcodes/stamp-h.in buildtools/trunk/legacy/binutils/opcodes/sysdep.h buildtools/trunk/legacy/binutils/opcodes/tic30-dis.c buildtools/trunk/legacy/binutils/opcodes/tic4x-dis.c buildtools/trunk/legacy/binutils/opcodes/tic54x-dis.c buildtools/trunk/legacy/binutils/opcodes/tic54x-opc.c buildtools/trunk/legacy/binutils/opcodes/tic80-dis.c buildtools/trunk/legacy/binutils/opcodes/tic80-opc.c buildtools/trunk/legacy/binutils/opcodes/v850-dis.c buildtools/trunk/legacy/binutils/opcodes/v850-opc.c buildtools/trunk/legacy/binutils/opcodes/vax-dis.c buildtools/trunk/legacy/binutils/opcodes/w65-dis.c buildtools/trunk/legacy/binutils/opcodes/w65-opc.h buildtools/trunk/legacy/binutils/opcodes/xstormy16-asm.c buildtools/trunk/legacy/binutils/opcodes/xstormy16-desc.c buildtools/trunk/legacy/binutils/opcodes/xstormy16-desc.h buildtools/trunk/legacy/binutils/opcodes/xstormy16-dis.c buildtools/trunk/legacy/binutils/opcodes/xstormy16-ibld.c buildtools/trunk/legacy/binutils/opcodes/xstormy16-opc.c buildtools/trunk/legacy/binutils/opcodes/xstormy16-opc.h buildtools/trunk/legacy/binutils/opcodes/xtensa-dis.c buildtools/trunk/legacy/binutils/opcodes/z8k-dis.c buildtools/trunk/legacy/binutils/opcodes/z8k-opc.h buildtools/trunk/legacy/binutils/opcodes/z8kgen.c buildtools/trunk/legacy/binutils/setup.com buildtools/trunk/legacy/binutils/src-release buildtools/trunk/legacy/binutils/symlink-tree buildtools/trunk/legacy/binutils/texinfo/texinfo.tex buildtools/trunk/legacy/binutils/ylwrap Log: * updated binutils to 2.17, most problems should be solved now... except one: the binaries produced by this version of binutils crashes the loader of BeOS versions BONE, Dano (and probably Zeta, too). That's a pity, but I currently do not know how to fix this (as the fix available for older versions of binutils does not work anymore). Modified: buildtools/trunk/legacy/binutils/COPYING =================================================================== --- buildtools/trunk/legacy/binutils/COPYING 2007-02-21 21:11:47 UTC (rev 20191) +++ buildtools/trunk/legacy/binutils/COPYING 2007-02-21 21:17:52 UTC (rev 20192) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -291,7 +291,7 @@ the "copyright" line and a pointer to where the full notice is found. - Copyright (C) 19yy + Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -305,7 +305,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. @@ -313,7 +313,7 @@ If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Property changes on: buildtools/trunk/legacy/binutils/COPYING ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/COPYING.LIB =================================================================== --- buildtools/trunk/legacy/binutils/COPYING.LIB 2007-02-21 21:11:47 UTC (rev 20191) +++ buildtools/trunk/legacy/binutils/COPYING.LIB 2007-02-21 21:17:52 UTC (rev 20192) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -464,8 +464,8 @@ You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA Also add information on how to contact you by electronic and paper mail. Property changes on: buildtools/trunk/legacy/binutils/COPYING.LIB ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/Makefile.def =================================================================== --- buildtools/trunk/legacy/binutils/Makefile.def 2007-02-21 21:11:47 UTC (rev 20191) +++ buildtools/trunk/legacy/binutils/Makefile.def 2007-02-21 21:17:52 UTC (rev 20192) @@ -4,7 +4,7 @@ // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'. // This file was originally written by Nathanael Nerode. // -// Copyright 2002, 2003 Free Software Foundation +// Copyright 2002, 2003, 2004, 2005, 2006 Free Software Foundation // // This file is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -18,21 +18,28 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // "missing" indicates that that module doesn't supply // that recursive target in its Makefile. build_modules= { module= libiberty; }; +build_modules= { module= bison; }; +build_modules= { module= byacc; }; +build_modules= { module= flex; }; +build_modules= { module= m4; }; +build_modules= { module= texinfo; }; +build_modules= { module= fixincludes; + extra_configure_args='--target=$(target)'; }; host_modules= { module= ash; }; host_modules= { module= autoconf; }; host_modules= { module= automake; }; host_modules= { module= bash; }; -host_modules= { module= bfd; }; -host_modules= { module= opcodes; }; -host_modules= { module= binutils; }; +host_modules= { module= bfd; lib_path=.; bootstrap=true; }; +host_modules= { module= opcodes; lib_path=.; bootstrap=true; }; +host_modules= { module= binutils; bootstrap=true; }; host_modules= { module= bison; no_check_cross= true; }; host_modules= { module= byacc; no_check_cross= true; }; host_modules= { module= bzip2; }; @@ -44,8 +51,17 @@ host_modules= { module= fileutils; }; host_modules= { module= findutils; }; host_modules= { module= find; }; +host_modules= { module= fixincludes; + missing= info; + missing= dvi; + missing= TAGS; + missing= install-info; + missing= installcheck; }; host_modules= { module= flex; no_check_cross= true; }; -host_modules= { module= gas; }; +host_modules= { module= gas; bootstrap=true; }; +host_modules= { module= gcc; bootstrap=true; + target="`if [ -f stage_last ]; then echo quickstrap ; else echo all; fi`"; + extra_make_flags="$(EXTRA_GCC_FLAGS)"; }; host_modules= { module= gawk; }; host_modules= { module= gettext; }; host_modules= { module= gnuserv; }; @@ -53,13 +69,15 @@ host_modules= { module= gzip; }; host_modules= { module= hello; }; host_modules= { module= indent; }; -host_modules= { module= intl; }; +host_modules= { module= intl; bootstrap=true; }; host_modules= { module= tcl; missing=mostlyclean; }; host_modules= { module= itcl; }; -host_modules= { module= ld; }; +host_modules= { module= ld; bootstrap=true; }; +host_modules= { module= libcpp; bootstrap=true; }; +host_modules= { module= libdecnumber; bootstrap=true; }; host_modules= { module= libgui; }; -host_modules= { module= libiberty; }; +host_modules= { module= libiberty; bootstrap=true; }; host_modules= { module= libtool; }; host_modules= { module= m4; }; host_modules= { module= make; }; @@ -83,24 +101,27 @@ host_modules= { module= uudecode; }; host_modules= { module= wdiff; }; host_modules= { module= zip; no_check_cross=true; }; -host_modules= { module= zlib; no_install=true; no_check=true; }; -host_modules= { module= gdb; with_x=true; }; -host_modules= { module= expect; with_x=true; }; -host_modules= { module= guile; with_x=true; }; -host_modules= { module= tk; with_x=true; }; -host_modules= { module= tix; with_x=true; }; +host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; }; +host_modules= { module= gdb; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= expect; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= guile; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= tk; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; host_modules= { module= libtermcap; no_check=true; missing=mostlyclean; missing=clean; missing=distclean; missing=maintainer-clean; }; host_modules= { module= utils; no_check=true; }; +host_modules= { module= gnattools; }; -target_modules = { module= libstdc++-v3; raw_cxx=true; }; +target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; }; +target_modules = { module= libmudflap; lib_path=.libs; }; +target_modules = { module= libssp; lib_path=.libs; }; +target_modules = { module= libgcc-math; lib_path=.libs; }; target_modules = { module= newlib; }; -target_modules = { module= libf2c; }; +target_modules = { module= libgfortran; }; target_modules = { module= libobjc; }; -target_modules = { module= libtermcap; no_check=true; stage=true; +target_modules = { module= libtermcap; no_check=true; missing=mostlyclean; missing=clean; missing=distclean; @@ -112,11 +133,12 @@ target_modules = { module= examples; no_check=true; no_install=true; }; target_modules = { module= libffi; }; target_modules = { module= libjava; raw_cxx=true; }; -target_modules = { module= zlib; stage=true; }; +target_modules = { module= zlib; }; target_modules = { module= boehm-gc; }; target_modules = { module= qthreads; }; target_modules = { module= rda; }; target_modules = { module= libada; }; +target_modules = { module= libgomp; lib_path=.libs; }; // These are (some of) the make targets to be done in each subdirectory. // Not all; these are the ones which don't have special options. @@ -126,11 +148,16 @@ depend=configure; }; recursive_targets = { make_target= dvi; depend=configure; }; +recursive_targets = { make_target= html; + depend=configure; }; recursive_targets = { make_target= TAGS; depend=configure; }; recursive_targets = { make_target= install-info; depend=configure; depend=info; }; +recursive_targets = { make_target= install-html; + depend=configure; + depend=html; }; recursive_targets = { make_target= installcheck; depend=configure; }; recursive_targets = { make_target= mostlyclean; }; @@ -148,12 +175,13 @@ flags_to_pass = { flag= datadir ; }; flags_to_pass = { flag= exec_prefix ; }; flags_to_pass = { flag= includedir ; }; +flags_to_pass = { flag= datarootdir ; }; +flags_to_pass = { flag= docdir ; }; flags_to_pass = { flag= infodir ; }; +flags_to_pass = { flag= htmldir ; }; flags_to_pass = { flag= libdir ; }; flags_to_pass = { flag= libexecdir ; }; flags_to_pass = { flag= lispdir ; }; -flags_to_pass = { flag= libstdcxx_incdir ; }; -flags_to_pass = { flag= libsubdir ; }; flags_to_pass = { flag= localstatedir ; }; flags_to_pass = { flag= mandir ; }; flags_to_pass = { flag= oldincludedir ; }; @@ -163,16 +191,15 @@ flags_to_pass = { flag= sysconfdir ; }; flags_to_pass = { flag= tooldir ; }; flags_to_pass = { flag= build_tooldir ; }; -flags_to_pass = { flag= gxx_include_dir ; }; -flags_to_pass = { flag= gcc_version ; }; -flags_to_pass = { flag= gcc_version_trigger ; }; flags_to_pass = { flag= target_alias ; }; // Build tools flags_to_pass = { flag= BISON ; }; flags_to_pass = { flag= CC_FOR_BUILD ; }; +flags_to_pass = { flag= CFLAGS_FOR_BUILD ; }; flags_to_pass = { flag= CXX_FOR_BUILD ; }; flags_to_pass = { flag= EXPECT ; }; +flags_to_pass = { flag= FLEX ; }; flags_to_pass = { flag= INSTALL ; }; flags_to_pass = { flag= INSTALL_DATA ; }; flags_to_pass = { flag= INSTALL_PROGRAM ; }; @@ -186,25 +213,288 @@ flags_to_pass = { flag= YACC ; }; // Host tools +flags_to_pass = { flag= ADAFLAGS ; optional=true ; }; flags_to_pass = { flag= AR_FLAGS ; }; +flags_to_pass = { flag= BOOT_ADAFLAGS ; optional=true ; }; +flags_to_pass = { flag= BOOT_CFLAGS ; }; +flags_to_pass = { flag= BOOT_LDFLAGS ; }; flags_to_pass = { flag= CFLAGS ; }; flags_to_pass = { flag= CXXFLAGS ; }; flags_to_pass = { flag= LDFLAGS ; }; flags_to_pass = { flag= LIBCFLAGS ; }; flags_to_pass = { flag= LIBCXXFLAGS ; }; +flags_to_pass = { flag= STAGE1_CFLAGS ; }; +flags_to_pass = { flag= STAGE1_LANGUAGES ; }; // Target tools flags_to_pass = { flag= AR_FOR_TARGET ; }; flags_to_pass = { flag= AS_FOR_TARGET ; }; flags_to_pass = { flag= CC_FOR_TARGET ; }; flags_to_pass = { flag= CFLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= CXX_FOR_TARGET ; }; flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; }; flags_to_pass = { flag= GCJ_FOR_TARGET ; }; +flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; }; flags_to_pass = { flag= LD_FOR_TARGET ; }; +flags_to_pass = { flag= LIPO_FOR_TARGET ; }; +flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= NM_FOR_TARGET ; }; +flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; }; flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; +flags_to_pass = { flag= STRIP_FOR_TARGET ; }; flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; + +// Miscellaneous +flags_to_pass = { flag= LANGUAGES ; optional=true ; }; +flags_to_pass = { flag= LEAN ; }; + +// Inter-module dependencies + +// Build modules +dependencies = { module=all-build-bison; on=all-build-texinfo; }; +dependencies = { module=all-build-byacc; on=all-build-texinfo; }; +dependencies = { module=all-build-flex; on=all-build-texinfo; }; +dependencies = { module=all-build-flex; on=all-build-bison; }; +dependencies = { module=all-build-flex; on=all-build-byacc; }; +dependencies = { module=all-build-flex; on=all-build-m4; }; +dependencies = { module=all-build-libiberty; on=all-build-texinfo; }; +dependencies = { module=all-build-m4; on=all-build-texinfo; }; +dependencies = { module=all-build-fixincludes; on=all-build-libiberty; }; + +// Host modules specific to gcc. +dependencies = { module=configure-gcc; on=configure-intl; }; +dependencies = { module=configure-gcc; on=all-binutils; }; +dependencies = { module=configure-gcc; on=all-gas; }; +dependencies = { module=configure-gcc; on=all-ld; }; +dependencies = { module=all-gcc; on=all-libiberty; hard=true; }; +dependencies = { module=all-gcc; on=all-intl; }; +dependencies = { module=all-gcc; on=all-build-texinfo; }; +dependencies = { module=all-gcc; on=all-build-bison; }; +dependencies = { module=all-gcc; on=all-build-byacc; }; +dependencies = { module=all-gcc; on=all-build-flex; }; +dependencies = { module=all-gcc; on=all-build-libiberty; }; +dependencies = { module=all-gcc; on=all-build-fixincludes; }; +dependencies = { module=all-gcc; on=all-zlib; }; +dependencies = { module=all-gcc; on=all-libcpp; hard=true; }; +dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; }; +dependencies = { module=all-gcc; on=all-libiberty; }; +dependencies = { module=all-gcc; on=all-fixincludes; }; +dependencies = { module=install-gcc ; on=install-fixincludes; }; + +dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; }; +dependencies = { module=configure-libcpp; on=configure-intl; }; +dependencies = { module=all-libcpp; on=all-libiberty; hard=true; }; +dependencies = { module=all-libcpp; on=all-intl; }; + +dependencies = { module=all-fixincludes; on=all-libiberty; }; + +dependencies = { module=all-gnattools; on=all-target-libada; }; + +// Host modules specific to gdb. +dependencies = { module=configure-gdb; on=configure-sim; }; +dependencies = { module=all-gdb; on=all-libiberty; }; +dependencies = { module=all-gdb; on=all-opcodes; }; +dependencies = { module=all-gdb; on=all-bfd; }; +dependencies = { module=all-gdb; on=all-readline; }; +dependencies = { module=all-gdb; on=all-build-bison; }; +dependencies = { module=all-gdb; on=all-build-byacc; }; +dependencies = { module=all-gdb; on=all-sim; }; + +dependencies = { module=configure-libgui; on=configure-tcl; }; +dependencies = { module=configure-libgui; on=configure-tk; }; +dependencies = { module=all-libgui; on=all-tcl; }; +dependencies = { module=all-libgui; on=all-tk; }; +dependencies = { module=all-libgui; on=all-itcl; }; + +// Host modules specific to binutils. +dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; }; +dependencies = { module=all-bfd; on=all-libiberty; }; +dependencies = { module=all-bfd; on=all-intl; }; + +dependencies = { module=all-binutils; on=all-libiberty; }; +dependencies = { module=all-binutils; on=all-opcodes; }; +dependencies = { module=all-binutils; on=all-bfd; }; +dependencies = { module=all-binutils; on=all-build-flex; }; +dependencies = { module=all-binutils; on=all-build-bison; }; +dependencies = { module=all-binutils; on=all-build-byacc; }; +dependencies = { module=all-binutils; on=all-intl; }; + +// We put install-opcodes before install-binutils because the installed +// binutils might be on PATH, and they might need the shared opcodes +// library. +dependencies = { module=install-binutils; on=install-opcodes; }; + +// libopcodes depends on libbfd +dependencies = { module=install-opcodes; on=install-bfd; }; + +dependencies = { module=all-gas; on=all-libiberty; }; +dependencies = { module=all-gas; on=all-opcodes; }; +dependencies = { module=all-gas; on=all-bfd; }; +dependencies = { module=all-gas; on=all-intl; }; +dependencies = { module=all-gprof; on=all-libiberty; }; +dependencies = { module=all-gprof; on=all-bfd; }; +dependencies = { module=all-gprof; on=all-opcodes; }; +dependencies = { module=all-gprof; on=all-intl; }; +dependencies = { module=all-ld; on=all-libiberty; }; +dependencies = { module=all-ld; on=all-bfd; }; +dependencies = { module=all-ld; on=all-opcodes; }; +dependencies = { module=all-ld; on=all-build-bison; }; +dependencies = { module=all-ld; on=all-build-byacc; }; +dependencies = { module=all-ld; on=all-build-flex; }; +dependencies = { module=all-ld; on=all-intl; }; + +dependencies = { module=all-opcodes; on=all-bfd; }; +dependencies = { module=all-opcodes; on=all-libiberty; }; + +// Other host modules in the 'src' repository. +dependencies = { module=all-dejagnu; on=all-tcl; }; +dependencies = { module=all-dejagnu; on=all-expect; }; +dependencies = { module=all-dejagnu; on=all-tk; }; +dependencies = { module=configure-expect; on=configure-tcl; }; +dependencies = { module=configure-expect; on=configure-tk; }; +dependencies = { module=all-expect; on=all-tcl; }; +dependencies = { module=all-expect; on=all-tk; }; + +// We put install-tcl before install-itcl because itcl wants to run a +// program on installation which uses the Tcl libraries. +dependencies = { module=configure-itcl; on=configure-tcl; }; +dependencies = { module=configure-itcl; on=configure-tk; }; +dependencies = { module=all-itcl; on=all-tcl; }; +dependencies = { module=all-itcl; on=all-tk; }; +dependencies = { module=install-itcl; on=install-tcl; }; + +dependencies = { module=configure-tk; on=configure-tcl; }; +dependencies = { module=all-tk; on=all-tcl; }; + +dependencies = { module=all-sid; on=all-libiberty; }; +dependencies = { module=all-sid; on=all-bfd; }; +dependencies = { module=all-sid; on=all-opcodes; }; +dependencies = { module=all-sid; on=all-tcl; }; +dependencies = { module=all-sid; on=all-tk; }; +dependencies = { module=install-sid; on=install-tcl; }; +dependencies = { module=install-sid; on=install-tk; }; + +dependencies = { module=all-sim; on=all-libiberty; }; +dependencies = { module=all-sim; on=all-bfd; }; +dependencies = { module=all-sim; on=all-opcodes; }; +dependencies = { module=all-sim; on=all-readline; }; +dependencies = { module=all-sim; on=configure-gdb; }; + +// Other host modules. +dependencies = { module=all-fastjar; on=all-zlib; }; +dependencies = { module=all-fastjar; on=all-build-texinfo; }; +dependencies = { module=all-fastjar; on=all-libiberty; }; + +// Warning, these are not well tested. +dependencies = { module=all-autoconf; on=all-m4; }; +dependencies = { module=all-autoconf; on=all-build-texinfo; }; +dependencies = { module=all-automake; on=all-m4; }; +dependencies = { module=all-automake; on=all-build-texinfo; }; +dependencies = { module=all-automake; on=all-autoconf; }; +dependencies = { module=all-bison; on=all-intl; }; +dependencies = { module=all-bison; on=all-build-texinfo; }; +dependencies = { module=all-diff; on=all-intl; }; +dependencies = { module=all-diff; on=all-build-texinfo; }; +dependencies = { module=all-fileutils; on=all-intl; }; +dependencies = { module=all-fileutils; on=all-build-texinfo; }; +dependencies = { module=all-flex; on=all-build-bison; }; +dependencies = { module=all-flex; on=all-build-byacc; }; +dependencies = { module=all-flex; on=all-intl; }; +dependencies = { module=all-flex; on=all-m4; }; +dependencies = { module=all-flex; on=all-build-texinfo; }; +dependencies = { module=all-gzip; on=all-intl; }; +dependencies = { module=all-gzip; on=all-zlib; }; +dependencies = { module=all-gzip; on=all-build-texinfo; }; +dependencies = { module=all-hello; on=all-intl; }; +dependencies = { module=all-hello; on=all-build-texinfo; }; +dependencies = { module=all-m4; on=all-intl; }; +dependencies = { module=all-m4; on=all-build-texinfo; }; +dependencies = { module=all-make; on=all-intl; }; +dependencies = { module=all-make; on=all-build-texinfo; }; +dependencies = { module=all-patch; on=all-build-texinfo; }; +dependencies = { module=all-make; on=all-build-texinfo; }; +dependencies = { module=all-prms; on=all-libiberty; }; +dependencies = { module=all-recode; on=all-build-texinfo; }; +dependencies = { module=all-sed; on=all-build-texinfo; }; +dependencies = { module=all-send-pr; on=all-prms; }; +dependencies = { module=all-tar; on=all-build-texinfo; }; +dependencies = { module=all-uudecode; on=all-build-texinfo; }; + +// Target modules. These can also have dependencies on the language +// environment (e.g. on libstdc++). +lang_env_dependencies = { module=boehm-gc; }; +lang_env_dependencies = { module=gperf; cxx=true; }; +lang_env_dependencies = { module=libada; }; +lang_env_dependencies = { module=libgfortran; }; +lang_env_dependencies = { module=libffi; }; +lang_env_dependencies = { module=libjava; cxx=true; }; +lang_env_dependencies = { module=libmudflap; }; +lang_env_dependencies = { module=libobjc; }; +lang_env_dependencies = { module=libssp; }; +lang_env_dependencies = { module=libstdc++-v3; }; +lang_env_dependencies = { module=zlib; }; + +dependencies = { module=configure-target-boehm-gc; on=configure-target-qthreads; }; +dependencies = { module=configure-target-fastjar; on=configure-target-zlib; }; +dependencies = { module=all-target-fastjar; on=all-target-zlib; }; +dependencies = { module=all-target-fastjar; on=all-target-libiberty; }; +dependencies = { module=configure-target-libjava; on=configure-target-zlib; }; +dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; }; +dependencies = { module=configure-target-libjava; on=configure-target-qthreads; }; +dependencies = { module=configure-target-libjava; on=configure-target-libffi; }; +dependencies = { module=all-target-libjava; on=all-fastjar; }; +dependencies = { module=all-target-libjava; on=all-target-zlib; }; +dependencies = { module=all-target-libjava; on=all-target-boehm-gc; }; +dependencies = { module=all-target-libjava; on=all-target-qthreads; }; +dependencies = { module=all-target-libjava; on=all-target-libffi; }; +dependencies = { module=all-target-libobjc; on=all-target-libiberty; }; +dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; }; + +// Target modules in the 'src' repository. +lang_env_dependencies = { module=examples; }; +lang_env_dependencies = { module=libtermcap; }; +lang_env_dependencies = { module=rda; }; +lang_env_dependencies = { module=winsup; }; +lang_env_dependencies = { module=qthreads; }; + +dependencies = { module=all-target-libgloss; on=configure-target-newlib; }; +dependencies = { module=all-target-winsup; on=all-target-libiberty; }; +dependencies = { module=all-target-winsup; on=all-target-libtermcap; }; + +// Toplevel bootstrap +bootstrap_stage = { + id=1 ; + stage_configure_flags='--disable-intermodule \ + --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ; + stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"' ; }; +bootstrap_stage = { + id=2 ; prev=1 ; + bootstrap_target=bootstrap2 ; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; +bootstrap_stage = { + id=3 ; prev=2 ; lean=1 ; + compare_target=compare ; + bootstrap_target=bootstrap ; + cleanstrap_target=cleanstrap ; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; +bootstrap_stage = { + id=4 ; prev=3 ; lean=2 ; + compare_target=compare3 ; + bootstrap_target=bootstrap4 ; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; +bootstrap_stage = { + id=profile ; prev=1 ; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; }; +bootstrap_stage = { + id=feedback ; prev=profile ; + bootstrap_target=profiledbootstrap ; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; }; Property changes on: buildtools/trunk/legacy/binutils/Makefile.def ___________________________________________________________________ Name: svn:keywords - author date id revision Name: svn:eol-style - native Modified: buildtools/trunk/legacy/binutils/Makefile.in =================================================================== --- buildtools/trunk/legacy/binutils/Makefile.in 2007-02-21 21:11:47 UTC (rev 20191) +++ buildtools/trunk/legacy/binutils/Makefile.in 2007-02-21 21:17:52 UTC (rev 20192) @@ -3,7 +3,7 @@ # # Makefile for directory with subdirs to build. # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003 Free Software Foundation +# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ------------------------------- @@ -50,6 +50,9 @@ includedir = @includedir@ oldincludedir = @oldincludedir@ infodir = @infodir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +htmldir = @htmldir@ mandir = @mandir@ man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 @@ -65,66 +68,159 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ +LN = @LN@ +LN_S = @LN_S@ # ------------------------------------------------- # Miscellaneous non-standard autoconf-set variables # ------------------------------------------------- -links=@configlinks@ -# The file containing GCC's version number. -gcc_version_trigger = @gcc_version_trigger@ -gcc_version = @gcc_version@ - # The gcc driver likes to know the arguments it was configured with. TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@ -gxx_include_dir = @gxx_include_dir@ -libstdcxx_incdir = @libstdcxx_incdir@ - tooldir = @tooldir@ build_tooldir = @build_tooldir@ -# Directory in which the compiler finds executables, libraries, etc. -libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) GDB_NLM_DEPS = # This is the name of the environment variable used for the path to # the libraries. RPATH_ENVVAR = @RPATH_ENVVAR@ -# This is set by configure to REALLY_SET_LIB_PATH if --enable-shared -# was used. -SET_LIB_PATH = @SET_LIB_PATH@ - -# configure.in sets SET_LIB_PATH to this if --enable-shared was used. -# Some platforms don't like blank entries, so we remove duplicate, -# leading and trailing colons. -REALLY_SET_LIB_PATH = \ - $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); - -# This is the list of directories to be built for the build system. -BUILD_CONFIGDIRS = libiberty # Build programs are put under this directory. BUILD_SUBDIR = @build_subdir@ # This is set by the configure script to the arguments to use when configuring # directories built for the build system. -BUILD_CONFIGARGS = @build_configargs@ +BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)" +# This is the list of variables to export in the environment when +# configuring any subdirectory. It must also be exported whenever +# recursing into a build directory in case that directory's Makefile +# re-runs configure. +BASE_EXPORTS = \ + FLEX="$(FLEX)"; export FLEX; \ + LEX="$(LEX)"; export LEX; \ + BISON="$(BISON)"; export BISON; \ + YACC="$(YACC)"; export YACC; \ + M4="$(M4)"; export M4; \ + MAKEINFO="$(MAKEINFO)"; export MAKEINFO; + +# This is the list of variables to export in the environment when +# configuring subdirectories for the build system. +BUILD_EXPORTS = \ + $(BASE_EXPORTS) \ + AR="$(AR_FOR_BUILD)"; export AR; \ + AS="$(AS_FOR_BUILD)"; export AS; \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ + NM="$(NM_FOR_BUILD)"; export NM; \ + RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \ + WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; + # This is the list of directories to built for the host system. SUBDIRS = @configdirs@ # This is set by the configure script to the arguments to use when configuring # directories built for the host system. HOST_CONFIGARGS = @host_configargs@ +# Host programs are put under this directory, which is . except if building +# with srcdir=.. +HOST_SUBDIR = @host_subdir@ +# This is the list of variables to export in the environment when +# configuring subdirectories for the host system. We need to pass +# some to the GCC configure because of its hybrid host/target nature. +HOST_EXPORTS = \ + $(BASE_EXPORTS) \ + CC="$(CC)"; export CC; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ + AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \ + AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \ + GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \ + LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \ + NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \ + OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ + RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ + TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ + GMPINC="$(HOST_GMPINC)"; export GMPINC; \ + at if gcc-bootstrap + $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ + at endif gcc-bootstrap + $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); -# This is set by the configure script to the list of directories which -# should be built using the target tools. -TARGET_CONFIGDIRS = @target_configdirs@ +# Similar, for later GCC stages. +POSTSTAGE1_HOST_EXPORTS = \ + $(HOST_EXPORTS) \ + CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \ + -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ + CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \ + $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \ + -B$$r/$(HOST_SUBDIR)/prev-gcc/ \ + -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; + # Target libraries are put under this directory: TARGET_SUBDIR = @target_subdir@ # This is set by the configure script to the arguments to use when configuring # directories built for the target. -TARGET_CONFIGARGS = @target_configargs@ +TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)" +# This is the list of variables to export in the environment when +# configuring subdirectories for the host system. +BASE_TARGET_EXPORTS = \ + $(BASE_EXPORTS) \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ + CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ + GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \ + DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ + LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ + NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \ + OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \ + RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); +RAW_CXX_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ + CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; + +NORMAL_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX="$(CXX_FOR_TARGET)"; export CXX; + +# Where to find GMP +HOST_GMPLIBS = @gmplibs@ +HOST_GMPINC = @gmpinc@ + # ---------------------------------------------- # Programs producing files for the BUILD machine # ---------------------------------------------- @@ -151,220 +247,94 @@ BUILD_PREFIX = @BUILD_PREFIX@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ -BISON=@BISON@ -USUAL_BISON = `if [ -f $$r/bison/bison ] ; then \ - echo $$r/bison/bison -L $$s/bison/ ; \ - else \ - echo bison ; \ - fi` +# Flags to pass to stage2 and later makes. They are defined +# here so that they can be overridden by Makefile fragments. +BOOT_CFLAGS= -g -O2 +BOOT_LDFLAGS= -DEFAULT_YACC = @DEFAULT_YACC@ -YACC=@YACC@ -USUAL_YACC = `if [ -f $$r/bison/bison ] ; then \ - echo $$r/bison/bison -y -L $$s/bison/ ; \ - elif [ -f $$r/byacc/byacc ] ; then \ - echo $$r/byacc/byacc ; \ - else \ - echo ${DEFAULT_YACC} ; \ - fi` +BISON = @BISON@ +YACC = @YACC@ +FLEX = @FLEX@ +LEX = @LEX@ +M4 = @M4@ +MAKEINFO = @MAKEINFO@ +EXPECT = @EXPECT@ +RUNTEST = @RUNTEST@ -DEFAULT_LEX = @DEFAULT_LEX@ -LEX=@LEX@ -USUAL_LEX = `if [ -f $$r/flex/flex ] ; \ - then echo $$r/flex/flex ; \ - else echo ${DEFAULT_LEX} ; fi` - -DEFAULT_M4 = @DEFAULT_M4@ -M4 = `if [ -f $$r/m4/m4 ] ; \ - then echo $$r/m4/m4 ; \ - else echo ${DEFAULT_M4} ; fi` - -# For an installed makeinfo, we require it to be from texinfo 4.2 or -# higher, else we use the "missing" dummy. -MAKEINFO=@MAKEINFO@ -USUAL_MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ - then echo $$r/texinfo/makeinfo/makeinfo ; \ - else if (makeinfo --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ - then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` - # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still # using the makeinfo from the object tree. # (Default to avoid splitting info files by setting the threshold high.) MAKEINFOFLAGS = --split-size=5000000 -EXPECT = `if [ -f $$r/expect/expect ] ; \ - then echo $$r/expect/expect ; \ - else echo expect ; fi` - -RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \ - then echo $$s/dejagnu/runtest ; \ - else echo runtest ; fi` - # --------------------------------------------- # Programs producing files for the HOST machine # --------------------------------------------- -# This is the list of directories that may be needed in RPATH_ENVVAR -# so that programs built for the host machine work. -HOST_LIB_PATH = $$r/bfd:$$r/opcodes - AS = @AS@ - AR = @AR@ AR_FLAGS = rc - CC = @CC@ -CFLAGS = @CFLAGS@ -LIBCFLAGS = $(CFLAGS) - CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates - DLLTOOL = @DLLTOOL@ - +LD = @LD@ +LIPO = @LIPO@ NM = @NM@ - -LD = @LD@ -LDFLAGS = - +OBJDUMP = @OBJDUMP@ RANLIB = @RANLIB@ - +STRIP = @STRIP@ WINDRES = @WINDRES@ +CFLAGS = @CFLAGS@ +LDFLAGS = +LIBCFLAGS = $(CFLAGS) +CXXFLAGS = @CXXFLAGS@ +LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates PICFLAG = # ----------------------------------------------- # Programs producing files for the TARGET machine # ----------------------------------------------- -# This is the list of directories that may be needed in RPATH_ENVVAR -# so that prorgams built for the target machine work. -TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: - FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ AR_FOR_TARGET=@AR_FOR_TARGET@ -USUAL_AR_FOR_TARGET = ` \ - if [ -f $$r/binutils/ar ] ; then \ - echo $$r/binutils/ar ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(AR); \ - else \ - echo ar | sed '$(program_transform_name)' ; \ - fi; \ - fi` - AS_FOR_TARGET=@AS_FOR_TARGET@ -USUAL_AS_FOR_TARGET = ` \ - if [ -f $$r/gas/as-new ] ; then \ - echo $$r/gas/as-new ; \ - elif [ -f $$r/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=as ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(AS); \ - else \ - echo as | sed '$(program_transform_name)' ; \ - fi; \ - fi` +CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET) -CC_FOR_TARGET = @CC_FOR_TARGET@ -# During gcc bootstrap, if we use some random cc for stage1 then -# CFLAGS will be just -g. We want to ensure that TARGET libraries -# (which we know are built with gcc) are built with optimizations so -# prepend -O2 when setting CFLAGS_FOR_TARGET. -CFLAGS_FOR_TARGET = -O2 $(CFLAGS) # If GCC_FOR_TARGET is not overriden on the command line, then this # variable is passed down to the gcc Makefile, where it is used to # build libgcc2.a. We define it here so that it can itself be # overridden on the command line. -GCC_FOR_TARGET=@GCC_FOR_TARGET@ -USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) -LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) - -CXX_FOR_TARGET = @CXX_FOR_TARGET@ -RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@ -CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@ -RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@ -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates - +GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET) +CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) +RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) +GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET) +GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET) DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ -USUAL_DLLTOOL_FOR_TARGET = ` \ - if [ -f $$r/binutils/dlltool ] ; then \ - echo $$r/binutils/dlltool ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(DLLTOOL); \ - else \ - echo dlltool | sed '$(program_transform_name)' ; \ - fi; \ - fi` - -GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ - LD_FOR_TARGET=@LD_FOR_TARGET@ -USUAL_LD_FOR_TARGET = ` \ - if [ -f $$r/ld/ld-new ] ; then \ - echo $$r/ld/ld-new ; \ - elif [ -f $$r/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=ld ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(LD); \ - else \ - echo ld | sed '$(program_transform_name)' ; \ - fi; \ - fi` -LDFLAGS_FOR_TARGET = - +LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ NM_FOR_TARGET=@NM_FOR_TARGET@ -USUAL_NM_FOR_TARGET = ` \ - if [ -f $$r/binutils/nm-new ] ; then \ - echo $$r/binutils/nm-new ; \ - elif [ -f $$r/gcc/xgcc ]; then \ - $(CC_FOR_TARGET) -print-prog-name=nm ; \ - else \ - if [ '$(host)' = '$(target)' ] ; then \ - echo $(NM); \ - else \ [... truncated: 1035688 lines follow ...] From zooey at hirschkaefer.de Wed Feb 21 22:49:34 2007 From: zooey at hirschkaefer.de (Oliver Tappe) Date: Wed, 21 Feb 2007 22:49:34 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <20070219003715.173879.1@bee.hirschkaefer.site> References: <200702020942.l129gNJL014756@sheep.berlios.de> <7156770.1170432118358.JavaMail.ngmail@webmail12> <20070203151927.1543.3@cs.tu-berlin.de> <20070219003715.173879.1@bee.hirschkaefer.site> Message-ID: <20070221224934.27959.1@bee.hirschkaefer.site> Hi, On 2007-02-19 at 00:37:15 [+0100], Oliver Tappe wrote: > On 2007-02-03 at 15:19:27 [+0100], Ingo Weinhold > > OK, so we don't get around updating the tools. > > Today I have tried and actually managed to get binutils-2.17 working with > gcc-2.95.3 (and it wasn't half as bad as I thought it would be ;o). This > fixes the build problems Marcus had encountered with the PXE stage1 > bootloader. Err, it felt weird writing that and *of course* it wasn't that easy at all. It turns out that binutils-2.17 seems to optimize the eh_frame section (stack unwinding info required for exception handling) in a way that is incompatible with gcc-2.95.3. It took me the last couple of days to fix that (by mixing & matching code of 2.15 and 2.17 in a rather crude way). However, one more problem remains, which is the fact that using the new binutils creates executables which crash the loader of newer BeOS versions (BONE, Dano and probably Zeta, too). The older workaround does not apply easily and I haven't yet managed to find a way around the problem. So beware: do not use these binutils to generate anything that will be executed on BONE, Dano or Zeta, or else you will take a trip to KDL! If I find the time, I'll work on that some more, but honestly, I am really fed up with these old tools. In my opinion, we should switch to gcc-4 soon, never mind binary compatibility... ah well, cheers anyway, Oliver From zooey at mail.berlios.de Thu Feb 22 00:11:26 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Thu, 22 Feb 2007 00:11:26 +0100 Subject: [Haiku-commits] r20193 - in buildtools/trunk/legacy/binutils/gas: . config Message-ID: <200702212311.l1LNBQQv024713@sheep.berlios.de> Author: zooey Date: 2007-02-22 00:11:25 +0100 (Thu, 22 Feb 2007) New Revision: 20193 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20193&view=rev Added: buildtools/trunk/legacy/binutils/gas/config/te-beos.h Modified: buildtools/trunk/legacy/binutils/gas/config/tc-i386.c buildtools/trunk/legacy/binutils/gas/configure.tgt Log: * fixed silly problem with as not accepting a divide (it interpreted it as a start of comment instead, tsk!) Modified: buildtools/trunk/legacy/binutils/gas/config/tc-i386.c =================================================================== --- buildtools/trunk/legacy/binutils/gas/config/tc-i386.c 2007-02-21 21:17:52 UTC (rev 20192) +++ buildtools/trunk/legacy/binutils/gas/config/tc-i386.c 2007-02-21 23:11:25 UTC (rev 20193) @@ -202,7 +202,8 @@ && !defined (TE_LINUX) \ && !defined (TE_NETWARE) \ && !defined (TE_FreeBSD) \ - && !defined (TE_NetBSD))) + && !defined (TE_NetBSD) \ + && !defined (TE_BeOS))) /* This array holds the chars that always start a comment. If the pre-processor is disabled, these aren't very useful. The option --divide will remove '/' from this list. */ Added: buildtools/trunk/legacy/binutils/gas/config/te-beos.h =================================================================== --- buildtools/trunk/legacy/binutils/gas/config/te-beos.h 2007-02-21 21:17:52 UTC (rev 20192) +++ buildtools/trunk/legacy/binutils/gas/config/te-beos.h 2007-02-21 23:11:25 UTC (rev 20193) @@ -0,0 +1,10 @@ +/* Target environment for BeOS/haiku. It is the same as the generic + target, except that it arranges via the TE_BeOS define to + suppress the use of "/" as a comment character. Some code in the + haiku kernel uses "/" to mean division. (What a concept!) */ +#define TE_BeOS 1 + +#define LOCAL_LABELS_DOLLAR 1 +#define LOCAL_LABELS_FB 1 + +#include "obj-format.h" Modified: buildtools/trunk/legacy/binutils/gas/configure.tgt =================================================================== --- buildtools/trunk/legacy/binutils/gas/configure.tgt 2007-02-21 21:17:52 UTC (rev 20192) +++ buildtools/trunk/legacy/binutils/gas/configure.tgt 2007-02-21 23:11:25 UTC (rev 20193) @@ -163,7 +163,7 @@ i386-ibm-aix*) fmt=coff em=i386aix ;; i386-sequent-bsd*) fmt=aout em=dynix ;; i386-*-beospe*) fmt=coff em=pe ;; - i386-*-beos*) fmt=elf ;; + i386-*-beos*) fmt=elf em=beos ;; i386-*-coff) fmt=coff ;; i386-*-elf) fmt=elf ;; i386-*-kaos*) fmt=elf ;; From bonefish at cs.tu-berlin.de Thu Feb 22 00:16:22 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Thu, 22 Feb 2007 00:16:22 +0100 Subject: [Haiku-commits] r20189 - haiku/trunk In-Reply-To: <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> References: <200702211408.l1LE895g031231@sheep.berlios.de> <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> Message-ID: <20070222001622.903.2@cs.tu-berlin.de> On 2007-02-21 at 18:44:50 [+0100], Urias McCullough wrote: > On 2/21/07, bonefish at BerliOS wrote: > > > > Author: bonefish > > Date: 2007-02-21 15:08:08 +0100 (Wed, 21 Feb 2007) > > New Revision: 20189 > > ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20189&view=rev > > > > Modified: > > haiku/trunk/configure > > Log: > > Since configuring an unsuitable cross-compiler has become a FAQ lately, > > we do now check whether the target the compiler has been configured for > > looks compatible. > > > > Ah, very nice :D > > Would it be possible to also warn the user when attempting to re-run > configure on a non-beos host where the cross-compiler has already been built > that it may produce a BuildConfig that is unsuitable? My commit comment may not sound like it, but the change also covers this case. The configure script gathers all information regarding the external build tools the build system requires, most importantly about the cross-compiler and -binutils to be used to build Haiku. For convenience the script even builds the cross-compilation tools in a first step if desired, but whether it does that or not and completely independent of the parameters you provide (unless they are invalid or contain "--help") at some point it has all the information and writes the BuildConfig file. Right before doing this the new check is performed. Since the gathered information depend only on the current shell environment and the parameters passed to configure (it is utterly independ of what it did in the previous run (e.g. building the tools)), running it without explicitely specifying a cross-compiler under Linux it will fail at this point. > I've had a lot of people in #haiku say that they run "./configure > --target=haiku" after building the cross compiler because they read it > somewhere That's odd. Particularly because "haiku" is (and IIRC has virtually always been) the default value for the --target option anyway, so you could as well omit it. However, as explained above, invoking just that line under Linux will cause configure to fail, now. CU, Ingo From umccullough at gmail.com Thu Feb 22 00:27:49 2007 From: umccullough at gmail.com (Urias McCullough) Date: Wed, 21 Feb 2007 15:27:49 -0800 Subject: [Haiku-commits] r20189 - haiku/trunk In-Reply-To: <20070222001622.903.2@cs.tu-berlin.de> References: <200702211408.l1LE895g031231@sheep.berlios.de> <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> <20070222001622.903.2@cs.tu-berlin.de> Message-ID: <1e80d8750702211527x307073b0t2dfcfa8d14fc3e1c@mail.gmail.com> On 2/21/07, Ingo Weinhold wrote: > > > > I've had a lot of people in #haiku say that they run "./configure > > --target=haiku" after building the cross compiler because they read it > > somewhere > > That's odd. Particularly because "haiku" is (and IIRC has virtually always > been) the default value for the --target option anyway, so you could as > well > omit it. However, as explained above, invoking just that line under Linux > will cause configure to fail, now. > That last part is the problem I think - after running "./configure --build-cross-tools ../buildtools" - many have then run an additional "./configure --target=haiku" separately thinking it was necessary for some reason. This of course then reconfigures to use their host system tools. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bonefish at cs.tu-berlin.de Thu Feb 22 00:48:23 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Thu, 22 Feb 2007 00:48:23 +0100 Subject: [Haiku-commits] r20189 - haiku/trunk In-Reply-To: <1e80d8750702211527x307073b0t2dfcfa8d14fc3e1c@mail.gmail.com> References: <200702211408.l1LE895g031231@sheep.berlios.de> <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> <20070222001622.903.2@cs.tu-berlin.de> <1e80d8750702211527x307073b0t2dfcfa8d14fc3e1c@mail.gmail.com> Message-ID: <20070222004823.1713.4@cs.tu-berlin.de> On 2007-02-22 at 00:27:49 [+0100], Urias McCullough wrote: > On 2/21/07, Ingo Weinhold wrote: > > > > > > > I've had a lot of people in #haiku say that they run "./configure > > > --target=haiku" after building the cross compiler because they read it > > > somewhere > > > > That's odd. Particularly because "haiku" is (and IIRC has virtually always > > been) the default value for the --target option anyway, so you could as > > well > > omit it. However, as explained above, invoking just that line under Linux > > will cause configure to fail, now. > > > > That last part is the problem I think - after running "./configure > --build-cross-tools ../buildtools" - many have then run an additional > "./configure --target=haiku" separately thinking it was necessary for some > reason. This of course then reconfigures to use their host system tools. I understand this and it is a problem no longer. The second configure run fails (and terminates) before modifying any of the configuration files. Thus the previous configuration remains intact. The only remaining problem is that people who thought it is required to run configure a second time might now be confused that it fails. But they would never have built Haiku with this method before, anyway CU, Ingo From bonefish at cs.tu-berlin.de Thu Feb 22 01:32:09 2007 From: bonefish at cs.tu-berlin.de (Ingo Weinhold) Date: Thu, 22 Feb 2007 01:32:09 +0100 Subject: [Haiku-commits] r20043 - haiku/trunk/src/system/boot/platform/pxe_ia32 In-Reply-To: <20070221224934.27959.1@bee.hirschkaefer.site> References: <200702020942.l129gNJL014756@sheep.berlios.de> <7156770.1170432118358.JavaMail.ngmail@webmail12> <20070203151927.1543.3@cs.tu-berlin.de> <20070219003715.173879.1@bee.hirschkaefer.site> <20070221224934.27959.1@bee.hirschkaefer.site> Message-ID: <20070222013209.1502.5@cs.tu-berlin.de> On 2007-02-21 at 22:49:34 [+0100], Oliver Tappe wrote: > On 2007-02-19 at 00:37:15 [+0100], Oliver Tappe > wrote: > > On 2007-02-03 at 15:19:27 [+0100], Ingo Weinhold > > > > > OK, so we don't get around updating the tools. > > > > Today I have tried and actually managed to get binutils-2.17 working with > > gcc-2.95.3 (and it wasn't half as bad as I thought it would be ;o). This > > fixes the build problems Marcus had encountered with the PXE stage1 > > bootloader. > > Err, it felt weird writing that and *of course* it wasn't that easy at all. I can't say it often enough: My Hero! :-) Seriously, unthankful and annoying tasks like this mostly go unrewarded, so: Big thanks from me! > It turns out that binutils-2.17 seems to optimize the eh_frame section > (stack > unwinding info required for exception handling) in a way that is > incompatible > with gcc-2.95.3. It took me the last couple of days to fix that (by mixing & > matching code of 2.15 and 2.17 in a rather crude way). I suppose this answer the open question whether we want to unify the binutils for the legacy gcc and gcc 4 versions, right? > However, one more problem remains, which is the fact that using the new > binutils creates executables which crash the loader of newer BeOS versions > (BONE, Dano and probably Zeta, too). The older workaround does not apply > easily and I haven't yet managed to find a way around the problem. > So beware: do not use these binutils to generate anything that will be > executed on BONE, Dano or Zeta, or else you will take a trip to KDL! > > If I find the time, I'll work on that some more, but honestly, I am really > fed up with these old tools. While it is a pity to no longer have a gcc/binutils combo for all BeOS platforms in our repository (at least no trunk version), their main purpose was cross-compilation anyway, and the (in a somewhat sad way) still up to date and conveniently pre-built gcc package you've published on BeBits is still available, too. So, never mind... > In my opinion, we should switch to gcc-4 soon, > never mind binary compatibility... The more time passes while we're still working on R1 the more annoying becomes the gap between the compiler we do use and the one we could use. Ironically with your excellent work on gcc 2.95.3 you've probably considerably put off the radical decision to screw binary compatibility. Actually at the moment I don't see many reasons for changing the compiler -- AFAIK everything builds and works as would be expected (even before your current binutils update, the not building PXE stage 1 boot loader was only a minor inconvenience). On the other hand I also have no personal motivation on insisting on binary compatibility: I don't really use any only in binary form available application or driver. Others might, though. We can take this to the admin list and start another round of the discussion... CU, Ingo From bonefish at mail.berlios.de Thu Feb 22 01:59:29 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Thu, 22 Feb 2007 01:59:29 +0100 Subject: [Haiku-commits] r20194 - haiku/trunk/build/jam Message-ID: <200702220059.l1M0xTa1021316@sheep.berlios.de> Author: bonefish Date: 2007-02-22 01:59:28 +0100 (Thu, 22 Feb 2007) New Revision: 20194 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20194&view=rev Modified: haiku/trunk/build/jam/BuildSetup Log: A jam invocation without given target (or the "all" target) in the output directory, the build system root directory, or the "src" directory is now using the "haiku-image" target instead. The variable HAIKU_ORIGINAL_JAM_TARGETS is set to the original JAM_TARGETS value, so that a UserBuildConfig can base its decisions on it. The feature is only available with Haiku's jam version. Modified: haiku/trunk/build/jam/BuildSetup =================================================================== --- haiku/trunk/build/jam/BuildSetup 2007-02-21 23:11:25 UTC (rev 20193) +++ haiku/trunk/build/jam/BuildSetup 2007-02-22 00:59:28 UTC (rev 20194) @@ -11,6 +11,17 @@ # directory paths and the like. +# If the target to be built is "all" (i.e. the default) and we're in the output +# directory, the root directory of the build system, or in "src/", we change the +# target to be built to "haiku-image". +HAIKU_ORIGINAL_JAM_TARGETS = $(JAM_TARGETS) ; +if $(JAM_TARGETS) = all { + if ! $(INVOCATION_SUBDIR) || $(INVOCATION_SUBDIR) = src { + JAM_TARGETS = haiku-image ; + } +} + + # Include BuildConfig/Timezones/libgccObjects { local buildConfig = [ GLOB $(HAIKU_BUILD_OUTPUT_DIR) : BuildConfig ] ; From zooey at mail.berlios.de Thu Feb 22 11:51:03 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Thu, 22 Feb 2007 11:51:03 +0100 Subject: [Haiku-commits] r20195 - buildtools/trunk/legacy/binutils/bfd Message-ID: <200702221051.l1MAp3l0017739@sheep.berlios.de> Author: zooey Date: 2007-02-22 11:51:02 +0100 (Thu, 22 Feb 2007) New Revision: 20195 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20195&view=rev Modified: buildtools/trunk/legacy/binutils/bfd/elf-eh-frame.c Log: * added comment about the patches that have been applied Modified: buildtools/trunk/legacy/binutils/bfd/elf-eh-frame.c =================================================================== --- buildtools/trunk/legacy/binutils/bfd/elf-eh-frame.c 2007-02-22 00:59:28 UTC (rev 20194) +++ buildtools/trunk/legacy/binutils/bfd/elf-eh-frame.c 2007-02-22 10:51:02 UTC (rev 20195) @@ -18,6 +18,17 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* [zooey]: + The eh_frame-related functions contained in this file have been mixed and + matched between binutils-2.17 and binutils-2.15, from where the function + _bfd_elf_discard_section_eh_frame() has been imported. I know this is crude, + but the reason for that is that otherwise the eh_frame section would be + optimized in such a way that throwing exceptions across library borders + does not work (I guess that's caused by gcc-2.95.3 not setting up the + section properly). This code seems to work fine, but YMMV... +*/ + + #include "bfd.h" #include "sysdep.h" #include "libbfd.h" From zooey at mail.berlios.de Thu Feb 22 12:54:27 2007 From: zooey at mail.berlios.de (zooey at BerliOS) Date: Thu, 22 Feb 2007 12:54:27 +0100 Subject: [Haiku-commits] r20196 - buildtools/trunk/legacy/binutils/bfd Message-ID: <200702221154.l1MBsRq5001060@sheep.berlios.de> Author: zooey Date: 2007-02-22 12:54:24 +0100 (Thu, 22 Feb 2007) New Revision: 20196 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20196&view=rev Modified: buildtools/trunk/legacy/binutils/bfd/elf32-i386.c Log: * mixed and matched code from binutils-2.15 in order to avoid crashing the loader onnewer BeOS versions. Modified: buildtools/trunk/legacy/binutils/bfd/elf32-i386.c =================================================================== --- buildtools/trunk/legacy/binutils/bfd/elf32-i386.c 2007-02-22 10:51:02 UTC (rev 20195) +++ buildtools/trunk/legacy/binutils/bfd/elf32-i386.c 2007-02-22 11:54:24 UTC (rev 20196) @@ -2244,6 +2244,13 @@ /* Relocate an i386 ELF section. */ +/* [zooey]: + This implementation of elf_i386_relocate_section() is our patched version + from binutils-2.15, as I was unable to apply the required patch to the + implementation that is provided by binutils-2.17. + It *seems* to work ok, but YMMV... +*/ + static bfd_boolean elf_i386_relocate_section (bfd *output_bfd, struct bfd_link_info *info, @@ -2434,19 +2441,38 @@ unresolved_reloc, warned); } + { + bfd_boolean skip, relocate; + skip = FALSE; + relocate = FALSE; + if (r_symndx == 0) { - /* r_symndx will be zero only for relocs against symbols from - removed linkonce sections, or sections discarded by a linker - script. For these relocs, we just want the section contents - zeroed. Avoid any special processing in the switch below. */ - r_type = R_386_NONE; + if (r_type == R_386_32 || r_type == R_386_PC32) + { + /* [zooey]: the dynamic loader of newer BeOS versions (BONE,Dano,Zeta) + is broken to such an extent that crashes when it encounters + a R_386_NONE reloc entry with a zero offset. In order to + circumvent this bug, I changed the skip-handling below + such that it keeps the original offset (of the now defunct + relocation target) in place. This way, the loader + accepts it (and ignores this reloc entry, as it should). */ + skip = TRUE; + } + else + { + /* r_symndx will be zero only for relocs against symbols from + removed linkonce sections, or sections discarded by a linker + script. For these relocs, we just want the section contents + zeroed. Avoid any special processing in the switch below. */ + r_type = R_386_NONE; - relocation = 0; - if (howto->pc_relative) - relocation = (input_section->output_section->vma - + input_section->output_offset - + rel->r_offset); + relocation = 0; + if (howto->pc_relative) + relocation = (input_section->output_section->vma + + input_section->output_offset + + rel->r_offset); + } } switch (r_type) @@ -2626,16 +2652,12 @@ { Elf_Internal_Rela outrel; bfd_byte *loc; - bfd_boolean skip, relocate; asection *sreloc; /* When generating a shared object, these relocations are copied into the output file to be resolved at run time. */ - skip = FALSE; - relocate = FALSE; - outrel.r_offset = _bfd_elf_section_offset (output_bfd, info, input_section, rel->r_offset); @@ -2647,7 +2669,7 @@ + input_section->output_offset); if (skip) - memset (&outrel, 0, sizeof outrel); + outrel.r_info = ELF32_R_INFO (0, R_386_NONE); else if (h != NULL && h->dynindx != -1 && (r_type == R_386_PC32 @@ -3389,6 +3411,7 @@ default: break; } + } /* Dynamic relocs are not propagated for SEC_DEBUGGING sections because such sections are not SEC_ALLOC and thus ld.so will From bonefish at mail.berlios.de Thu Feb 22 18:23:06 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Thu, 22 Feb 2007 18:23:06 +0100 Subject: [Haiku-commits] r20197 - haiku/trunk Message-ID: <200702221723.l1MHN6qv018715@sheep.berlios.de> Author: bonefish Date: 2007-02-22 18:23:06 +0100 (Thu, 22 Feb 2007) New Revision: 20197 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20197&view=rev Modified: haiku/trunk/ReadMe haiku/trunk/ReadMe.cross-compile Log: Clarified reading order for non-BeOS platforms. Modified: haiku/trunk/ReadMe =================================================================== --- haiku/trunk/ReadMe 2007-02-22 11:54:24 UTC (rev 20196) +++ haiku/trunk/ReadMe 2007-02-22 17:23:06 UTC (rev 20197) @@ -11,11 +11,14 @@ Building on a non-BeOS platform =============================== -Please read the file 'ReadMe.cross-compile' before continuing. +Please read the file 'ReadMe.cross-compile' before continuing. It describes +how to build the cross-compilation tools and configure the build system for +building Haiku. After following the instructions you can directly continue +with the section Building. -Configuring -=========== +Configuring on BeOS +=================== Open a Terminal and change to your Haiku trunk folder. To configure the build you can run configure like this: Modified: haiku/trunk/ReadMe.cross-compile =================================================================== --- haiku/trunk/ReadMe.cross-compile 2007-02-22 11:54:24 UTC (rev 20196) +++ haiku/trunk/ReadMe.cross-compile 2007-02-22 17:23:06 UTC (rev 20197) @@ -53,7 +53,8 @@ cd haiku ./configure --build-cross-tools-gcc4 x86 ../buildtools/ -The process can take quite some time, but when it finishes you are ready to -compile your first Haiku image. +The process can take quite some time, but when it finishes the build system is +fully configured and you are ready to compile your first Haiku image. -Instructions on how to build Haiku can be found in the 'ReadMe' document. +Instructions on how to build Haiku can be found in the section Building in the +'ReadMe' document. From marcusoverhagen at mail.berlios.de Thu Feb 22 18:46:52 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Thu, 22 Feb 2007 18:46:52 +0100 Subject: [Haiku-commits] r20198 - in haiku/trunk: headers/os/drivers src/add-ons/kernel/bus_managers/pci Message-ID: <200702221746.l1MHkqE0014910@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-22 18:46:44 +0100 (Thu, 22 Feb 2007) New Revision: 20198 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20198&view=rev Modified: haiku/trunk/headers/os/drivers/PCI.h haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp Log: added PCI express capability Modified: haiku/trunk/headers/os/drivers/PCI.h =================================================================== --- haiku/trunk/headers/os/drivers/PCI.h 2007-02-22 17:23:06 UTC (rev 20197) +++ haiku/trunk/headers/os/drivers/PCI.h 2007-02-22 17:46:44 UTC (rev 20198) @@ -617,14 +617,16 @@ #define PCI_cap_id_agp 0x02 /* AGP */ #define PCI_cap_id_vpd 0x03 /* Vital product data */ #define PCI_cap_id_slotid 0x04 /* Slot ID */ -#define PCI_cap_id_msi 0x05 /* Message signalled interrupt ??? */ +#define PCI_cap_id_msi 0x05 /* Message signalled interrupt */ #define PCI_cap_id_chswp 0x06 /* Compact PCI HotSwap */ -#define PCI_cap_id_pcix 0x07 +#define PCI_cap_id_pcix 0x07 /* PCI-X */ #define PCI_cap_id_ldt 0x08 #define PCI_cap_id_vendspec 0x09 #define PCI_cap_id_debugport 0x0a #define PCI_cap_id_cpci_rsrcctl 0x0b #define PCI_cap_id_hotplug 0x0c +#define PCI_cap_id_pcie 0x10 /* PCIe (PCI express) */ +#define PCI_cap_id_msix 0x11 /* MSI-X */ #define PCI_cap_id_sata 0x12 /* Serial ATA Capability */ /** Power Management Control Status Register settings */ Modified: haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp 2007-02-22 17:23:06 UTC (rev 20197) +++ haiku/trunk/src/add-ons/kernel/bus_managers/pci/pci_info.cpp 2007-02-22 17:46:44 UTC (rev 20198) @@ -244,6 +244,10 @@ return "cpci_rsrcctl"; case PCI_cap_id_hotplug: return "HotPlug"; + case PCI_cap_id_pcie: + return "PCIe"; + case PCI_cap_id_msix: + return "MSI-X"; case PCI_cap_id_sata: return "SATA"; default: From marcusoverhagen at mail.berlios.de Thu Feb 22 18:53:06 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Thu, 22 Feb 2007 18:53:06 +0100 Subject: [Haiku-commits] r20199 - in haiku/trunk: . build/jam Message-ID: <200702221753.l1MHr6Qr026505@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-22 18:53:05 +0100 (Thu, 22 Feb 2007) New Revision: 20199 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20199&view=rev Removed: haiku/trunk/build/jam/HaikuPXE Modified: haiku/trunk/Jamrules Log: Removed now unused HaikuPXE file, that triggered a "Parse error at EOF" warning on some builds. Modified: haiku/trunk/Jamrules =================================================================== --- haiku/trunk/Jamrules 2007-02-22 17:46:44 UTC (rev 20198) +++ haiku/trunk/Jamrules 2007-02-22 17:53:05 UTC (rev 20199) @@ -47,6 +47,3 @@ # specify the Haiku image contents include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; - -# for creating PXE targets -include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPXE ] ; Deleted: haiku/trunk/build/jam/HaikuPXE From marcusoverhagen at mail.berlios.de Thu Feb 22 20:47:32 2007 From: marcusoverhagen at mail.berlios.de (marcusoverhagen at BerliOS) Date: Thu, 22 Feb 2007 20:47:32 +0100 Subject: [Haiku-commits] r20200 - haiku/trunk/src/system/kernel Message-ID: <200702221947.l1MJlWQk009568@sheep.berlios.de> Author: marcusoverhagen Date: 2007-02-22 20:47:28 +0100 (Thu, 22 Feb 2007) New Revision: 20200 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20200&view=rev Modified: haiku/trunk/src/system/kernel/smp.c Log: really invalidate the TLB of non-boot CPUs Modified: haiku/trunk/src/system/kernel/smp.c =================================================================== --- haiku/trunk/src/system/kernel/smp.c 2007-02-22 17:53:05 UTC (rev 20199) +++ haiku/trunk/src/system/kernel/smp.c 2007-02-22 19:47:28 UTC (rev 20200) @@ -552,13 +552,14 @@ if (cpu > 0) { boot_cpu_spin[cpu] = 1; acquire_spinlock_nocheck(&boot_cpu_spin[cpu]); - return false; // lets make sure we're in sync with the main cpu // the boot processor has probably been sending us // tlb sync messages all along the way, but we've // been ignoring them arch_cpu_global_TLB_invalidate(); + + return false; } return true; From korli at mail.berlios.de Thu Feb 22 22:59:18 2007 From: korli at mail.berlios.de (korli at BerliOS) Date: Thu, 22 Feb 2007 22:59:18 +0100 Subject: [Haiku-commits] r20201 - haiku/trunk/src/add-ons/opengl/mesa_software_renderer Message-ID: <200702222159.l1MLxIe6031860@sheep.berlios.de> Author: korli Date: 2007-02-22 22:59:18 +0100 (Thu, 22 Feb 2007) New Revision: 20201 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20201&view=rev Modified: haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp Log: actually activates alpha on _mesa_add_soft_renderbuffers this fixes bug #1029, though make sure to use BGL_ALPHA flag with BGLView constructor Modified: haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp =================================================================== --- haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp 2007-02-22 19:47:28 UTC (rev 20200) +++ haiku/trunk/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp 2007-02-22 21:59:18 UTC (rev 20201) @@ -142,7 +142,7 @@ struct dd_function_table functions; fVisual = _mesa_create_visual( rgbFlag, dblFlag, stereoFlag, red, green, blue, alpha, - index, depth, stencil, accum, accum, accum, accum, 1); + index, depth, stencil, accum, accum, accum, alpha ? accum : 0, 1); // Initialize device driver function table _mesa_init_driver_functions(&functions); @@ -195,7 +195,7 @@ fVisual->haveDepthBuffer, fVisual->haveStencilBuffer, fVisual->haveAccumBuffer, - GL_FALSE, + alphaFlag, GL_FALSE ); // Use default TCL pipeline From umccullough at gmail.com Thu Feb 22 23:06:48 2007 From: umccullough at gmail.com (Urias McCullough) Date: Thu, 22 Feb 2007 14:06:48 -0800 Subject: [Haiku-commits] r20189 - haiku/trunk In-Reply-To: <20070222004823.1713.4@cs.tu-berlin.de> References: <200702211408.l1LE895g031231@sheep.berlios.de> <1e80d8750702210944ve9302f9g43f48700d16027c8@mail.gmail.com> <20070222001622.903.2@cs.tu-berlin.de> <1e80d8750702211527x307073b0t2dfcfa8d14fc3e1c@mail.gmail.com> <20070222004823.1713.4@cs.tu-berlin.de> Message-ID: <1e80d8750702221406p735747f9gbd442846b0085100@mail.gmail.com> On 2/21/07, Ingo Weinhold wrote: > > > On 2007-02-22 at 00:27:49 [+0100], Urias McCullough > > wrote: > > That last part is the problem I think - after running "./configure > > --build-cross-tools ../buildtools" - many have then run an additional > > "./configure --target=haiku" separately thinking it was necessary for > some > > reason. This of course then reconfigures to use their host system > tools. > > I understand this and it is a problem no longer. The second configure run > fails (and terminates) before modifying any of the configuration files. > Thus > the previous configuration remains intact. The only remaining problem is > that > people who thought it is required to run configure a second time might now > be > confused that it fails. But they would never have built Haiku with this > method before, anyway Definitely your change is working: http://haiku-os.org/community/forum/getting_started_0#comment-6520 It'll be a lot easier to explain why the error was received than why the build failed :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mmu_man at mail.berlios.de Thu Feb 22 23:53:17 2007 From: mmu_man at mail.berlios.de (mmu_man at BerliOS) Date: Thu, 22 Feb 2007 23:53:17 +0100 Subject: [Haiku-commits] r20202 - haiku/trunk/src/bin Message-ID: <200702222253.l1MMrHqb011125@sheep.berlios.de> Author: mmu_man Date: 2007-02-22 23:53:17 +0100 (Thu, 22 Feb 2007) New Revision: 20202 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20202&view=rev Modified: haiku/trunk/src/bin/urlwrapper.cpp Log: more comments & todos Modified: haiku/trunk/src/bin/urlwrapper.cpp =================================================================== --- haiku/trunk/src/bin/urlwrapper.cpp 2007-02-22 21:59:18 UTC (rev 20201) +++ haiku/trunk/src/bin/urlwrapper.cpp 2007-02-22 22:53:17 UTC (rev 20202) @@ -16,6 +16,7 @@ #define HANDLE_BESHARE //#define HANDLE_IM #define HANDLE_VLC +#define HANDLE_AUDIO const char *kAppSig = "application/x-vnd.haiku.urlwrapper"; const char *kTrackerSig = "application/x-vnd.Be-TRAK"; @@ -38,7 +39,7 @@ const char *kVLCSig = "application/x-vnd.videolan-vlc"; #endif -// TODO: make a Url class +// TODO: make a public BUrl class for use by apps ? class Url : public BString { public: Url(const char *url) : BString(url) { fStatus = ParseAndSplit(); }; @@ -93,8 +94,12 @@ if (v < 0) return EINVAL; + // TODO: proto and host should be lowercased. + // see http://en.wikipedia.org/wiki/URL_normalization + CopyInto(proto, 0, v); CopyInto(left, v + 1, Length() - v); + // TODO: RFC1738 says the // part should indicate the uri follows the u:p at h:p/path convention, so it should be used to check for special cases. if (left.FindFirst("//") == 0) left.RemoveFirst("//"); full = left; @@ -131,6 +136,7 @@ } } else if (proto == "finger") { // single component implies user + // see also: http://www.subir.com/lynx/lynx_help/lynx_url_support.html user = left; return 0; } @@ -250,6 +256,7 @@ return; } + // see draft: http://tools.ietf.org/wg/secsh/draft-ietf-secsh-scp-sftp-ssh-uri/ if (u.proto == "ssh") { BString cmd("ssh "); @@ -391,6 +398,10 @@ return; } #endif + +#ifdef HANDLE_AUDIO + // TODO +#endif // vnc: ? // irc: ? @@ -399,6 +410,12 @@ // cvs: ? // smb: cifsmount ? // nfs: mount_nfs ? + // + // mailto: ? but BeMail & Beam both handle it already (not fully though). + // + // itps: pcast: podcast: s//http/ + parse xml to get url to mp3 stream... + // audio: s//http:/ + default MediaPlayer -- see http://forums.winamp.com/showthread.php?threadid=233130 + // } From bonefish at mail.berlios.de Fri Feb 23 00:30:40 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 23 Feb 2007 00:30:40 +0100 Subject: [Haiku-commits] r20203 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702222330.l1MNUeaH017299@sheep.berlios.de> Author: bonefish Date: 2007-02-23 00:30:39 +0100 (Fri, 23 Feb 2007) New Revision: 20203 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20203&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp Log: * Missing locking initialization in Volume::Mount(). * Added missing locking in the query hooks. * Added live query support similarly as done in BFS: - Volume manages a doubly-linked list of live queries. - Volume::UpdateLiveQueries() invoked from several places where it makes sense (standard indices, Attribute::WriteAt(), and BVolume::NodeAttributeRemoved()) notifies the live Query objects. - Adjusted Query to be able to deal with hard links. Unfortunately Tracker is a bit broken with respect to hard links, particularly in the query windows. E.g. only one entry referring to a node is shown, and the renaming method RamFS uses (link new entry, then unlink old one) causes renamed entries to fall out of queries, even if they should still be in. (Want a bug report for this, Axel? :-P) Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Attribute.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -52,19 +52,30 @@ Attribute::WriteAt(off_t offset, const void *buffer, size_t size, size_t *bytesWritten) { - status_t error = B_OK; - if (offset < kMaxIndexKeyLength && size > 0 && fIndex) { - // There is an index and a change will be made within the key. - uint8 oldKey[kMaxIndexKeyLength]; - size_t oldLength; - GetKey(oldKey, &oldLength); - error = DataContainer::WriteAt(offset, buffer, size, bytesWritten); + // get the current key for the attribute + uint8 oldKey[kMaxIndexKeyLength]; + size_t oldLength; + GetKey(oldKey, &oldLength); + + // write the new value + status_t error = DataContainer::WriteAt(offset, buffer, size, bytesWritten); + + // If there is an index and a change has been made within the key, notify + // the index. + if (offset < kMaxIndexKeyLength && size > 0 && fIndex) fIndex->Changed(this, oldKey, oldLength); - } else - error = DataContainer::WriteAt(offset, buffer, size, bytesWritten); + + // update live queries + const uint8* newKey; + size_t newLength; + GetKey(&newKey, &newLength); + GetVolume()->UpdateLiveQueries(NULL, fNode, GetName(), fType, oldKey, + oldLength, newKey, newLength); + // node has been changed - if (fNode) + if (fNode && size > 0) fNode->MarkModified(); + return error; } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -156,17 +156,17 @@ if (entry) { error = entry->InitCheck(); if (error == B_OK) { - // add the entry - error = AddEntry(entry); + // link to the node + error = entry->Link(node); if (error == B_OK) { - // link to the node - error = entry->Link(node); + // add the entry + error = AddEntry(entry); if (error == B_OK) { if (_entry) *_entry = entry; } else { - // failure: remove the entry - RemoveEntry(entry); + // failure: unlink the node + entry->Unlink(); } } } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/LastModifiedIndex.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -157,9 +157,15 @@ if (iterator->GetCurrentNode() == node) iterator->NodeRemoved(node); } - // remove the node + // remove and re-insert the node fNodes->Remove(it); error = fNodes->Insert(node); + + // udpate live queries + time_t newModified = node->GetMTime(); + fVolume->UpdateLiveQueries(NULL, node, GetName(), GetType(), + (const uint8*)&oldModified, sizeof(oldModified), + (const uint8*)&newModified, sizeof(newModified)); } } return error; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -139,6 +139,9 @@ if (foundEntry && *foundEntry == entry) { fEntries->Remove(it); error = fEntries->Insert(entry); + + // udpate live queries + _UpdateLiveQueries(entry, oldName, entry->GetName()); } } return error; @@ -148,16 +151,24 @@ void NameIndex::EntryAdded(Entry *entry) { - if (entry) + if (entry) { fEntries->Insert(entry); + + // udpate live queries + _UpdateLiveQueries(entry, NULL, entry->GetName()); + } } // EntryRemoved void NameIndex::EntryRemoved(Entry *entry) { - if (entry) + if (entry) { fEntries->Remove(entry, entry); + + // udpate live queries + _UpdateLiveQueries(entry, entry->GetName(), NULL); + } } // InternalGetIterator @@ -190,7 +201,17 @@ return iterator; } +// _UpdateLiveQueries +void +NameIndex::_UpdateLiveQueries(Entry* entry, const char* oldName, + const char* newName) +{ + fVolume->UpdateLiveQueries(entry, entry->GetNode(), GetName(), + GetType(), (const uint8*)oldName, (oldName ? strlen(oldName) : 0), + (const uint8*)newName, (newName ? strlen(newName) : 0)); +} + // NameIndexEntryIterator // constructor Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.h 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.h 2007-02-22 23:30:39 UTC (rev 20203) @@ -32,6 +32,9 @@ class EntryTree; friend class NameIndexEntryIterator; + void _UpdateLiveQueries(Entry* entry, const char* oldName, + const char* newName); + private: EntryTree *fEntries; }; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -128,8 +128,6 @@ } - - // compare_integral template static inline @@ -258,8 +256,9 @@ void SetParent(Term *parent) { fParent = parent; } Term *Parent() const { return fParent; } - virtual status_t Match(Entry *entry,const char *attribute = NULL,int32 type = 0, - const uint8 *key = NULL,size_t size = 0) = 0; + virtual status_t Match(Entry *entry, Node* node, + const char *attribute = NULL, int32 type = 0, + const uint8 *key = NULL, size_t size = 0) = 0; virtual void Complement() = 0; virtual void CalculateScore(IndexWrapper &index) = 0; @@ -267,6 +266,8 @@ virtual status_t InitCheck() = 0; + virtual bool NeedsEntry() = 0; + #ifdef DEBUG virtual void PrintToStream() = 0; #endif @@ -295,8 +296,9 @@ status_t ParseQuotedString(char **_start, char **_end); char *CopyString(char *start, char *end); - virtual status_t Match(Entry *entry, const char *attribute = NULL, int32 type = 0, - const uint8 *key = NULL, size_t size = 0); + virtual status_t Match(Entry *entry, Node* node, + const char *attribute = NULL, int32 type = 0, + const uint8 *key = NULL, size_t size = 0); virtual void Complement(); status_t PrepareQuery(Volume *volume, IndexWrapper &index, IndexIterator **iterator, @@ -307,6 +309,8 @@ virtual void CalculateScore(IndexWrapper &index); virtual int32 Score() const { return fScore; } + virtual bool NeedsEntry(); + #ifdef DEBUG virtual void PrintToStream(); #endif @@ -340,7 +344,8 @@ Term *Left() const { return fLeft; } Term *Right() const { return fRight; } - virtual status_t Match(Entry *entry, const char *attribute = NULL, int32 type = 0, + virtual status_t Match(Entry *entry, Node* node, + const char *attribute = NULL, int32 type = 0, const uint8 *key = NULL, size_t size = 0); virtual void Complement(); @@ -349,6 +354,8 @@ virtual status_t InitCheck(); + virtual bool NeedsEntry(); + //Term *Copy() const; #ifdef DEBUG virtual void PrintToStream(); @@ -940,7 +947,8 @@ */ status_t -Equation::Match(Entry *entry, const char *attributeName, int32 type, const uint8 *key, size_t size) +Equation::Match(Entry *entry, Node* node, const char *attributeName, int32 type, + const uint8 *key, size_t size) { // get a pointer to the attribute in question union value value; @@ -949,14 +957,23 @@ // first, check if we are matching for a live query and use that value if (attributeName != NULL && !strcmp(fAttribute, attributeName)) { if (key == NULL) { - if (type == B_STRING_TYPE) + if (type == B_STRING_TYPE) { + // special case: a NULL "name" means the entry has been removed + // or not yet been added -- we refuse to match, whatever the + // pattern + if (!strcmp(fAttribute, "name")) + return NO_MATCH; + return MatchEmptyString(); + } return NO_MATCH; } buffer = const_cast(key); } else if (!strcmp(fAttribute, "name")) { // if not, check for "fake" attributes, "name", "size", "last_modified", + if (!entry) + return B_ERROR; buffer = (uint8 *)entry->GetName(); if (buffer == NULL) return B_ERROR; @@ -964,18 +981,18 @@ type = B_STRING_TYPE; size = strlen((const char *)buffer); } else if (!strcmp(fAttribute,"size")) { - value.Int64 = entry->GetNode()->GetSize(); + value.Int64 = node->GetSize(); buffer = (uint8 *)&value; type = B_INT64_TYPE; } else if (!strcmp(fAttribute,"last_modified")) { - value.Int32 = entry->GetNode()->GetMTime(); + value.Int32 = node->GetMTime(); buffer = (uint8 *)&value; type = B_INT32_TYPE; } else { // then for attributes Attribute *attribute = NULL; - if (entry->GetNode()->FindAttribute(fAttribute, &attribute) == B_OK) { + if (node->FindAttribute(fAttribute, &attribute) == B_OK) { attribute->GetKey(&buffer, &size); type = attribute->GetType(); } else @@ -1151,7 +1168,7 @@ status = MATCH_OK; if (!fHasIndex) - status = Match(entry); + status = Match(entry, entry->GetNode()); while (term != NULL && status == MATCH_OK) { Operator *parent = (Operator *)term->Parent(); @@ -1168,7 +1185,7 @@ FATAL(("&&-operator has only one child... (parent = %p)\n", parent)); break; } - status = other->Match(entry); + status = other->Match(entry, entry->GetNode()); if (status < 0) { REPORT_ERROR(status); status = NO_MATCH; @@ -1196,6 +1213,13 @@ } +bool +Equation::NeedsEntry() +{ + return strcmp(fAttribute, "name") == 0; +} + + // #pragma mark - @@ -1219,22 +1243,24 @@ status_t -Operator::Match(Entry *entry, const char *attribute, int32 type, const uint8 *key, size_t size) +Operator::Match(Entry *entry, Node* node, const char *attribute, + int32 type, const uint8 *key, size_t size) { if (fOp == OP_AND) { - status_t status = fLeft->Match(entry, attribute, type, key, size); + status_t status = fLeft->Match(entry, node, attribute, type, key, size); if (status != MATCH_OK) return status; - return fRight->Match(entry, attribute, type, key, size); + return fRight->Match(entry, node, attribute, type, key, size); } else { // choose the term with the better score for OP_OR if (fRight->Score() > fLeft->Score()) { - status_t status = fRight->Match(entry, attribute, type, key, size); + status_t status = fRight->Match(entry, node, attribute, type, key, + size); if (status != NO_MATCH) return status; } - return fLeft->Match(entry, attribute, type, key, size); + return fLeft->Match(entry, node, attribute, type, key, size); } } @@ -1291,6 +1317,13 @@ } +bool +Operator::NeedsEntry() +{ + return ((fLeft && fLeft->NeedsEntry()) || (fRight && fRight->NeedsEntry())); +} + + #if 0 Term * Operator::Copy() const @@ -1529,7 +1562,8 @@ fIterator(NULL), fIndex(volume), fFlags(flags), - fPort(-1) + fPort(-1), + fNeedsEntry(false) { // if the expression has a valid root pointer, the whole tree has // already passed the sanity check, so that we don't have to check @@ -1541,6 +1575,8 @@ fExpression->Root()->CalculateScore(fIndex); fIndex.Unset(); + fNeedsEntry = fExpression->Root()->NeedsEntry(); + Rewind(); if (fFlags & B_LIVE_QUERY) @@ -1639,25 +1675,50 @@ void -Query::LiveUpdate(Entry *entry, const char *attribute, int32 type, const uint8 *oldKey, - size_t oldLength, const uint8 *newKey, size_t newLength) +Query::LiveUpdate(Entry *entry, Node* node, const char *attribute, int32 type, + const uint8 *oldKey, size_t oldLength, const uint8 *newKey, + size_t newLength) { - if (fPort < 0 || fExpression == NULL || attribute == NULL) +PRINT(("%p->Query::LiveUpdate(%p, %p, \"%s\", 0x%lx, %p, %lu, %p, %lu)\n", +this, entry, node, attribute, type, oldKey, oldLength, newKey, newLength)); + if (fPort < 0 || fExpression == NULL || node == NULL || attribute == NULL) return; // ToDo: check if the attribute is part of the query at all... - status_t oldStatus = fExpression->Root()->Match(entry, attribute, type, oldKey, oldLength); - status_t newStatus = fExpression->Root()->Match(entry, attribute, type, newKey, newLength); + // If no entry has been supplied, but the we need one for the evaluation + // (i.e. the "name" attribute is used), we invoke ourselves for all entries + // referring to the given node. + if (!entry && fNeedsEntry) { + entry = node->GetFirstReferrer(); + while (entry) { + LiveUpdate(entry, node, attribute, type, oldKey, oldLength, newKey, + newLength); + entry = node->GetNextReferrer(entry); + } + return; + } + status_t oldStatus = fExpression->Root()->Match(entry, node, attribute, + type, oldKey, oldLength); + status_t newStatus = fExpression->Root()->Match(entry, node, attribute, + type, newKey, newLength); +PRINT((" oldStatus: 0x%lx, newStatus: 0x%lx\n", oldStatus, newStatus)); + int32 op; if (oldStatus == MATCH_OK && newStatus == MATCH_OK) { // only send out a notification if the name was changed if (oldKey == NULL || strcmp(attribute,"name")) return; - send_notification(fPort, fToken, B_QUERY_UPDATE, B_ENTRY_REMOVED, fVolume->GetID(), 0, - entry->GetParent()->GetID(), 0, entry->GetNode()->GetID(), (const char *)oldKey); + if (entry) { + // entry should actually always be given, when the changed + // attribute is the entry name +PRINT(("send_notification(): old: B_ENTRY_REMOVED\n")); + send_notification(fPort, fToken, B_QUERY_UPDATE, B_ENTRY_REMOVED, + fVolume->GetID(), 0, entry->GetParent()->GetID(), 0, + entry->GetNode()->GetID(), (const char *)oldKey); + } op = B_ENTRY_CREATED; } else if (oldStatus != MATCH_OK && newStatus != MATCH_OK) { // nothing has changed @@ -1667,12 +1728,21 @@ else op = B_ENTRY_CREATED; - // if "value" is NULL, send_notification() crashes... - const char *value = (const char *)newKey; - if (type != B_STRING_TYPE || value == NULL) - value = ""; - - send_notification(fPort, fToken, B_QUERY_UPDATE, op, fVolume->GetID(), 0, - entry->GetParent()->GetID(), 0, entry->GetNode()->GetID(), value); + // We send a notification for the given entry, if any, or otherwise for + // all entries referring to the node; + if (entry) { +PRINT(("send_notification(): new: %s\n", (op == B_ENTRY_REMOVED ? "B_ENTRY_REMOVED" : "B_ENTRY_CREATED"))); + send_notification(fPort, fToken, B_QUERY_UPDATE, op, fVolume->GetID(), + 0, entry->GetParent()->GetID(), 0, entry->GetNode()->GetID(), + entry->GetName()); + } else { + entry = node->GetFirstReferrer(); + while (entry) { + send_notification(fPort, fToken, B_QUERY_UPDATE, op, + fVolume->GetID(), 0, entry->GetParent()->GetID(), 0, + entry->GetNode()->GetID(), entry->GetName()); + entry = node->GetNextReferrer(entry); + } + } } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.h 2007-02-22 23:30:39 UTC (rev 20203) @@ -12,6 +12,7 @@ #include #include +#include "DLList.h" #include "Index.h" #include "Stack.h" #include "ramfs.h" @@ -19,6 +20,7 @@ class Entry; class Equation; class IndexIterator; +class Node; class Query; class Term; class Volume; @@ -90,7 +92,7 @@ Term *fTerm; }; -class Query { +class Query : public DLListLinkImpl { public: Query(Volume *volume, Expression *expression, uint32 flags); ~Query(); @@ -99,12 +101,16 @@ status_t GetNextEntry(struct dirent *, size_t size); void SetLiveMode(port_id port, int32 token); - void LiveUpdate(Entry *entry, const char *attribute, int32 type, - const uint8 *oldKey, size_t oldLength, const uint8 *newKey, size_t newLength); + void LiveUpdate(Entry *entry, Node* node, const char *attribute, + int32 type, const uint8 *oldKey, size_t oldLength, + const uint8 *newKey, size_t newLength); Expression *GetExpression() const { return fExpression; } private: +// void SendNotification(Entry* entry) + + private: Volume *fVolume; Expression *fExpression; Equation *fCurrent; @@ -115,6 +121,7 @@ uint32 fFlags; port_id fPort; int32 fToken; + bool fNeedsEntry; }; #endif /* QUERY_H */ Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/SizeIndex.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -155,9 +155,16 @@ if (iterator->GetCurrentNode() == node) iterator->NodeRemoved(node); } - // remove the node + + // remove and re-insert the node fNodes->Remove(it); error = fNodes->Insert(node); + + // udpate live queries + off_t newSize = node->GetSize(); + fVolume->UpdateLiveQueries(NULL, node, GetName(), GetType(), + (const uint8*)&oldSize, sizeof(oldSize), (const uint8*)&newSize, + sizeof(newSize)); } } return error; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -33,6 +33,7 @@ #include "Entry.h" #include "EntryListener.h" #include "IndexDirectory.h" +#include "Locking.h" #include "Misc.h" #include "NameIndex.h" #include "Node.h" @@ -140,8 +141,9 @@ fIndexDirectory(NULL), fRootDirectory(NULL), fName(kDefaultVolumeName), - fLocker(), - fIteratorLocker(), + fLocker("volume"), + fIteratorLocker("iterators"), + fQueryLocker("queries"), fNodeListeners(NULL), fAnyNodeListeners(), fEntryListeners(NULL), @@ -165,6 +167,15 @@ Volume::Mount(nspace_id id) { Unmount(); + + // check the locker's semaphores + if (fLocker.Sem() < 0) + return fLocker.Sem(); + if (fIteratorLocker.Sem() < 0) + return fIteratorLocker.Sem(); + if (fQueryLocker.Sem() < 0) + return fQueryLocker.Sem(); + status_t error = B_OK; fID = id; // create a block allocator @@ -659,6 +670,15 @@ index->Removed(attribute); } } + + // update live queries + if (error == B_OK && attribute->GetNode()) { + const uint8* oldKey; + size_t oldLength; + attribute->GetKey(&oldKey, &oldLength); + UpdateLiveQueries(NULL, attribute->GetNode(), attribute->GetName(), + attribute->GetType(), oldKey, oldLength, NULL, 0); + } } return error; } @@ -712,6 +732,42 @@ ? fIndexDirectory->FindAttributeIndex(name, type) : NULL); } +// AddQuery +void +Volume::AddQuery(Query *query) +{ + AutoLocker _(fQueryLocker); + + if (query) + fQueries.Insert(query); +} + +// RemoveQuery +void +Volume::RemoveQuery(Query *query) +{ + AutoLocker _(fQueryLocker); + + if (query) + fQueries.Remove(query); +} + +// UpdateLiveQueries +void +Volume::UpdateLiveQueries(Entry *entry, Node* node, const char *attribute, + int32 type, const uint8 *oldKey, size_t oldLength, const uint8 *newKey, + size_t newLength) +{ + AutoLocker _(fQueryLocker); + + for (Query* query = fQueries.GetFirst(); + query; + query = fQueries.GetNext(query)) { + query->LiveUpdate(entry, node, attribute, type, oldKey, oldLength, + newKey, newLength); + } +} + // AllocateBlock status_t Volume::AllocateBlock(size_t size, BlockReference **block) Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h 2007-02-22 23:30:39 UTC (rev 20203) @@ -22,12 +22,14 @@ #ifndef VOLUME_H #define VOLUME_H +#include #include +#include "DLList.h" #include "Entry.h" -#include "fsproto.h" #include "List.h" #include "Locker.h" +#include "Query.h" #include "String.h" class AllocationInfo; @@ -48,7 +50,6 @@ class NodeListener; class NodeListenerTree; class NodeTable; -class Query; class SizeIndex; const vnode_id kRootParentID = 0; @@ -146,11 +147,11 @@ AttributeIndex *FindAttributeIndex(const char *name, uint32 type); // queries -// TODO: Implement. -// status_t AddQuery(Query */*query*/) { return B_ERROR; } -// status_t RemoveQuery(Query */*query*/) { return B_ERROR; } - status_t AddQuery(Query */*query*/) { return B_OK; } - status_t RemoveQuery(Query */*query*/) { return B_OK; } + void AddQuery(Query *query); + void RemoveQuery(Query *query); + void UpdateLiveQueries(Entry *entry, Node* node, const char *attribute, + int32 type, const uint8 *oldKey, size_t oldLength, + const uint8 *newKey, size_t newLength); vnode_id NextNodeID() { return fNextNodeID++; } @@ -173,6 +174,8 @@ void IteratorUnlock(); private: + typedef DLList QueryList; + nspace_id fID; vnode_id fNextNodeID; NodeTable *fNodeTable; @@ -183,10 +186,12 @@ String fName; Locker fLocker; Locker fIteratorLocker; + Locker fQueryLocker; NodeListenerTree *fNodeListeners; NodeListenerList fAnyNodeListeners; EntryListenerTree *fEntryListeners; EntryListenerList fAnyEntryListeners; + QueryList fQueries; BlockAllocator *fBlockAllocator; off_t fBlockSize; off_t fAllocatedBlocks; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-22 22:53:17 UTC (rev 20202) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-22 23:30:39 UTC (rev 20203) @@ -43,6 +43,7 @@ #include "AllocationInfo.h" #include "AttributeIndex.h" #include "AttributeIterator.h" +#include "AutoDeleter.h" #include "Debug.h" #include "Directory.h" #include "Entry.h" @@ -249,6 +250,10 @@ } } + +// #pragma mark - FS + + // ramfs_mount static int @@ -323,6 +328,10 @@ return B_OK; } + +// #pragma mark - VNodes + + // ramfs_read_vnode static int @@ -375,6 +384,10 @@ RETURN_ERROR(error); } + +// #pragma mark - Nodes + + // ramfs_walk static int @@ -562,6 +575,10 @@ RETURN_ERROR(error); } + +// #pragma mark - Files + + // FileCookie class FileCookie { public: @@ -841,6 +858,11 @@ RETURN_ERROR(error); } + + +// #pragma mark - Directories + + // ramfs_rename static int @@ -1330,7 +1352,11 @@ delete cookie; return B_OK; } - + + +// #pragma mark - FS Stats + + // ramfs_read_fs_stat static int @@ -1354,6 +1380,7 @@ return B_OK; } + // ramfs_write_fs_stat static int @@ -1370,6 +1397,10 @@ RETURN_ERROR(error); } + +// #pragma mark - Symlinks + + // ramfs_symlink static int @@ -1455,6 +1486,10 @@ RETURN_ERROR(error); } + +// #pragma mark - Attributes + + // ramfs_open_attrdir static int @@ -1703,6 +1738,10 @@ RETURN_ERROR(error); } + +// #pragma mark - Indices + + // IndexDirCookie class IndexDirCookie { public: @@ -1905,9 +1944,9 @@ } +// #pragma mark - Queries + // Query implementation by Axel D?rfler. Slightly adjusted. -// -// TODO: Locking! // ramfs_open_query int @@ -1922,21 +1961,30 @@ Volume *volume = (Volume *)ns; + // lock the volume + VolumeReadLocker locker(volume); + if (!locker.IsLocked()) + RETURN_ERROR(B_ERROR); + + // parse the query expression Expression *expression = new Expression((char *)queryString); if (expression == NULL) RETURN_ERROR(B_NO_MEMORY); + ObjectDeleter expressionDeleter(expression); if (expression->InitCheck() < B_OK) { - FATAL(("Could not parse query, stopped at: \"%s\"\n", expression->Position())); - delete expression; + WARN(("Could not parse query, stopped at: \"%s\"\n", + expression->Position())); RETURN_ERROR(B_BAD_VALUE); } + // create the query Query *query = new Query(volume, expression, flags); - if (query == NULL) { - delete expression; + if (query == NULL) RETURN_ERROR(B_NO_MEMORY); - } + expressionDeleter.Detach(); + // TODO: The Query references an Index, but nothing prevents the Index + // from being deleted, while the Query is in existence. if (flags & B_LIVE_QUERY) query->SetLiveMode(port, token); @@ -1956,12 +2004,19 @@ // ramfs_free_query_cookie int -ramfs_free_query_cookie(void */*ns*/, void */*node*/, void *cookie) +ramfs_free_query_cookie(void *ns, void */*node*/, void *cookie) { FUNCTION_START(); - if (cookie == NULL) + if (ns == NULL || cookie == NULL) RETURN_ERROR(B_BAD_VALUE); + Volume *volume = (Volume *)ns; + + // lock the volume + VolumeReadLocker locker(volume); + if (!locker.IsLocked()) + RETURN_ERROR(B_ERROR); + Query *query = (Query *)cookie; Expression *expression = query->GetExpression(); delete query; @@ -1972,14 +2027,21 @@ // ramfs_read_query int -ramfs_read_query(void */*ns*/, void *cookie, long *count, +ramfs_read_query(void *ns, void *cookie, long *count, struct dirent *buffer, size_t bufferSize) { FUNCTION_START(); Query *query = (Query *)cookie; - if (query == NULL) + if (ns == NULL || query == NULL) RETURN_ERROR(B_BAD_VALUE); + Volume *volume = (Volume *)ns; + + // lock the volume + VolumeReadLocker locker(volume); + if (!locker.IsLocked()) + RETURN_ERROR(B_ERROR); + status_t status = query->GetNextEntry(buffer, bufferSize); if (status == B_OK) *count = 1; From bonefish at mail.berlios.de Fri Feb 23 02:01:27 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 23 Feb 2007 02:01:27 +0100 Subject: [Haiku-commits] r20204 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702230101.l1N11RG9004790@sheep.berlios.de> Author: bonefish Date: 2007-02-23 02:01:26 +0100 (Fri, 23 Feb 2007) New Revision: 20204 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20204&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp Log: * Split the Node references and referrers concepts. One can now have a reference without being a referring entry. * Reworked entry renaming. We do now remove the original entry first and then create a target entry. Renaming directories didn't work before since there would temporarily have been two links to a directory, which is not allowed. Replacing an entry was also broken: The original entry was not removed. Due to reversing the entry creation/deletion order we also do no longer suffer from the Tracker bug, that entries would disappear from queries when being renamed. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-22 23:30:39 UTC (rev 20203) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-23 01:01:26 UTC (rev 20204) @@ -32,7 +32,7 @@ status_t Directory::Link(Entry *entry) { - if (GetRefCount() == 0) + if (fReferrers.IsEmpty()) return Node::Link(entry); return B_IS_A_DIRECTORY; } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp 2007-02-22 23:30:39 UTC (rev 20203) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp 2007-02-23 01:01:26 UTC (rev 20204) @@ -80,23 +80,44 @@ return (fVolume && fID >= 0 ? B_OK : B_NO_INIT); } +// AddReference +status_t +Node::AddReference() +{ + if (++fRefCount == 1) { + status_t error = GetVolume()->NewNode(this); + if (error != B_OK) { + fRefCount--; + return error; + } + + fIsKnownToVFS = true; + } + + return B_OK; +} + +// RemoveReference +void +Node::RemoveReference() +{ + if (--fRefCount == 0) { + GetVolume()->RemoveNode(this); + fRefCount++; + } +} + // Link status_t Node::Link(Entry *entry) { PRINT(("Node[%Ld]::Link(): %ld ->...\n", fID, fRefCount)); - status_t error = B_OK; fReferrers.Insert(entry); - if (++fRefCount == 1) { -// error = GetVolume()->NodeAdded(this); - error = GetVolume()->NewNode(this); - if (error == B_OK) - fIsKnownToVFS = true; - else { - fRefCount--; - fReferrers.Remove(entry); - } - } + + status_t error = AddReference(); + if (error != B_OK) + fReferrers.Remove(entry); + return error; } @@ -105,16 +126,10 @@ Node::Unlink(Entry *entry) { PRINT(("Node[%Ld]::Unlink(): %ld ->...\n", fID, fRefCount)); - status_t error = B_OK; - if (--fRefCount == 0) { -// error = GetVolume()->NodeRemoved(this); - error = GetVolume()->RemoveNode(this); - if (error != B_OK) - fRefCount++; - } - if (error == B_OK) - fReferrers.Remove(entry); - return error; + RemoveReference(); + fReferrers.Remove(entry); + + return B_OK; } // SetMTime Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h 2007-02-22 23:30:39 UTC (rev 20203) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.h 2007-02-23 01:01:26 UTC (rev 20204) @@ -41,9 +41,12 @@ inline vnode_id GetID() const { return fID; } + status_t AddReference(); + void RemoveReference(); + int32 GetRefCount() { return fRefCount; } + virtual status_t Link(Entry *entry); virtual status_t Unlink(Entry *entry); - int32 GetRefCount() { return fRefCount; } inline bool IsDirectory() const { return S_ISDIR(fMode); } inline bool IsFile() const { return S_ISREG(fMode); } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-22 23:30:39 UTC (rev 20203) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-23 01:01:26 UTC (rev 20204) @@ -873,15 +873,18 @@ Directory *oldDir = dynamic_cast((Node*)_oldDir); Directory *newDir = dynamic_cast((Node*)_newDir); status_t error = B_OK; + // check name if (!oldName || *oldName == '\0' || !strcmp(oldName, ".") || !strcmp(oldName, "..") || !newName || *newName == '\0' || !strcmp(newName, ".") || !strcmp(newName, "..")) { SET_ERROR(error, B_BAD_VALUE); + // check nodes } else if (!oldDir || !newDir) { SET_ERROR(error, B_BAD_VALUE); + // check if the entry isn't actually moved or renamed } else if (oldDir == newDir && !strcmp(oldName, newName)) { SET_ERROR(error, B_BAD_VALUE); @@ -890,14 +893,17 @@ oldDir->GetID(), oldName, newDir->GetID(), newName)); NodeMTimeUpdater mTimeUpdater1(oldDir); NodeMTimeUpdater mTimeUpdater2(newDir); + // target directory deleted? if (is_vnode_removed(volume->GetID(), newDir->GetID()) > 0) SET_ERROR(error, B_NOT_ALLOWED); + // check directory write permissions if (error == B_OK) error = oldDir->CheckPermissions(ACCESS_W); if (error == B_OK) error = newDir->CheckPermissions(ACCESS_W); + Node *node = NULL; Entry *entry = NULL; if (error == B_OK) { @@ -919,6 +925,7 @@ } } } + // check the target directory situation Node *clobberNode = NULL; Entry *clobberEntry = NULL; @@ -931,33 +938,47 @@ } } } + // do the job if (error == B_OK) { - if (clobberEntry) { - error = clobberEntry->Link(node); - // notify listeners + // temporarily acquire an additional reference to make + // sure the node isn't deleted when we remove the entry + error = node->AddReference(); + if (error == B_OK) { + // delete the original entry + error = oldDir->DeleteEntry(entry); if (error == B_OK) { - notify_listener(B_ENTRY_REMOVED, - volume->GetID(), newDir->GetID(), 0, - clobberNode->GetID(), NULL); + // create the new one/relink the target entry + if (clobberEntry) + error = clobberEntry->Link(node); + else + error = newDir->CreateEntry(node, newName); + + if (error == B_OK) { + // send a "removed" notification for the clobbered + // entry + if (clobberEntry) { + notify_listener(B_ENTRY_REMOVED, + volume->GetID(), newDir->GetID(), 0, + clobberNode->GetID(), newName); + } + } else { + // try to recreate the original entry, in case of + // failure + newDir->CreateEntry(node, oldName); + } } - } else { - Entry *newEntry = NULL; -// TODO: If the node is a directory, this does fail!!! - error = newDir->CreateEntry(node, newName, &newEntry); - if (error == B_OK) { - error = oldDir->DeleteEntry(entry); - if (error != B_OK) - newDir->DeleteEntry(newEntry); - } + node->RemoveReference(); } } + // release the entries if (clobberEntry) volume->PutNode(clobberNode); if (entry) volume->PutNode(node); } + // notify listeners if (error == B_OK) { notify_listener(B_ENTRY_MOVED, volume->GetID(), oldDir->GetID(), @@ -965,6 +986,7 @@ } } else SET_ERROR(error, B_ERROR); + RETURN_ERROR(error); } From bonefish at mail.berlios.de Fri Feb 23 03:10:55 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 23 Feb 2007 03:10:55 +0100 Subject: [Haiku-commits] r20205 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702230210.l1N2AtJn011119@sheep.berlios.de> Author: bonefish Date: 2007-02-23 03:10:51 +0100 (Fri, 23 Feb 2007) New Revision: 20205 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20205&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp Log: Squashed a few minor TODOs. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp 2007-02-23 01:01:26 UTC (rev 20204) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/NameIndex.cpp 2007-02-23 02:10:51 UTC (rev 20205) @@ -244,7 +244,6 @@ Entry *entry = GetCurrent(); if (entry) { strncpy((char*)buffer, entry->GetName(), kMaxIndexKeyLength); -// TODO: + 1 ? *keyLength = strlen(entry->GetName()); } return entry; Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-23 01:01:26 UTC (rev 20204) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Query.cpp 2007-02-23 02:10:51 UTC (rev 20205) @@ -67,8 +67,9 @@ off_t IndexWrapper::GetSize() const { -// TODO: That's not exactly what should be returned. - return (fIndex ? fIndex->CountEntries() + 1 : 0); + // Compute a fake "index size" based on the number of entries + // (1024 + 16 * entry count), so we don't need to adjust the code using it. + return 1024LL + (fIndex ? fIndex->CountEntries() : 0) * 16LL; } // KeySize @@ -1126,7 +1127,7 @@ status_t Equation::GetNextMatching(Volume *volume, IndexIterator *iterator, - struct dirent *dirent, size_t /*bufferSize*/) + struct dirent *dirent, size_t bufferSize) { while (true) { union value indexValue; @@ -1195,15 +1196,22 @@ } if (status == MATCH_OK) { + size_t nameLen = strlen(entry->GetName()); + + // check, whether the entry fits into the buffer, + // and fill it in + size_t length = (dirent->d_name + nameLen + 1) - (char*)dirent; + if (length > bufferSize) + RETURN_ERROR(B_BUFFER_OVERFLOW); + dirent->d_dev = volume->GetID(); dirent->d_ino = entry->GetNode()->GetID(); dirent->d_pdev = volume->GetID(); dirent->d_pino = entry->GetParent()->GetID(); -// TODO: Check the buffer size. - strncpy(dirent->d_name, entry->GetName(), B_FILE_NAME_LENGTH); - dirent->d_name[B_FILE_NAME_LENGTH - 1] = '\0'; - dirent->d_reclen = sizeof(struct dirent) + strlen(dirent->d_name); + memcpy(dirent->d_name, entry->GetName(), nameLen); + dirent->d_name[nameLen] = '\0'; + dirent->d_reclen = length; } if (status == MATCH_OK) Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-23 01:01:26 UTC (rev 20204) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp 2007-02-23 02:10:51 UTC (rev 20205) @@ -1324,8 +1324,7 @@ #endif *count = 1; } else { - // TODO: Check, if that's the correct behavior. - SET_ERROR(error, B_BAD_VALUE); + SET_ERROR(error, B_BUFFER_OVERFLOW); } } else *count = 0; @@ -1616,8 +1615,7 @@ #endif *count = 1; } else { - // TODO: Check, if that's the correct behavior. - SET_ERROR(error, B_BAD_VALUE); + SET_ERROR(error, B_BUFFER_OVERFLOW); } } else *count = 0; @@ -1858,8 +1856,7 @@ #endif *count = 1; } else { - // TODO: Check, if that's the correct behavior. - SET_ERROR(error, B_BAD_VALUE); + SET_ERROR(error, B_BUFFER_OVERFLOW); } } else *count = 0; @@ -1951,9 +1948,12 @@ // find the index if (Index *index = indexDir->FindIndex(name)) { indexInfo->type = index->GetType(); - indexInfo->size = 0; // TODO - indexInfo->modification_time = 0; // TODO - indexInfo->creation_time = 0; // TODO + if (index->HasFixedKeyLength()) + indexInfo->size = index->GetKeyLength(); + else + indexInfo->size = kMaxIndexKeyLength; + indexInfo->modification_time = 0; // TODO: index times + indexInfo->creation_time = 0; // ... indexInfo->uid = 0; // root owns the indices indexInfo->gid = 0; // } else From bonefish at mail.berlios.de Fri Feb 23 03:11:11 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 23 Feb 2007 03:11:11 +0100 Subject: [Haiku-commits] r20206 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702230211.l1N2BBmU011155@sheep.berlios.de> Author: bonefish Date: 2007-02-23 03:11:10 +0100 (Fri, 23 Feb 2007) New Revision: 20206 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20206&view=rev Removed: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndexImpl.h_old Log: Obsolete file. Deleted: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/AttributeIndexImpl.h_old From bonefish at mail.berlios.de Fri Feb 23 03:19:43 2007 From: bonefish at mail.berlios.de (bonefish at BerliOS) Date: Fri, 23 Feb 2007 03:19:43 +0100 Subject: [Haiku-commits] r20207 - haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs Message-ID: <200702230219.l1N2JhMe011431@sheep.berlios.de> Author: bonefish Date: 2007-02-23 03:19:41 +0100 (Fri, 23 Feb 2007) New Revision: 20207 ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=20207&view=rev Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.h haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/kernel_interface.cpp Log: Some renaming. Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-23 02:11:10 UTC (rev 20206) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Directory.cpp 2007-02-23 02:19:41 UTC (rev 20207) @@ -280,7 +280,7 @@ *node = entry->GetNode(); if (_entry) *_entry = entry; - error = GetVolume()->GetNode(*node); + error = GetVolume()->GetVNode(*node); } return error; } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp 2007-02-23 02:11:10 UTC (rev 20206) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Node.cpp 2007-02-23 02:19:41 UTC (rev 20207) @@ -85,7 +85,7 @@ Node::AddReference() { if (++fRefCount == 1) { - status_t error = GetVolume()->NewNode(this); + status_t error = GetVolume()->NewVNode(this); if (error != B_OK) { fRefCount--; return error; @@ -102,7 +102,7 @@ Node::RemoveReference() { if (--fRefCount == 0) { - GetVolume()->RemoveNode(this); + GetVolume()->RemoveVNode(this); fRefCount++; } } Modified: haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp =================================================================== --- haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp 2007-02-23 02:11:10 UTC (rev 20206) +++ haiku/trunk/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/Volume.cpp 2007-02-23 02:19:41 UTC (rev 20207) @@ -338,9 +338,9 @@ return fName.GetString(); } -// NewNode +// NewVNode status_t -Volume::NewNode(Node *node) +Volume::NewVNode(Node *node) { status_t error = NodeAdded(node); if (error == B_OK) { @@ -351,45 +351,45 @@ return error; } -// GetNode +// GetVNode status_t -Volume::GetNode(vnode_id id, Node **node) +Volume::GetVNode(vnode_id id, Node **node) { return (fMounted ? get_vnode(GetID(), id, (void**)node) : B_BAD_VALUE); } -// GetNode +// GetVNode status_t -Volume::GetNode(Node *node) +Volume::GetVNode(Node *node) { Node *dummy = NULL; - status_t error = (fMounted ? GetNode(node->GetID(), &dummy) + status_t error = (fMounted ? GetVNode(node->GetID(), &dummy) : B_BAD_VALUE ); if (error == B_OK && dummy != node) { FATAL(("Two Nodes have the same ID: %Ld!\n", node->GetID())); - PutNode(dummy); + PutVNode(dummy); error = B_ERROR; } return error; }