uint64_t ImageLoader::fgTotalNotifyTime;
uint64_t ImageLoader::fgTotalInitTime;
uintptr_t ImageLoader::fgNextSplitSegAddress = 0x90000000;
-uintptr_t Segment::fgNextNonSplitSegAddress = 0x8FE00000;
+uintptr_t Segment::fgNextNonSplitSegAddress = 0x8F000000;
throwf("realpath() failed on %s, errno=%d", this->getPath(), errno);
}
// recreate temp file name
- char tempFilePath[strlen(realFilePath)+strlen("_redoprebinding")+2];
- ImageLoader::addSuffix(realFilePath, "_redoprebinding", tempFilePath);
+ char tempFilePath[PATH_MAX];
+ char suffix[64];
+ sprintf(suffix, "_redoprebinding%d", getpid());
+ ImageLoader::addSuffix(realFilePath, suffix, tempFilePath);
if ( commit ) {
// all files successfully reprebound, so do swap
if ( realpath(this->getPath(), realFilePath) == NULL ) {
throwf("realpath() failed on %s, errno=%d", this->getPath(), errno);
}
- char tempFilePath[strlen(realFilePath)+strlen("_redoprebinding")+2];
- ImageLoader::addSuffix(realFilePath, "_redoprebinding", tempFilePath);
+ char tempFilePath[PATH_MAX];
+ char suffix[64];
+ sprintf(suffix, "_redoprebinding%d", getpid());
+ ImageLoader::addSuffix(realFilePath, suffix, tempFilePath);
// make copy of file and map it in
uint8_t* fileToPrebind;
if ( sUnitsPerSecond == 0 ) {
struct mach_timebase_info timeBaseInfo;
if ( mach_timebase_info(&timeBaseInfo) == KERN_SUCCESS ) {
- sUnitsPerSecond = timeBaseInfo.denom;
+ sUnitsPerSecond = 1000000000ULL * timeBaseInfo.denom / timeBaseInfo.numer;
}
}
if ( partTime < sUnitsPerSecond ) {
}
else {
uint32_t secondsTimeTen = (partTime*10)/sUnitsPerSecond;
- uint32_t seconds = secondsTimeTen/100;
+ uint32_t seconds = secondsTimeTen/10;
uint32_t percentTimesTen = (partTime*1000)/totalTime;
uint32_t percent = percentTimesTen/10;
fprintf(stderr, "%s: %u.%u seconds (%u.%u%%)\n", msg, seconds, secondsTimeTen-seconds*10, percent, percentTimesTen-percent*10);
fprintf(stderr, "total images loaded: %d (%d used prebinding)\n", imageCount, fgImagesWithUsedPrebinding);
printTime("total images loading time", fgTotalLoadLibrariesTime, totalTime);
fprintf(stderr, "total rebase fixups: %s\n", commatize(fgTotalRebaseFixups, commaNum1));
- printTime("total rebase fixups time", fgTotalRebaseFixups, totalTime);
+ printTime("total rebase fixups time", fgTotalRebaseTime, totalTime);
fprintf(stderr, "total binding fixups: %s\n", commatize(fgTotalBindFixups, commaNum1));
printTime("total binding fixups time", fgTotalBindTime, totalTime);
fprintf(stderr, "total bindings lazily fixed up: %s of %s\n", commatize(fgTotalLazyBindFixups, commaNum1), commatize(fgTotalPossibleLazyBindFixups, commaNum2));
const char* imageSuffix;
PrebindMode prebindUsage;
SharedRegionMode sharedRegionMode;
+ bool prebinding;
bool bindFlat;
bool slideAndPackDylibs;
bool verboseOpts;
++fgImagesWithUsedPrebinding; // bump totals for statistics
return;
}
-
+
+ // <rdar://problem/5146059> update_prebinding fails if a prebound dylib depends on a non-prebound dylib
+ // In the unusual case that we find a prebound dylib dependent on un-prebound dylib and we are running
+ // update_prebinding, we want the link of the prebound dylib to fail so that it will be excluded from
+ // the list of dylibs to be re-written.
+ if ( context.prebinding && !this->isPrebindable() )
+ throwf("dylib not prebound: %s", this->getPath());
+
// print why prebinding was not used
if ( context.verbosePrebinding ) {
if ( !this->isPrebindable() ) {
}
else {
// symbol requires searching images with coalesced symbols
- if ( this->needsCoalescing() && symbolRequiresCoalescing(undefinedSymbol) ) {
+ if ( !context.prebinding && this->needsCoalescing() && symbolRequiresCoalescing(undefinedSymbol) ) {
const Symbol* sym;
if ( context.coalescedExportFinder(symbolName, &sym, foundIn) )
return (*foundIn)->getExportedSymbolAddress(sym);
}
if ( target == NULL ) {
- fprintf(stderr, "resolveUndefined(%s) in %s\n", symbolName, this->getPath());
+ //fprintf(stderr, "resolveUndefined(%s) in %s\n", symbolName, this->getPath());
throw "symbol not found";
}
const uint8_t type = sect->flags & SECTION_TYPE;
if ( (type == S_SYMBOL_STUBS) && (sect->flags & S_ATTR_SELF_MODIFYING_CODE) && (sect->reserved2 == 5) ) {
// reset each jmp entry in this section
+ const uint32_t indirectTableOffset = sect->reserved1;
+ const uint32_t* const indirectTable = (uint32_t*)&fLinkEditBase[fDynamicInfo->indirectsymoff];
uint8_t* start = (uint8_t*)(sect->addr + this->fSlide);
uint8_t* end = start + sect->size;
uintptr_t dyldHandler = (uintptr_t)&fast_stub_binding_helper_interface;
- for (uint8_t* entry = start; entry < end; entry += 5) {
- uint32_t rel32 = dyldHandler - (((uint32_t)entry)+5);
- entry[0] = 0xE8; // CALL rel32
- entry[1] = rel32 & 0xFF;
- entry[2] = (rel32 >> 8) & 0xFF;
- entry[3] = (rel32 >> 16) & 0xFF;
- entry[4] = (rel32 >> 24) & 0xFF;
+ uint32_t entryIndex = 0;
+ for (uint8_t* entry = start; entry < end; entry += 5, ++entryIndex) {
+ bool installLazyHandler = true;
+ // jump table entries that cross a (64-byte) cache line boundary have the potential to cause crashes
+ // if the instruction is updated by one thread while being executed by another
+ if ( ((uint32_t)entry & 0xFFFFFFC0) != ((uint32_t)entry+4 & 0xFFFFFFC0) ) {
+ // need to bind this now to avoid a potential problem if bound lazily
+ uint32_t symbolIndex = indirectTable[indirectTableOffset + entryIndex];
+ // the latest linker marks 64-byte crossing stubs with INDIRECT_SYMBOL_ABS so they are not used
+ if ( symbolIndex != INDIRECT_SYMBOL_ABS ) {
+ const char* symbolName = &fStrings[fSymbolTable[symbolIndex].n_un.n_strx];
+ ImageLoader* image = NULL;
+ try {
+ uintptr_t symbolAddr = this->resolveUndefined(context, &fSymbolTable[symbolIndex], this->usesTwoLevelNameSpace(), &image);
+ symbolAddr = this->bindIndirectSymbol((uintptr_t*)entry, sect, symbolName, symbolAddr, image, context);
+ ++fgTotalBindFixups;
+ uint32_t rel32 = symbolAddr - (((uint32_t)entry)+5);
+ entry[0] = 0xE9; // JMP rel32
+ entry[1] = rel32 & 0xFF;
+ entry[2] = (rel32 >> 8) & 0xFF;
+ entry[3] = (rel32 >> 16) & 0xFF;
+ entry[4] = (rel32 >> 24) & 0xFF;
+ installLazyHandler = false;
+ }
+ catch (const char* msg) {
+ // ignore errors when binding symbols early
+ // maybe the function is never called, and therefore erroring out now would be a regression
+ }
+ }
+ }
+ if ( installLazyHandler ) {
+ uint32_t rel32 = dyldHandler - (((uint32_t)entry)+5);
+ entry[0] = 0xE8; // CALL rel32
+ entry[1] = rel32 & 0xFF;
+ entry[2] = (rel32 >> 8) & 0xFF;
+ entry[3] = (rel32 >> 16) & 0xFF;
+ entry[4] = (rel32 >> 24) & 0xFF;
+ }
}
}
}
// if prebound and loaded at prebound address, and all libraries are same as when this was prebound, then no need to bind
if ( this->isPrebindable()
&& (this->getSlide() == 0)
- && this->usesTwoLevelNameSpace()
+ && (this->usesTwoLevelNameSpace() || context.prebinding)
&& this->allDependentLibrariesAsWhenPreBound() ) {
// allow environment variables to disable prebinding
if ( context.bindFlat )
for (const DependentLibrary* dl=fLibraries; dl < &fLibraries[fLibrariesCount]; dl++) {
if (strcmp(dl->name, name) == 0 ) {
// found matching DependentLibrary for this load command
- ImageLoaderMachO* targetImage = (ImageLoaderMachO*)(dl->image); // !!! assume only mach-o images are prebound
- if ( ! targetImage->isPrebindable() )
- throw "dependent dylib is not prebound";
- // if the target is currently being re-prebound then its timestamp will be the same as this one
- if ( ! targetImage->usablePrebinding(context) ) {
- dylib->dylib.timestamp = timestamp;
+ if ( dl->image == NULL ) {
+ // missing weak linked dylib
+ dylib->dylib.timestamp = 0;
}
else {
- // otherwise dependent library is already correctly prebound, so use its checksum
- dylib->dylib.timestamp = targetImage->doGetLibraryInfo().checksum;
+ ImageLoaderMachO* targetImage = (ImageLoaderMachO*)(dl->image); // !!! assume only mach-o images are prebound
+ if ( ! targetImage->isPrebindable() )
+ throw "dependent dylib is not prebound";
+ // if the target is currently being re-prebound then its timestamp will be the same as this one
+ if ( ! targetImage->usablePrebinding(context) ) {
+ dylib->dylib.timestamp = timestamp;
+ }
+ else {
+ // otherwise dependent library is already correctly prebound, so use its checksum
+ dylib->dylib.timestamp = targetImage->doGetLibraryInfo().checksum;
+ }
}
break;
}
if ( dyld::getImageCount() != 1 )
throw "_dyld_update_prebinding cannot be called with dylib already loaded";
- const uint32_t max_allowed_link_errors = 10;
+ // note that we are prebinding
+ dyld::gLinkContext.prebinding = true;
+
+ const uint32_t max_allowed_link_errors = 100;
uint32_t link_error_count = 0;
// load and link each dylib
stage = "link";
fprintf(stderr, "update_prebinding: warning: could not %s %s: %s\n", stage, paths[i], msg);
}
- if ( image != NULL )
+ if ( (image != NULL) && image->isPrebindable() ) // don't count top level dylib being unprebound as an error
link_error_count++;
- if ( link_error_count > max_allowed_link_errors )
- throw;
+ if ( link_error_count > max_allowed_link_errors ) {
+ fprintf(stderr, "update_prebinding: too many errors (%d) \n", link_error_count);
+ throw "terminating";
+ }
}
}
--- /dev/null
+##
+# Copyright (c) 2007 Apple Inc. All rights reserved.
+#
+# @APPLE_LICENSE_HEADER_START@
+#
+# This file contains Original Code and/or Modifications of Original Code
+# as defined in and that are subject to the Apple Public Source License
+# Version 2.0 (the 'License'). You may not use this file except in
+# compliance with the License. Please obtain a copy of the License at
+# http://www.opensource.apple.com/apsl/ and read it before using this
+# file.
+#
+# The Original Code and all software distributed under the License are
+# distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+# Please see the License for the specific language governing rights and
+# limitations under the License.
+#
+# @APPLE_LICENSE_HEADER_END@
+##
+TESTROOT = ../..
+include ${TESTROOT}/include/common.makefile
+
+run: all
+ ./main
+
+all: main libfoo.dylib
+
+###
+### Test that when i386 "fast stubs" are updated early to
+### avoid the cache line crossing race conditition, that
+### dynamically looked up functions around bound lazily
+###
+
+main: main.c libfoo.dylib
+ ${CC} ${CCFLAGS} -I${TESTROOT}/include -o main main.c -undefined dynamic_lookup
+
+libfoo.dylib: foo.c
+ ${CC} ${CCFLAGS} -dynamiclib foo.c -o libfoo.dylib
+
+
+clean:
+ ${RM} ${RMFLAGS} main libfoo.dylib
+
--- /dev/null
+#include "foo.h"
+
+void foo000(int p) {}
+void foo001(int p) {}
+void foo002(int p) {}
+void foo003(int p) {}
+void foo004(int p) {}
+void foo005(int p) {}
+void foo006(int p) {}
+void foo007(int p) {}
+void foo008(int p) {}
+void foo009(int p) {}
+void foo010(int p) {}
+void foo011(int p) {}
+void foo012(int p) {}
+void foo013(int p) {}
+void foo014(int p) {}
+void foo015(int p) {}
+void foo016(int p) {}
+void foo017(int p) {}
+void foo018(int p) {}
+void foo019(int p) {}
+void foo020(int p) {}
+void foo021(int p) {}
+void foo022(int p) {}
+void foo023(int p) {}
+void foo024(int p) {}
+void foo025(int p) {}
+void foo026(int p) {}
+void foo027(int p) {}
+void foo028(int p) {}
+void foo029(int p) {}
+void foo030(int p) {}
+void foo031(int p) {}
+void foo032(int p) {}
+void foo033(int p) {}
+void foo034(int p) {}
+void foo035(int p) {}
+void foo036(int p) {}
+void foo037(int p) {}
+void foo038(int p) {}
+void foo039(int p) {}
+void foo040(int p) {}
+void foo041(int p) {}
+void foo042(int p) {}
+void foo043(int p) {}
+void foo044(int p) {}
+void foo045(int p) {}
+void foo046(int p) {}
+void foo047(int p) {}
+void foo048(int p) {}
+void foo049(int p) {}
+void foo050(int p) {}
+void foo051(int p) {}
+void foo052(int p) {}
+void foo053(int p) {}
+void foo054(int p) {}
+void foo055(int p) {}
+void foo056(int p) {}
+void foo057(int p) {}
+void foo058(int p) {}
+void foo059(int p) {}
+void foo060(int p) {}
+void foo061(int p) {}
+void foo062(int p) {}
+void foo063(int p) {}
+void foo064(int p) {}
+void foo065(int p) {}
+void foo066(int p) {}
+void foo067(int p) {}
+void foo068(int p) {}
+void foo069(int p) {}
+void foo070(int p) {}
+void foo071(int p) {}
+void foo072(int p) {}
+void foo073(int p) {}
+void foo074(int p) {}
+void foo075(int p) {}
+void foo076(int p) {}
+void foo077(int p) {}
+void foo078(int p) {}
+void foo079(int p) {}
+void foo080(int p) {}
+void foo081(int p) {}
+void foo082(int p) {}
+void foo083(int p) {}
+void foo084(int p) {}
+void foo085(int p) {}
+void foo086(int p) {}
+void foo087(int p) {}
+void foo088(int p) {}
+void foo089(int p) {}
+void foo090(int p) {}
+void foo091(int p) {}
+void foo092(int p) {}
+void foo093(int p) {}
+void foo094(int p) {}
+void foo095(int p) {}
+void foo096(int p) {}
+void foo097(int p) {}
+void foo098(int p) {}
+void foo099(int p) {}
+void foo100(int p) {}
+void foo101(int p) {}
+void foo102(int p) {}
+void foo103(int p) {}
+void foo104(int p) {}
+void foo105(int p) {}
+void foo106(int p) {}
+void foo107(int p) {}
+void foo108(int p) {}
+void foo109(int p) {}
+void foo110(int p) {}
+void foo111(int p) {}
+void foo112(int p) {}
+void foo113(int p) {}
+void foo114(int p) {}
+void foo115(int p) {}
+void foo116(int p) {}
+void foo117(int p) {}
+void foo118(int p) {}
+void foo119(int p) {}
+void foo120(int p) {}
+void foo121(int p) {}
+void foo122(int p) {}
+void foo123(int p) {}
+void foo124(int p) {}
+void foo125(int p) {}
+void foo126(int p) {}
+void foo127(int p) {}
+void foo128(int p) {}
+void foo129(int p) {}
+void foo130(int p) {}
+void foo131(int p) {}
+void foo132(int p) {}
+void foo133(int p) {}
+void foo134(int p) {}
+void foo135(int p) {}
+void foo136(int p) {}
+void foo137(int p) {}
+void foo138(int p) {}
+void foo139(int p) {}
+void foo140(int p) {}
+void foo141(int p) {}
+void foo142(int p) {}
+void foo143(int p) {}
+void foo144(int p) {}
+void foo145(int p) {}
+void foo146(int p) {}
+void foo147(int p) {}
+void foo148(int p) {}
+void foo149(int p) {}
+void foo150(int p) {}
+void foo151(int p) {}
+void foo152(int p) {}
+void foo153(int p) {}
+void foo154(int p) {}
+void foo155(int p) {}
+void foo156(int p) {}
+void foo157(int p) {}
+void foo158(int p) {}
+void foo159(int p) {}
+void foo160(int p) {}
+void foo161(int p) {}
+void foo162(int p) {}
+void foo163(int p) {}
+void foo164(int p) {}
+void foo165(int p) {}
+void foo166(int p) {}
+void foo167(int p) {}
+void foo168(int p) {}
+void foo169(int p) {}
+void foo170(int p) {}
+void foo171(int p) {}
+void foo172(int p) {}
+void foo173(int p) {}
+void foo174(int p) {}
+void foo175(int p) {}
+void foo176(int p) {}
+void foo177(int p) {}
+void foo178(int p) {}
+void foo179(int p) {}
+void foo180(int p) {}
+void foo181(int p) {}
+void foo182(int p) {}
+void foo183(int p) {}
+void foo184(int p) {}
+void foo185(int p) {}
+void foo186(int p) {}
+void foo187(int p) {}
+void foo188(int p) {}
+void foo189(int p) {}
+void foo190(int p) {}
+void foo191(int p) {}
+void foo192(int p) {}
+void foo193(int p) {}
+void foo194(int p) {}
+void foo195(int p) {}
+void foo196(int p) {}
+void foo197(int p) {}
+void foo198(int p) {}
+void foo199(int p) {}
+void foo200(int p) {}
+void foo201(int p) {}
+void foo202(int p) {}
+void foo203(int p) {}
+void foo204(int p) {}
+void foo205(int p) {}
+void foo206(int p) {}
+void foo207(int p) {}
+void foo208(int p) {}
+void foo209(int p) {}
+void foo210(int p) {}
+void foo211(int p) {}
+void foo212(int p) {}
+void foo213(int p) {}
+void foo214(int p) {}
+void foo215(int p) {}
+void foo216(int p) {}
+void foo217(int p) {}
+void foo218(int p) {}
+void foo219(int p) {}
+void foo220(int p) {}
+void foo221(int p) {}
+void foo222(int p) {}
+void foo223(int p) {}
+void foo224(int p) {}
+void foo225(int p) {}
+void foo226(int p) {}
+void foo227(int p) {}
+void foo228(int p) {}
+void foo229(int p) {}
+void foo230(int p) {}
+void foo231(int p) {}
+void foo232(int p) {}
+void foo233(int p) {}
+void foo234(int p) {}
+void foo235(int p) {}
+void foo236(int p) {}
+void foo237(int p) {}
+void foo238(int p) {}
+void foo239(int p) {}
+void foo240(int p) {}
+void foo241(int p) {}
+void foo242(int p) {}
+void foo243(int p) {}
+void foo244(int p) {}
+void foo245(int p) {}
+void foo246(int p) {}
+void foo247(int p) {}
+void foo248(int p) {}
+void foo249(int p) {}
+void foo250(int p) {}
+void foo251(int p) {}
+void foo252(int p) {}
+void foo253(int p) {}
+void foo254(int p) {}
+void foo255(int p) {}
+void foo256(int p) {}
+void foo257(int p) {}
+void foo258(int p) {}
+void foo259(int p) {}
+void foo260(int p) {}
+void foo261(int p) {}
+void foo262(int p) {}
+void foo263(int p) {}
+void foo264(int p) {}
+void foo265(int p) {}
+void foo266(int p) {}
+void foo267(int p) {}
+void foo268(int p) {}
+void foo269(int p) {}
+void foo270(int p) {}
+void foo271(int p) {}
+void foo272(int p) {}
+void foo273(int p) {}
+void foo274(int p) {}
+void foo275(int p) {}
+void foo276(int p) {}
+void foo277(int p) {}
+void foo278(int p) {}
+void foo279(int p) {}
+void foo280(int p) {}
+void foo281(int p) {}
+void foo282(int p) {}
+void foo283(int p) {}
+void foo284(int p) {}
+void foo285(int p) {}
+void foo286(int p) {}
+void foo287(int p) {}
+void foo288(int p) {}
+void foo289(int p) {}
+void foo290(int p) {}
+void foo291(int p) {}
+void foo292(int p) {}
+void foo293(int p) {}
+void foo294(int p) {}
+void foo295(int p) {}
+void foo296(int p) {}
+void foo297(int p) {}
+void foo298(int p) {}
+void foo299(int p) {}
+void foo300(int p) {}
+void foo301(int p) {}
+void foo302(int p) {}
+void foo303(int p) {}
+void foo304(int p) {}
+void foo305(int p) {}
+void foo306(int p) {}
+void foo307(int p) {}
+void foo308(int p) {}
+void foo309(int p) {}
+void foo310(int p) {}
+void foo311(int p) {}
+void foo312(int p) {}
+void foo313(int p) {}
+void foo314(int p) {}
+void foo315(int p) {}
+void foo316(int p) {}
+void foo317(int p) {}
+void foo318(int p) {}
+void foo319(int p) {}
+void foo320(int p) {}
+void foo321(int p) {}
+void foo322(int p) {}
+void foo323(int p) {}
+void foo324(int p) {}
+void foo325(int p) {}
+void foo326(int p) {}
+void foo327(int p) {}
+void foo328(int p) {}
+void foo329(int p) {}
+void foo330(int p) {}
+void foo331(int p) {}
+void foo332(int p) {}
+void foo333(int p) {}
+void foo334(int p) {}
+void foo335(int p) {}
+void foo336(int p) {}
+void foo337(int p) {}
+void foo338(int p) {}
+void foo339(int p) {}
+void foo340(int p) {}
+void foo341(int p) {}
+void foo342(int p) {}
+void foo343(int p) {}
+void foo344(int p) {}
+void foo345(int p) {}
+void foo346(int p) {}
+void foo347(int p) {}
+void foo348(int p) {}
+void foo349(int p) {}
+void foo350(int p) {}
+void foo351(int p) {}
+void foo352(int p) {}
+void foo353(int p) {}
+void foo354(int p) {}
+void foo355(int p) {}
+void foo356(int p) {}
+void foo357(int p) {}
+void foo358(int p) {}
+void foo359(int p) {}
+void foo360(int p) {}
+void foo361(int p) {}
+void foo362(int p) {}
+void foo363(int p) {}
+void foo364(int p) {}
+void foo365(int p) {}
+void foo366(int p) {}
+void foo367(int p) {}
+void foo368(int p) {}
+void foo369(int p) {}
+void foo370(int p) {}
+void foo371(int p) {}
+void foo372(int p) {}
+void foo373(int p) {}
+void foo374(int p) {}
+void foo375(int p) {}
+void foo376(int p) {}
+void foo377(int p) {}
+void foo378(int p) {}
+void foo379(int p) {}
+void foo380(int p) {}
+void foo381(int p) {}
+void foo382(int p) {}
+void foo383(int p) {}
+void foo384(int p) {}
+void foo385(int p) {}
+void foo386(int p) {}
+void foo387(int p) {}
+void foo388(int p) {}
+void foo389(int p) {}
+void foo390(int p) {}
+void foo391(int p) {}
+void foo392(int p) {}
+void foo393(int p) {}
+void foo394(int p) {}
+void foo395(int p) {}
+void foo396(int p) {}
+void foo397(int p) {}
+void foo398(int p) {}
+void foo399(int p) {}
+void foo400(int p) {}
+void foo401(int p) {}
+void foo402(int p) {}
+void foo403(int p) {}
+void foo404(int p) {}
+void foo405(int p) {}
+void foo406(int p) {}
+void foo407(int p) {}
+void foo408(int p) {}
+void foo409(int p) {}
+void foo410(int p) {}
+void foo411(int p) {}
+void foo412(int p) {}
+void foo413(int p) {}
+void foo414(int p) {}
+void foo415(int p) {}
+void foo416(int p) {}
+void foo417(int p) {}
+void foo418(int p) {}
+void foo419(int p) {}
+void foo420(int p) {}
+void foo421(int p) {}
+void foo422(int p) {}
+void foo423(int p) {}
+void foo424(int p) {}
+void foo425(int p) {}
+void foo426(int p) {}
+void foo427(int p) {}
+void foo428(int p) {}
+void foo429(int p) {}
+void foo430(int p) {}
+void foo431(int p) {}
+void foo432(int p) {}
+void foo433(int p) {}
+void foo434(int p) {}
+void foo435(int p) {}
+void foo436(int p) {}
+void foo437(int p) {}
+void foo438(int p) {}
+void foo439(int p) {}
+void foo440(int p) {}
+void foo441(int p) {}
+void foo442(int p) {}
+void foo443(int p) {}
+void foo444(int p) {}
+void foo445(int p) {}
+void foo446(int p) {}
+void foo447(int p) {}
+void foo448(int p) {}
+void foo449(int p) {}
+void foo450(int p) {}
+void foo451(int p) {}
+void foo452(int p) {}
+void foo453(int p) {}
+void foo454(int p) {}
+void foo455(int p) {}
+void foo456(int p) {}
+void foo457(int p) {}
+void foo458(int p) {}
+void foo459(int p) {}
+void foo460(int p) {}
+void foo461(int p) {}
+void foo462(int p) {}
+void foo463(int p) {}
+void foo464(int p) {}
+void foo465(int p) {}
+void foo466(int p) {}
+void foo467(int p) {}
+void foo468(int p) {}
+void foo469(int p) {}
+void foo470(int p) {}
+void foo471(int p) {}
+void foo472(int p) {}
+void foo473(int p) {}
+void foo474(int p) {}
+void foo475(int p) {}
+void foo476(int p) {}
+void foo477(int p) {}
+void foo478(int p) {}
+void foo479(int p) {}
+void foo480(int p) {}
+void foo481(int p) {}
+void foo482(int p) {}
+void foo483(int p) {}
+void foo484(int p) {}
+void foo485(int p) {}
+void foo486(int p) {}
+void foo487(int p) {}
+void foo488(int p) {}
+void foo489(int p) {}
+void foo490(int p) {}
+void foo491(int p) {}
+void foo492(int p) {}
+void foo493(int p) {}
+void foo494(int p) {}
+void foo495(int p) {}
+void foo496(int p) {}
+void foo497(int p) {}
+void foo498(int p) {}
+void foo499(int p) {}
+void foo500(int p) {}
+void foo501(int p) {}
+void foo502(int p) {}
+void foo503(int p) {}
+void foo504(int p) {}
+void foo505(int p) {}
+void foo506(int p) {}
+void foo507(int p) {}
+void foo508(int p) {}
+void foo509(int p) {}
+void foo510(int p) {}
+void foo511(int p) {}
+void foo512(int p) {}
+void foo513(int p) {}
+void foo514(int p) {}
+void foo515(int p) {}
+void foo516(int p) {}
+void foo517(int p) {}
+void foo518(int p) {}
+void foo519(int p) {}
+void foo520(int p) {}
+void foo521(int p) {}
+void foo522(int p) {}
+void foo523(int p) {}
+void foo524(int p) {}
+void foo525(int p) {}
+void foo526(int p) {}
+void foo527(int p) {}
+void foo528(int p) {}
+void foo529(int p) {}
+void foo530(int p) {}
+void foo531(int p) {}
+void foo532(int p) {}
+void foo533(int p) {}
+void foo534(int p) {}
+void foo535(int p) {}
+void foo536(int p) {}
+void foo537(int p) {}
+void foo538(int p) {}
+void foo539(int p) {}
+void foo540(int p) {}
+void foo541(int p) {}
+void foo542(int p) {}
+void foo543(int p) {}
+void foo544(int p) {}
+void foo545(int p) {}
+void foo546(int p) {}
+void foo547(int p) {}
+void foo548(int p) {}
+void foo549(int p) {}
+void foo550(int p) {}
+void foo551(int p) {}
+void foo552(int p) {}
+void foo553(int p) {}
+void foo554(int p) {}
+void foo555(int p) {}
+void foo556(int p) {}
+void foo557(int p) {}
+void foo558(int p) {}
+void foo559(int p) {}
+void foo560(int p) {}
+void foo561(int p) {}
+void foo562(int p) {}
+void foo563(int p) {}
+void foo564(int p) {}
+void foo565(int p) {}
+void foo566(int p) {}
+void foo567(int p) {}
+void foo568(int p) {}
+void foo569(int p) {}
+void foo570(int p) {}
+void foo571(int p) {}
+void foo572(int p) {}
+void foo573(int p) {}
+void foo574(int p) {}
+void foo575(int p) {}
+void foo576(int p) {}
+void foo577(int p) {}
+void foo578(int p) {}
+void foo579(int p) {}
+void foo580(int p) {}
+void foo581(int p) {}
+void foo582(int p) {}
+void foo583(int p) {}
+void foo584(int p) {}
+void foo585(int p) {}
+void foo586(int p) {}
+void foo587(int p) {}
+void foo588(int p) {}
+void foo589(int p) {}
+void foo590(int p) {}
+void foo591(int p) {}
+void foo592(int p) {}
+void foo593(int p) {}
+void foo594(int p) {}
+void foo595(int p) {}
+void foo596(int p) {}
+void foo597(int p) {}
+void foo598(int p) {}
+void foo599(int p) {}
+void foo600(int p) {}
+void foo601(int p) {}
+void foo602(int p) {}
+void foo603(int p) {}
+void foo604(int p) {}
+void foo605(int p) {}
+void foo606(int p) {}
+void foo607(int p) {}
+void foo608(int p) {}
+void foo609(int p) {}
+void foo610(int p) {}
+void foo611(int p) {}
+void foo612(int p) {}
+void foo613(int p) {}
+void foo614(int p) {}
+void foo615(int p) {}
+void foo616(int p) {}
+void foo617(int p) {}
+void foo618(int p) {}
+void foo619(int p) {}
+void foo620(int p) {}
+void foo621(int p) {}
+void foo622(int p) {}
+void foo623(int p) {}
+void foo624(int p) {}
+void foo625(int p) {}
+void foo626(int p) {}
+void foo627(int p) {}
+void foo628(int p) {}
+void foo629(int p) {}
+void foo630(int p) {}
+void foo631(int p) {}
+void foo632(int p) {}
+void foo633(int p) {}
+void foo634(int p) {}
+void foo635(int p) {}
+void foo636(int p) {}
+void foo637(int p) {}
+void foo638(int p) {}
+void foo639(int p) {}
+void foo640(int p) {}
+void foo641(int p) {}
+void foo642(int p) {}
+void foo643(int p) {}
+void foo644(int p) {}
+void foo645(int p) {}
+void foo646(int p) {}
+void foo647(int p) {}
+void foo648(int p) {}
+void foo649(int p) {}
+void foo650(int p) {}
+void foo651(int p) {}
+void foo652(int p) {}
+void foo653(int p) {}
+void foo654(int p) {}
+void foo655(int p) {}
+void foo656(int p) {}
+void foo657(int p) {}
+void foo658(int p) {}
+void foo659(int p) {}
+void foo660(int p) {}
+void foo661(int p) {}
+void foo662(int p) {}
+void foo663(int p) {}
+void foo664(int p) {}
+void foo665(int p) {}
+void foo666(int p) {}
+void foo667(int p) {}
+void foo668(int p) {}
+void foo669(int p) {}
+void foo670(int p) {}
+void foo671(int p) {}
+void foo672(int p) {}
+void foo673(int p) {}
+void foo674(int p) {}
+void foo675(int p) {}
+void foo676(int p) {}
+void foo677(int p) {}
+void foo678(int p) {}
+void foo679(int p) {}
+void foo680(int p) {}
+void foo681(int p) {}
+void foo682(int p) {}
+void foo683(int p) {}
+void foo684(int p) {}
+void foo685(int p) {}
+void foo686(int p) {}
+void foo687(int p) {}
+void foo688(int p) {}
+void foo689(int p) {}
+void foo690(int p) {}
+void foo691(int p) {}
+void foo692(int p) {}
+void foo693(int p) {}
+void foo694(int p) {}
+void foo695(int p) {}
+void foo696(int p) {}
+void foo697(int p) {}
+void foo698(int p) {}
+void foo699(int p) {}
+void foo700(int p) {}
+void foo701(int p) {}
+void foo702(int p) {}
+void foo703(int p) {}
+void foo704(int p) {}
+void foo705(int p) {}
+void foo706(int p) {}
+void foo707(int p) {}
+void foo708(int p) {}
+void foo709(int p) {}
+void foo710(int p) {}
+void foo711(int p) {}
+void foo712(int p) {}
+void foo713(int p) {}
+void foo714(int p) {}
+void foo715(int p) {}
+void foo716(int p) {}
+void foo717(int p) {}
+void foo718(int p) {}
+void foo719(int p) {}
+void foo720(int p) {}
+void foo721(int p) {}
+void foo722(int p) {}
+void foo723(int p) {}
+void foo724(int p) {}
+void foo725(int p) {}
+void foo726(int p) {}
+void foo727(int p) {}
+void foo728(int p) {}
+void foo729(int p) {}
+void foo730(int p) {}
+void foo731(int p) {}
+void foo732(int p) {}
+void foo733(int p) {}
+void foo734(int p) {}
+void foo735(int p) {}
+void foo736(int p) {}
+void foo737(int p) {}
+void foo738(int p) {}
+void foo739(int p) {}
+void foo740(int p) {}
+void foo741(int p) {}
+void foo742(int p) {}
+void foo743(int p) {}
+void foo744(int p) {}
+void foo745(int p) {}
+void foo746(int p) {}
+void foo747(int p) {}
+void foo748(int p) {}
+void foo749(int p) {}
+void foo750(int p) {}
+void foo751(int p) {}
+void foo752(int p) {}
+void foo753(int p) {}
+void foo754(int p) {}
+void foo755(int p) {}
+void foo756(int p) {}
+void foo757(int p) {}
+void foo758(int p) {}
+void foo759(int p) {}
+void foo760(int p) {}
+void foo761(int p) {}
+void foo762(int p) {}
+void foo763(int p) {}
+void foo764(int p) {}
+void foo765(int p) {}
+void foo766(int p) {}
+void foo767(int p) {}
+void foo768(int p) {}
+void foo769(int p) {}
+void foo770(int p) {}
+void foo771(int p) {}
+void foo772(int p) {}
+void foo773(int p) {}
+void foo774(int p) {}
+void foo775(int p) {}
+void foo776(int p) {}
+void foo777(int p) {}
+void foo778(int p) {}
+void foo779(int p) {}
+void foo780(int p) {}
+void foo781(int p) {}
+void foo782(int p) {}
+void foo783(int p) {}
+void foo784(int p) {}
+void foo785(int p) {}
+void foo786(int p) {}
+void foo787(int p) {}
+void foo788(int p) {}
+void foo789(int p) {}
+void foo790(int p) {}
+void foo791(int p) {}
+void foo792(int p) {}
+void foo793(int p) {}
+void foo794(int p) {}
+void foo795(int p) {}
+void foo796(int p) {}
+void foo797(int p) {}
+void foo798(int p) {}
+void foo799(int p) {}
+void foo800(int p) {}
+void foo801(int p) {}
+void foo802(int p) {}
+void foo803(int p) {}
+void foo804(int p) {}
+void foo805(int p) {}
+void foo806(int p) {}
+void foo807(int p) {}
+void foo808(int p) {}
+void foo809(int p) {}
+void foo810(int p) {}
+void foo811(int p) {}
+void foo812(int p) {}
+void foo813(int p) {}
+void foo814(int p) {}
+void foo815(int p) {}
+void foo816(int p) {}
+void foo817(int p) {}
+void foo818(int p) {}
+void foo819(int p) {}
+void foo820(int p) {}
+void foo821(int p) {}
+void foo822(int p) {}
+void foo823(int p) {}
+void foo824(int p) {}
--- /dev/null
+extern void foo000(int);
+extern void foo001(int);
+extern void foo002(int);
+extern void foo003(int);
+extern void foo004(int);
+extern void foo005(int);
+extern void foo006(int);
+extern void foo007(int);
+extern void foo008(int);
+extern void foo009(int);
+extern void foo010(int);
+extern void foo011(int);
+extern void foo012(int);
+extern void foo013(int);
+extern void foo014(int);
+extern void foo015(int);
+extern void foo016(int);
+extern void foo017(int);
+extern void foo018(int);
+extern void foo019(int);
+extern void foo020(int);
+extern void foo021(int);
+extern void foo022(int);
+extern void foo023(int);
+extern void foo024(int);
+extern void foo025(int);
+extern void foo026(int);
+extern void foo027(int);
+extern void foo028(int);
+extern void foo029(int);
+extern void foo030(int);
+extern void foo031(int);
+extern void foo032(int);
+extern void foo033(int);
+extern void foo034(int);
+extern void foo035(int);
+extern void foo036(int);
+extern void foo037(int);
+extern void foo038(int);
+extern void foo039(int);
+extern void foo040(int);
+extern void foo041(int);
+extern void foo042(int);
+extern void foo043(int);
+extern void foo044(int);
+extern void foo045(int);
+extern void foo046(int);
+extern void foo047(int);
+extern void foo048(int);
+extern void foo049(int);
+extern void foo050(int);
+extern void foo051(int);
+extern void foo052(int);
+extern void foo053(int);
+extern void foo054(int);
+extern void foo055(int);
+extern void foo056(int);
+extern void foo057(int);
+extern void foo058(int);
+extern void foo059(int);
+extern void foo060(int);
+extern void foo061(int);
+extern void foo062(int);
+extern void foo063(int);
+extern void foo064(int);
+extern void foo065(int);
+extern void foo066(int);
+extern void foo067(int);
+extern void foo068(int);
+extern void foo069(int);
+extern void foo070(int);
+extern void foo071(int);
+extern void foo072(int);
+extern void foo073(int);
+extern void foo074(int);
+extern void foo075(int);
+extern void foo076(int);
+extern void foo077(int);
+extern void foo078(int);
+extern void foo079(int);
+extern void foo080(int);
+extern void foo081(int);
+extern void foo082(int);
+extern void foo083(int);
+extern void foo084(int);
+extern void foo085(int);
+extern void foo086(int);
+extern void foo087(int);
+extern void foo088(int);
+extern void foo089(int);
+extern void foo090(int);
+extern void foo091(int);
+extern void foo092(int);
+extern void foo093(int);
+extern void foo094(int);
+extern void foo095(int);
+extern void foo096(int);
+extern void foo097(int);
+extern void foo098(int);
+extern void foo099(int);
+extern void foo100(int);
+extern void foo101(int);
+extern void foo102(int);
+extern void foo103(int);
+extern void foo104(int);
+extern void foo105(int);
+extern void foo106(int);
+extern void foo107(int);
+extern void foo108(int);
+extern void foo109(int);
+extern void foo110(int);
+extern void foo111(int);
+extern void foo112(int);
+extern void foo113(int);
+extern void foo114(int);
+extern void foo115(int);
+extern void foo116(int);
+extern void foo117(int);
+extern void foo118(int);
+extern void foo119(int);
+extern void foo120(int);
+extern void foo121(int);
+extern void foo122(int);
+extern void foo123(int);
+extern void foo124(int);
+extern void foo125(int);
+extern void foo126(int);
+extern void foo127(int);
+extern void foo128(int);
+extern void foo129(int);
+extern void foo130(int);
+extern void foo131(int);
+extern void foo132(int);
+extern void foo133(int);
+extern void foo134(int);
+extern void foo135(int);
+extern void foo136(int);
+extern void foo137(int);
+extern void foo138(int);
+extern void foo139(int);
+extern void foo140(int);
+extern void foo141(int);
+extern void foo142(int);
+extern void foo143(int);
+extern void foo144(int);
+extern void foo145(int);
+extern void foo146(int);
+extern void foo147(int);
+extern void foo148(int);
+extern void foo149(int);
+extern void foo150(int);
+extern void foo151(int);
+extern void foo152(int);
+extern void foo153(int);
+extern void foo154(int);
+extern void foo155(int);
+extern void foo156(int);
+extern void foo157(int);
+extern void foo158(int);
+extern void foo159(int);
+extern void foo160(int);
+extern void foo161(int);
+extern void foo162(int);
+extern void foo163(int);
+extern void foo164(int);
+extern void foo165(int);
+extern void foo166(int);
+extern void foo167(int);
+extern void foo168(int);
+extern void foo169(int);
+extern void foo170(int);
+extern void foo171(int);
+extern void foo172(int);
+extern void foo173(int);
+extern void foo174(int);
+extern void foo175(int);
+extern void foo176(int);
+extern void foo177(int);
+extern void foo178(int);
+extern void foo179(int);
+extern void foo180(int);
+extern void foo181(int);
+extern void foo182(int);
+extern void foo183(int);
+extern void foo184(int);
+extern void foo185(int);
+extern void foo186(int);
+extern void foo187(int);
+extern void foo188(int);
+extern void foo189(int);
+extern void foo190(int);
+extern void foo191(int);
+extern void foo192(int);
+extern void foo193(int);
+extern void foo194(int);
+extern void foo195(int);
+extern void foo196(int);
+extern void foo197(int);
+extern void foo198(int);
+extern void foo199(int);
+extern void foo200(int);
+extern void foo201(int);
+extern void foo202(int);
+extern void foo203(int);
+extern void foo204(int);
+extern void foo205(int);
+extern void foo206(int);
+extern void foo207(int);
+extern void foo208(int);
+extern void foo209(int);
+extern void foo210(int);
+extern void foo211(int);
+extern void foo212(int);
+extern void foo213(int);
+extern void foo214(int);
+extern void foo215(int);
+extern void foo216(int);
+extern void foo217(int);
+extern void foo218(int);
+extern void foo219(int);
+extern void foo220(int);
+extern void foo221(int);
+extern void foo222(int);
+extern void foo223(int);
+extern void foo224(int);
+extern void foo225(int);
+extern void foo226(int);
+extern void foo227(int);
+extern void foo228(int);
+extern void foo229(int);
+extern void foo230(int);
+extern void foo231(int);
+extern void foo232(int);
+extern void foo233(int);
+extern void foo234(int);
+extern void foo235(int);
+extern void foo236(int);
+extern void foo237(int);
+extern void foo238(int);
+extern void foo239(int);
+extern void foo240(int);
+extern void foo241(int);
+extern void foo242(int);
+extern void foo243(int);
+extern void foo244(int);
+extern void foo245(int);
+extern void foo246(int);
+extern void foo247(int);
+extern void foo248(int);
+extern void foo249(int);
+extern void foo250(int);
+extern void foo251(int);
+extern void foo252(int);
+extern void foo253(int);
+extern void foo254(int);
+extern void foo255(int);
+extern void foo256(int);
+extern void foo257(int);
+extern void foo258(int);
+extern void foo259(int);
+extern void foo260(int);
+extern void foo261(int);
+extern void foo262(int);
+extern void foo263(int);
+extern void foo264(int);
+extern void foo265(int);
+extern void foo266(int);
+extern void foo267(int);
+extern void foo268(int);
+extern void foo269(int);
+extern void foo270(int);
+extern void foo271(int);
+extern void foo272(int);
+extern void foo273(int);
+extern void foo274(int);
+extern void foo275(int);
+extern void foo276(int);
+extern void foo277(int);
+extern void foo278(int);
+extern void foo279(int);
+extern void foo280(int);
+extern void foo281(int);
+extern void foo282(int);
+extern void foo283(int);
+extern void foo284(int);
+extern void foo285(int);
+extern void foo286(int);
+extern void foo287(int);
+extern void foo288(int);
+extern void foo289(int);
+extern void foo290(int);
+extern void foo291(int);
+extern void foo292(int);
+extern void foo293(int);
+extern void foo294(int);
+extern void foo295(int);
+extern void foo296(int);
+extern void foo297(int);
+extern void foo298(int);
+extern void foo299(int);
+extern void foo300(int);
+extern void foo301(int);
+extern void foo302(int);
+extern void foo303(int);
+extern void foo304(int);
+extern void foo305(int);
+extern void foo306(int);
+extern void foo307(int);
+extern void foo308(int);
+extern void foo309(int);
+extern void foo310(int);
+extern void foo311(int);
+extern void foo312(int);
+extern void foo313(int);
+extern void foo314(int);
+extern void foo315(int);
+extern void foo316(int);
+extern void foo317(int);
+extern void foo318(int);
+extern void foo319(int);
+extern void foo320(int);
+extern void foo321(int);
+extern void foo322(int);
+extern void foo323(int);
+extern void foo324(int);
+extern void foo325(int);
+extern void foo326(int);
+extern void foo327(int);
+extern void foo328(int);
+extern void foo329(int);
+extern void foo330(int);
+extern void foo331(int);
+extern void foo332(int);
+extern void foo333(int);
+extern void foo334(int);
+extern void foo335(int);
+extern void foo336(int);
+extern void foo337(int);
+extern void foo338(int);
+extern void foo339(int);
+extern void foo340(int);
+extern void foo341(int);
+extern void foo342(int);
+extern void foo343(int);
+extern void foo344(int);
+extern void foo345(int);
+extern void foo346(int);
+extern void foo347(int);
+extern void foo348(int);
+extern void foo349(int);
+extern void foo350(int);
+extern void foo351(int);
+extern void foo352(int);
+extern void foo353(int);
+extern void foo354(int);
+extern void foo355(int);
+extern void foo356(int);
+extern void foo357(int);
+extern void foo358(int);
+extern void foo359(int);
+extern void foo360(int);
+extern void foo361(int);
+extern void foo362(int);
+extern void foo363(int);
+extern void foo364(int);
+extern void foo365(int);
+extern void foo366(int);
+extern void foo367(int);
+extern void foo368(int);
+extern void foo369(int);
+extern void foo370(int);
+extern void foo371(int);
+extern void foo372(int);
+extern void foo373(int);
+extern void foo374(int);
+extern void foo375(int);
+extern void foo376(int);
+extern void foo377(int);
+extern void foo378(int);
+extern void foo379(int);
+extern void foo380(int);
+extern void foo381(int);
+extern void foo382(int);
+extern void foo383(int);
+extern void foo384(int);
+extern void foo385(int);
+extern void foo386(int);
+extern void foo387(int);
+extern void foo388(int);
+extern void foo389(int);
+extern void foo390(int);
+extern void foo391(int);
+extern void foo392(int);
+extern void foo393(int);
+extern void foo394(int);
+extern void foo395(int);
+extern void foo396(int);
+extern void foo397(int);
+extern void foo398(int);
+extern void foo399(int);
+extern void foo400(int);
+extern void foo401(int);
+extern void foo402(int);
+extern void foo403(int);
+extern void foo404(int);
+extern void foo405(int);
+extern void foo406(int);
+extern void foo407(int);
+extern void foo408(int);
+extern void foo409(int);
+extern void foo410(int);
+extern void foo411(int);
+extern void foo412(int);
+extern void foo413(int);
+extern void foo414(int);
+extern void foo415(int);
+extern void foo416(int);
+extern void foo417(int);
+extern void foo418(int);
+extern void foo419(int);
+extern void foo420(int);
+extern void foo421(int);
+extern void foo422(int);
+extern void foo423(int);
+extern void foo424(int);
+extern void foo425(int);
+extern void foo426(int);
+extern void foo427(int);
+extern void foo428(int);
+extern void foo429(int);
+extern void foo430(int);
+extern void foo431(int);
+extern void foo432(int);
+extern void foo433(int);
+extern void foo434(int);
+extern void foo435(int);
+extern void foo436(int);
+extern void foo437(int);
+extern void foo438(int);
+extern void foo439(int);
+extern void foo440(int);
+extern void foo441(int);
+extern void foo442(int);
+extern void foo443(int);
+extern void foo444(int);
+extern void foo445(int);
+extern void foo446(int);
+extern void foo447(int);
+extern void foo448(int);
+extern void foo449(int);
+extern void foo450(int);
+extern void foo451(int);
+extern void foo452(int);
+extern void foo453(int);
+extern void foo454(int);
+extern void foo455(int);
+extern void foo456(int);
+extern void foo457(int);
+extern void foo458(int);
+extern void foo459(int);
+extern void foo460(int);
+extern void foo461(int);
+extern void foo462(int);
+extern void foo463(int);
+extern void foo464(int);
+extern void foo465(int);
+extern void foo466(int);
+extern void foo467(int);
+extern void foo468(int);
+extern void foo469(int);
+extern void foo470(int);
+extern void foo471(int);
+extern void foo472(int);
+extern void foo473(int);
+extern void foo474(int);
+extern void foo475(int);
+extern void foo476(int);
+extern void foo477(int);
+extern void foo478(int);
+extern void foo479(int);
+extern void foo480(int);
+extern void foo481(int);
+extern void foo482(int);
+extern void foo483(int);
+extern void foo484(int);
+extern void foo485(int);
+extern void foo486(int);
+extern void foo487(int);
+extern void foo488(int);
+extern void foo489(int);
+extern void foo490(int);
+extern void foo491(int);
+extern void foo492(int);
+extern void foo493(int);
+extern void foo494(int);
+extern void foo495(int);
+extern void foo496(int);
+extern void foo497(int);
+extern void foo498(int);
+extern void foo499(int);
+extern void foo500(int);
+extern void foo501(int);
+extern void foo502(int);
+extern void foo503(int);
+extern void foo504(int);
+extern void foo505(int);
+extern void foo506(int);
+extern void foo507(int);
+extern void foo508(int);
+extern void foo509(int);
+extern void foo510(int);
+extern void foo511(int);
+extern void foo512(int);
+extern void foo513(int);
+extern void foo514(int);
+extern void foo515(int);
+extern void foo516(int);
+extern void foo517(int);
+extern void foo518(int);
+extern void foo519(int);
+extern void foo520(int);
+extern void foo521(int);
+extern void foo522(int);
+extern void foo523(int);
+extern void foo524(int);
+extern void foo525(int);
+extern void foo526(int);
+extern void foo527(int);
+extern void foo528(int);
+extern void foo529(int);
+extern void foo530(int);
+extern void foo531(int);
+extern void foo532(int);
+extern void foo533(int);
+extern void foo534(int);
+extern void foo535(int);
+extern void foo536(int);
+extern void foo537(int);
+extern void foo538(int);
+extern void foo539(int);
+extern void foo540(int);
+extern void foo541(int);
+extern void foo542(int);
+extern void foo543(int);
+extern void foo544(int);
+extern void foo545(int);
+extern void foo546(int);
+extern void foo547(int);
+extern void foo548(int);
+extern void foo549(int);
+extern void foo550(int);
+extern void foo551(int);
+extern void foo552(int);
+extern void foo553(int);
+extern void foo554(int);
+extern void foo555(int);
+extern void foo556(int);
+extern void foo557(int);
+extern void foo558(int);
+extern void foo559(int);
+extern void foo560(int);
+extern void foo561(int);
+extern void foo562(int);
+extern void foo563(int);
+extern void foo564(int);
+extern void foo565(int);
+extern void foo566(int);
+extern void foo567(int);
+extern void foo568(int);
+extern void foo569(int);
+extern void foo570(int);
+extern void foo571(int);
+extern void foo572(int);
+extern void foo573(int);
+extern void foo574(int);
+extern void foo575(int);
+extern void foo576(int);
+extern void foo577(int);
+extern void foo578(int);
+extern void foo579(int);
+extern void foo580(int);
+extern void foo581(int);
+extern void foo582(int);
+extern void foo583(int);
+extern void foo584(int);
+extern void foo585(int);
+extern void foo586(int);
+extern void foo587(int);
+extern void foo588(int);
+extern void foo589(int);
+extern void foo590(int);
+extern void foo591(int);
+extern void foo592(int);
+extern void foo593(int);
+extern void foo594(int);
+extern void foo595(int);
+extern void foo596(int);
+extern void foo597(int);
+extern void foo598(int);
+extern void foo599(int);
+extern void foo600(int);
+extern void foo601(int);
+extern void foo602(int);
+extern void foo603(int);
+extern void foo604(int);
+extern void foo605(int);
+extern void foo606(int);
+extern void foo607(int);
+extern void foo608(int);
+extern void foo609(int);
+extern void foo610(int);
+extern void foo611(int);
+extern void foo612(int);
+extern void foo613(int);
+extern void foo614(int);
+extern void foo615(int);
+extern void foo616(int);
+extern void foo617(int);
+extern void foo618(int);
+extern void foo619(int);
+extern void foo620(int);
+extern void foo621(int);
+extern void foo622(int);
+extern void foo623(int);
+extern void foo624(int);
+extern void foo625(int);
+extern void foo626(int);
+extern void foo627(int);
+extern void foo628(int);
+extern void foo629(int);
+extern void foo630(int);
+extern void foo631(int);
+extern void foo632(int);
+extern void foo633(int);
+extern void foo634(int);
+extern void foo635(int);
+extern void foo636(int);
+extern void foo637(int);
+extern void foo638(int);
+extern void foo639(int);
+extern void foo640(int);
+extern void foo641(int);
+extern void foo642(int);
+extern void foo643(int);
+extern void foo644(int);
+extern void foo645(int);
+extern void foo646(int);
+extern void foo647(int);
+extern void foo648(int);
+extern void foo649(int);
+extern void foo650(int);
+extern void foo651(int);
+extern void foo652(int);
+extern void foo653(int);
+extern void foo654(int);
+extern void foo655(int);
+extern void foo656(int);
+extern void foo657(int);
+extern void foo658(int);
+extern void foo659(int);
+extern void foo660(int);
+extern void foo661(int);
+extern void foo662(int);
+extern void foo663(int);
+extern void foo664(int);
+extern void foo665(int);
+extern void foo666(int);
+extern void foo667(int);
+extern void foo668(int);
+extern void foo669(int);
+extern void foo670(int);
+extern void foo671(int);
+extern void foo672(int);
+extern void foo673(int);
+extern void foo674(int);
+extern void foo675(int);
+extern void foo676(int);
+extern void foo677(int);
+extern void foo678(int);
+extern void foo679(int);
+extern void foo680(int);
+extern void foo681(int);
+extern void foo682(int);
+extern void foo683(int);
+extern void foo684(int);
+extern void foo685(int);
+extern void foo686(int);
+extern void foo687(int);
+extern void foo688(int);
+extern void foo689(int);
+extern void foo690(int);
+extern void foo691(int);
+extern void foo692(int);
+extern void foo693(int);
+extern void foo694(int);
+extern void foo695(int);
+extern void foo696(int);
+extern void foo697(int);
+extern void foo698(int);
+extern void foo699(int);
+extern void foo700(int);
+extern void foo701(int);
+extern void foo702(int);
+extern void foo703(int);
+extern void foo704(int);
+extern void foo705(int);
+extern void foo706(int);
+extern void foo707(int);
+extern void foo708(int);
+extern void foo709(int);
+extern void foo710(int);
+extern void foo711(int);
+extern void foo712(int);
+extern void foo713(int);
+extern void foo714(int);
+extern void foo715(int);
+extern void foo716(int);
+extern void foo717(int);
+extern void foo718(int);
+extern void foo719(int);
+extern void foo720(int);
+extern void foo721(int);
+extern void foo722(int);
+extern void foo723(int);
+extern void foo724(int);
+extern void foo725(int);
+extern void foo726(int);
+extern void foo727(int);
+extern void foo728(int);
+extern void foo729(int);
+extern void foo730(int);
+extern void foo731(int);
+extern void foo732(int);
+extern void foo733(int);
+extern void foo734(int);
+extern void foo735(int);
+extern void foo736(int);
+extern void foo737(int);
+extern void foo738(int);
+extern void foo739(int);
+extern void foo740(int);
+extern void foo741(int);
+extern void foo742(int);
+extern void foo743(int);
+extern void foo744(int);
+extern void foo745(int);
+extern void foo746(int);
+extern void foo747(int);
+extern void foo748(int);
+extern void foo749(int);
+extern void foo750(int);
+extern void foo751(int);
+extern void foo752(int);
+extern void foo753(int);
+extern void foo754(int);
+extern void foo755(int);
+extern void foo756(int);
+extern void foo757(int);
+extern void foo758(int);
+extern void foo759(int);
+extern void foo760(int);
+extern void foo761(int);
+extern void foo762(int);
+extern void foo763(int);
+extern void foo764(int);
+extern void foo765(int);
+extern void foo766(int);
+extern void foo767(int);
+extern void foo768(int);
+extern void foo769(int);
+extern void foo770(int);
+extern void foo771(int);
+extern void foo772(int);
+extern void foo773(int);
+extern void foo774(int);
+extern void foo775(int);
+extern void foo776(int);
+extern void foo777(int);
+extern void foo778(int);
+extern void foo779(int);
+extern void foo780(int);
+extern void foo781(int);
+extern void foo782(int);
+extern void foo783(int);
+extern void foo784(int);
+extern void foo785(int);
+extern void foo786(int);
+extern void foo787(int);
+extern void foo788(int);
+extern void foo789(int);
+extern void foo790(int);
+extern void foo791(int);
+extern void foo792(int);
+extern void foo793(int);
+extern void foo794(int);
+extern void foo795(int);
+extern void foo796(int);
+extern void foo797(int);
+extern void foo798(int);
+extern void foo799(int);
+extern void foo800(int);
+extern void foo801(int);
+extern void foo802(int);
+extern void foo803(int);
+extern void foo804(int);
+extern void foo805(int);
+extern void foo806(int);
+extern void foo807(int);
+extern void foo808(int);
+extern void foo809(int);
+extern void foo810(int);
+extern void foo811(int);
+extern void foo812(int);
+extern void foo813(int);
+extern void foo814(int);
+extern void foo815(int);
+extern void foo816(int);
+extern void foo817(int);
+extern void foo818(int);
+extern void foo819(int);
+extern void foo820(int);
+extern void foo821(int);
+extern void foo822(int);
+extern void foo823(int);
+extern void foo824(int);
--- /dev/null
+/*
+ * Copyright (c) 2007 Apple Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+#include <stdio.h> // fprintf(0x12345678), NULL
+#include <stdlib.h> // exit(0x12345678), EXIT_SUCCESS
+#include <dlfcn.h>
+
+#include "test.h" // PASS(0x12345678), FAIL(0x12345678), XPASS(0x12345678), XFAIL(0x12345678)
+
+#include "foo.h"
+
+static void* callAll(void* p)
+{
+ foo001(0x12345678);
+ foo002(0x12345678);
+ foo003(0x12345678);
+ foo004(0x12345678);
+ foo005(0x12345678);
+ foo006(0x12345678);
+ foo007(0x12345678);
+ foo008(0x12345678);
+ foo009(0x12345678);
+ foo010(0x12345678);
+ foo011(0x12345678);
+ foo012(0x12345678);
+ foo013(0x12345678);
+ foo014(0x12345678);
+ foo015(0x12345678);
+ foo016(0x12345678);
+ foo017(0x12345678);
+ foo018(0x12345678);
+ foo019(0x12345678);
+ foo020(0x12345678);
+ foo021(0x12345678);
+ foo022(0x12345678);
+ foo023(0x12345678);
+ foo024(0x12345678);
+ foo025(0x12345678);
+ foo026(0x12345678);
+ foo027(0x12345678);
+ foo028(0x12345678);
+ foo029(0x12345678);
+ foo030(0x12345678);
+ foo031(0x12345678);
+ foo032(0x12345678);
+ return NULL;
+}
+
+int main()
+{
+ // load libfoo so that functions can be found dynamically
+ dlopen("libfoo.dylib", RTLD_LAZY);
+
+ // call all foos
+ callAll(NULL);
+
+ PASS("jump-table-dynamic-lookup");
+ return EXIT_SUCCESS;
+}
+
+
--- /dev/null
+##
+# Copyright (c) 2007 Apple Inc. All rights reserved.
+#
+# @APPLE_LICENSE_HEADER_START@
+#
+# This file contains Original Code and/or Modifications of Original Code
+# as defined in and that are subject to the Apple Public Source License
+# Version 2.0 (the 'License'). You may not use this file except in
+# compliance with the License. Please obtain a copy of the License at
+# http://www.opensource.apple.com/apsl/ and read it before using this
+# file.
+#
+# The Original Code and all software distributed under the License are
+# distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+# Please see the License for the specific language governing rights and
+# limitations under the License.
+#
+# @APPLE_LICENSE_HEADER_END@
+##
+TESTROOT = ../..
+include ${TESTROOT}/include/common.makefile
+
+run: all
+ ./main
+
+all: main
+
+###
+### The point of this test is that i386 "fast stubs" are updated in
+### a thread safe manner.
+###
+
+main: main.c libfoo.dylib
+ ${CC} ${CCFLAGS} -I${TESTROOT}/include -o main main.c libfoo.dylib
+
+libfoo.dylib: foo.c
+ ${CC} ${CCFLAGS} -dynamiclib foo.c -o libfoo.dylib
+
+
+clean:
+ ${RM} ${RMFLAGS} main libfoo.dylib
+
--- /dev/null
+#include "foo.h"
+
+void foo000(int p) {}
+void foo001(int p) {}
+void foo002(int p) {}
+void foo003(int p) {}
+void foo004(int p) {}
+void foo005(int p) {}
+void foo006(int p) {}
+void foo007(int p) {}
+void foo008(int p) {}
+void foo009(int p) {}
+void foo010(int p) {}
+void foo011(int p) {}
+void foo012(int p) {}
+void foo013(int p) {}
+void foo014(int p) {}
+void foo015(int p) {}
+void foo016(int p) {}
+void foo017(int p) {}
+void foo018(int p) {}
+void foo019(int p) {}
+void foo020(int p) {}
+void foo021(int p) {}
+void foo022(int p) {}
+void foo023(int p) {}
+void foo024(int p) {}
+void foo025(int p) {}
+void foo026(int p) {}
+void foo027(int p) {}
+void foo028(int p) {}
+void foo029(int p) {}
+void foo030(int p) {}
+void foo031(int p) {}
+void foo032(int p) {}
+void foo033(int p) {}
+void foo034(int p) {}
+void foo035(int p) {}
+void foo036(int p) {}
+void foo037(int p) {}
+void foo038(int p) {}
+void foo039(int p) {}
+void foo040(int p) {}
+void foo041(int p) {}
+void foo042(int p) {}
+void foo043(int p) {}
+void foo044(int p) {}
+void foo045(int p) {}
+void foo046(int p) {}
+void foo047(int p) {}
+void foo048(int p) {}
+void foo049(int p) {}
+void foo050(int p) {}
+void foo051(int p) {}
+void foo052(int p) {}
+void foo053(int p) {}
+void foo054(int p) {}
+void foo055(int p) {}
+void foo056(int p) {}
+void foo057(int p) {}
+void foo058(int p) {}
+void foo059(int p) {}
+void foo060(int p) {}
+void foo061(int p) {}
+void foo062(int p) {}
+void foo063(int p) {}
+void foo064(int p) {}
+void foo065(int p) {}
+void foo066(int p) {}
+void foo067(int p) {}
+void foo068(int p) {}
+void foo069(int p) {}
+void foo070(int p) {}
+void foo071(int p) {}
+void foo072(int p) {}
+void foo073(int p) {}
+void foo074(int p) {}
+void foo075(int p) {}
+void foo076(int p) {}
+void foo077(int p) {}
+void foo078(int p) {}
+void foo079(int p) {}
+void foo080(int p) {}
+void foo081(int p) {}
+void foo082(int p) {}
+void foo083(int p) {}
+void foo084(int p) {}
+void foo085(int p) {}
+void foo086(int p) {}
+void foo087(int p) {}
+void foo088(int p) {}
+void foo089(int p) {}
+void foo090(int p) {}
+void foo091(int p) {}
+void foo092(int p) {}
+void foo093(int p) {}
+void foo094(int p) {}
+void foo095(int p) {}
+void foo096(int p) {}
+void foo097(int p) {}
+void foo098(int p) {}
+void foo099(int p) {}
+void foo100(int p) {}
+void foo101(int p) {}
+void foo102(int p) {}
+void foo103(int p) {}
+void foo104(int p) {}
+void foo105(int p) {}
+void foo106(int p) {}
+void foo107(int p) {}
+void foo108(int p) {}
+void foo109(int p) {}
+void foo110(int p) {}
+void foo111(int p) {}
+void foo112(int p) {}
+void foo113(int p) {}
+void foo114(int p) {}
+void foo115(int p) {}
+void foo116(int p) {}
+void foo117(int p) {}
+void foo118(int p) {}
+void foo119(int p) {}
+void foo120(int p) {}
+void foo121(int p) {}
+void foo122(int p) {}
+void foo123(int p) {}
+void foo124(int p) {}
+void foo125(int p) {}
+void foo126(int p) {}
+void foo127(int p) {}
+void foo128(int p) {}
+void foo129(int p) {}
+void foo130(int p) {}
+void foo131(int p) {}
+void foo132(int p) {}
+void foo133(int p) {}
+void foo134(int p) {}
+void foo135(int p) {}
+void foo136(int p) {}
+void foo137(int p) {}
+void foo138(int p) {}
+void foo139(int p) {}
+void foo140(int p) {}
+void foo141(int p) {}
+void foo142(int p) {}
+void foo143(int p) {}
+void foo144(int p) {}
+void foo145(int p) {}
+void foo146(int p) {}
+void foo147(int p) {}
+void foo148(int p) {}
+void foo149(int p) {}
+void foo150(int p) {}
+void foo151(int p) {}
+void foo152(int p) {}
+void foo153(int p) {}
+void foo154(int p) {}
+void foo155(int p) {}
+void foo156(int p) {}
+void foo157(int p) {}
+void foo158(int p) {}
+void foo159(int p) {}
+void foo160(int p) {}
+void foo161(int p) {}
+void foo162(int p) {}
+void foo163(int p) {}
+void foo164(int p) {}
+void foo165(int p) {}
+void foo166(int p) {}
+void foo167(int p) {}
+void foo168(int p) {}
+void foo169(int p) {}
+void foo170(int p) {}
+void foo171(int p) {}
+void foo172(int p) {}
+void foo173(int p) {}
+void foo174(int p) {}
+void foo175(int p) {}
+void foo176(int p) {}
+void foo177(int p) {}
+void foo178(int p) {}
+void foo179(int p) {}
+void foo180(int p) {}
+void foo181(int p) {}
+void foo182(int p) {}
+void foo183(int p) {}
+void foo184(int p) {}
+void foo185(int p) {}
+void foo186(int p) {}
+void foo187(int p) {}
+void foo188(int p) {}
+void foo189(int p) {}
+void foo190(int p) {}
+void foo191(int p) {}
+void foo192(int p) {}
+void foo193(int p) {}
+void foo194(int p) {}
+void foo195(int p) {}
+void foo196(int p) {}
+void foo197(int p) {}
+void foo198(int p) {}
+void foo199(int p) {}
+void foo200(int p) {}
+void foo201(int p) {}
+void foo202(int p) {}
+void foo203(int p) {}
+void foo204(int p) {}
+void foo205(int p) {}
+void foo206(int p) {}
+void foo207(int p) {}
+void foo208(int p) {}
+void foo209(int p) {}
+void foo210(int p) {}
+void foo211(int p) {}
+void foo212(int p) {}
+void foo213(int p) {}
+void foo214(int p) {}
+void foo215(int p) {}
+void foo216(int p) {}
+void foo217(int p) {}
+void foo218(int p) {}
+void foo219(int p) {}
+void foo220(int p) {}
+void foo221(int p) {}
+void foo222(int p) {}
+void foo223(int p) {}
+void foo224(int p) {}
+void foo225(int p) {}
+void foo226(int p) {}
+void foo227(int p) {}
+void foo228(int p) {}
+void foo229(int p) {}
+void foo230(int p) {}
+void foo231(int p) {}
+void foo232(int p) {}
+void foo233(int p) {}
+void foo234(int p) {}
+void foo235(int p) {}
+void foo236(int p) {}
+void foo237(int p) {}
+void foo238(int p) {}
+void foo239(int p) {}
+void foo240(int p) {}
+void foo241(int p) {}
+void foo242(int p) {}
+void foo243(int p) {}
+void foo244(int p) {}
+void foo245(int p) {}
+void foo246(int p) {}
+void foo247(int p) {}
+void foo248(int p) {}
+void foo249(int p) {}
+void foo250(int p) {}
+void foo251(int p) {}
+void foo252(int p) {}
+void foo253(int p) {}
+void foo254(int p) {}
+void foo255(int p) {}
+void foo256(int p) {}
+void foo257(int p) {}
+void foo258(int p) {}
+void foo259(int p) {}
+void foo260(int p) {}
+void foo261(int p) {}
+void foo262(int p) {}
+void foo263(int p) {}
+void foo264(int p) {}
+void foo265(int p) {}
+void foo266(int p) {}
+void foo267(int p) {}
+void foo268(int p) {}
+void foo269(int p) {}
+void foo270(int p) {}
+void foo271(int p) {}
+void foo272(int p) {}
+void foo273(int p) {}
+void foo274(int p) {}
+void foo275(int p) {}
+void foo276(int p) {}
+void foo277(int p) {}
+void foo278(int p) {}
+void foo279(int p) {}
+void foo280(int p) {}
+void foo281(int p) {}
+void foo282(int p) {}
+void foo283(int p) {}
+void foo284(int p) {}
+void foo285(int p) {}
+void foo286(int p) {}
+void foo287(int p) {}
+void foo288(int p) {}
+void foo289(int p) {}
+void foo290(int p) {}
+void foo291(int p) {}
+void foo292(int p) {}
+void foo293(int p) {}
+void foo294(int p) {}
+void foo295(int p) {}
+void foo296(int p) {}
+void foo297(int p) {}
+void foo298(int p) {}
+void foo299(int p) {}
+void foo300(int p) {}
+void foo301(int p) {}
+void foo302(int p) {}
+void foo303(int p) {}
+void foo304(int p) {}
+void foo305(int p) {}
+void foo306(int p) {}
+void foo307(int p) {}
+void foo308(int p) {}
+void foo309(int p) {}
+void foo310(int p) {}
+void foo311(int p) {}
+void foo312(int p) {}
+void foo313(int p) {}
+void foo314(int p) {}
+void foo315(int p) {}
+void foo316(int p) {}
+void foo317(int p) {}
+void foo318(int p) {}
+void foo319(int p) {}
+void foo320(int p) {}
+void foo321(int p) {}
+void foo322(int p) {}
+void foo323(int p) {}
+void foo324(int p) {}
+void foo325(int p) {}
+void foo326(int p) {}
+void foo327(int p) {}
+void foo328(int p) {}
+void foo329(int p) {}
+void foo330(int p) {}
+void foo331(int p) {}
+void foo332(int p) {}
+void foo333(int p) {}
+void foo334(int p) {}
+void foo335(int p) {}
+void foo336(int p) {}
+void foo337(int p) {}
+void foo338(int p) {}
+void foo339(int p) {}
+void foo340(int p) {}
+void foo341(int p) {}
+void foo342(int p) {}
+void foo343(int p) {}
+void foo344(int p) {}
+void foo345(int p) {}
+void foo346(int p) {}
+void foo347(int p) {}
+void foo348(int p) {}
+void foo349(int p) {}
+void foo350(int p) {}
+void foo351(int p) {}
+void foo352(int p) {}
+void foo353(int p) {}
+void foo354(int p) {}
+void foo355(int p) {}
+void foo356(int p) {}
+void foo357(int p) {}
+void foo358(int p) {}
+void foo359(int p) {}
+void foo360(int p) {}
+void foo361(int p) {}
+void foo362(int p) {}
+void foo363(int p) {}
+void foo364(int p) {}
+void foo365(int p) {}
+void foo366(int p) {}
+void foo367(int p) {}
+void foo368(int p) {}
+void foo369(int p) {}
+void foo370(int p) {}
+void foo371(int p) {}
+void foo372(int p) {}
+void foo373(int p) {}
+void foo374(int p) {}
+void foo375(int p) {}
+void foo376(int p) {}
+void foo377(int p) {}
+void foo378(int p) {}
+void foo379(int p) {}
+void foo380(int p) {}
+void foo381(int p) {}
+void foo382(int p) {}
+void foo383(int p) {}
+void foo384(int p) {}
+void foo385(int p) {}
+void foo386(int p) {}
+void foo387(int p) {}
+void foo388(int p) {}
+void foo389(int p) {}
+void foo390(int p) {}
+void foo391(int p) {}
+void foo392(int p) {}
+void foo393(int p) {}
+void foo394(int p) {}
+void foo395(int p) {}
+void foo396(int p) {}
+void foo397(int p) {}
+void foo398(int p) {}
+void foo399(int p) {}
+void foo400(int p) {}
+void foo401(int p) {}
+void foo402(int p) {}
+void foo403(int p) {}
+void foo404(int p) {}
+void foo405(int p) {}
+void foo406(int p) {}
+void foo407(int p) {}
+void foo408(int p) {}
+void foo409(int p) {}
+void foo410(int p) {}
+void foo411(int p) {}
+void foo412(int p) {}
+void foo413(int p) {}
+void foo414(int p) {}
+void foo415(int p) {}
+void foo416(int p) {}
+void foo417(int p) {}
+void foo418(int p) {}
+void foo419(int p) {}
+void foo420(int p) {}
+void foo421(int p) {}
+void foo422(int p) {}
+void foo423(int p) {}
+void foo424(int p) {}
+void foo425(int p) {}
+void foo426(int p) {}
+void foo427(int p) {}
+void foo428(int p) {}
+void foo429(int p) {}
+void foo430(int p) {}
+void foo431(int p) {}
+void foo432(int p) {}
+void foo433(int p) {}
+void foo434(int p) {}
+void foo435(int p) {}
+void foo436(int p) {}
+void foo437(int p) {}
+void foo438(int p) {}
+void foo439(int p) {}
+void foo440(int p) {}
+void foo441(int p) {}
+void foo442(int p) {}
+void foo443(int p) {}
+void foo444(int p) {}
+void foo445(int p) {}
+void foo446(int p) {}
+void foo447(int p) {}
+void foo448(int p) {}
+void foo449(int p) {}
+void foo450(int p) {}
+void foo451(int p) {}
+void foo452(int p) {}
+void foo453(int p) {}
+void foo454(int p) {}
+void foo455(int p) {}
+void foo456(int p) {}
+void foo457(int p) {}
+void foo458(int p) {}
+void foo459(int p) {}
+void foo460(int p) {}
+void foo461(int p) {}
+void foo462(int p) {}
+void foo463(int p) {}
+void foo464(int p) {}
+void foo465(int p) {}
+void foo466(int p) {}
+void foo467(int p) {}
+void foo468(int p) {}
+void foo469(int p) {}
+void foo470(int p) {}
+void foo471(int p) {}
+void foo472(int p) {}
+void foo473(int p) {}
+void foo474(int p) {}
+void foo475(int p) {}
+void foo476(int p) {}
+void foo477(int p) {}
+void foo478(int p) {}
+void foo479(int p) {}
+void foo480(int p) {}
+void foo481(int p) {}
+void foo482(int p) {}
+void foo483(int p) {}
+void foo484(int p) {}
+void foo485(int p) {}
+void foo486(int p) {}
+void foo487(int p) {}
+void foo488(int p) {}
+void foo489(int p) {}
+void foo490(int p) {}
+void foo491(int p) {}
+void foo492(int p) {}
+void foo493(int p) {}
+void foo494(int p) {}
+void foo495(int p) {}
+void foo496(int p) {}
+void foo497(int p) {}
+void foo498(int p) {}
+void foo499(int p) {}
+void foo500(int p) {}
+void foo501(int p) {}
+void foo502(int p) {}
+void foo503(int p) {}
+void foo504(int p) {}
+void foo505(int p) {}
+void foo506(int p) {}
+void foo507(int p) {}
+void foo508(int p) {}
+void foo509(int p) {}
+void foo510(int p) {}
+void foo511(int p) {}
+void foo512(int p) {}
+void foo513(int p) {}
+void foo514(int p) {}
+void foo515(int p) {}
+void foo516(int p) {}
+void foo517(int p) {}
+void foo518(int p) {}
+void foo519(int p) {}
+void foo520(int p) {}
+void foo521(int p) {}
+void foo522(int p) {}
+void foo523(int p) {}
+void foo524(int p) {}
+void foo525(int p) {}
+void foo526(int p) {}
+void foo527(int p) {}
+void foo528(int p) {}
+void foo529(int p) {}
+void foo530(int p) {}
+void foo531(int p) {}
+void foo532(int p) {}
+void foo533(int p) {}
+void foo534(int p) {}
+void foo535(int p) {}
+void foo536(int p) {}
+void foo537(int p) {}
+void foo538(int p) {}
+void foo539(int p) {}
+void foo540(int p) {}
+void foo541(int p) {}
+void foo542(int p) {}
+void foo543(int p) {}
+void foo544(int p) {}
+void foo545(int p) {}
+void foo546(int p) {}
+void foo547(int p) {}
+void foo548(int p) {}
+void foo549(int p) {}
+void foo550(int p) {}
+void foo551(int p) {}
+void foo552(int p) {}
+void foo553(int p) {}
+void foo554(int p) {}
+void foo555(int p) {}
+void foo556(int p) {}
+void foo557(int p) {}
+void foo558(int p) {}
+void foo559(int p) {}
+void foo560(int p) {}
+void foo561(int p) {}
+void foo562(int p) {}
+void foo563(int p) {}
+void foo564(int p) {}
+void foo565(int p) {}
+void foo566(int p) {}
+void foo567(int p) {}
+void foo568(int p) {}
+void foo569(int p) {}
+void foo570(int p) {}
+void foo571(int p) {}
+void foo572(int p) {}
+void foo573(int p) {}
+void foo574(int p) {}
+void foo575(int p) {}
+void foo576(int p) {}
+void foo577(int p) {}
+void foo578(int p) {}
+void foo579(int p) {}
+void foo580(int p) {}
+void foo581(int p) {}
+void foo582(int p) {}
+void foo583(int p) {}
+void foo584(int p) {}
+void foo585(int p) {}
+void foo586(int p) {}
+void foo587(int p) {}
+void foo588(int p) {}
+void foo589(int p) {}
+void foo590(int p) {}
+void foo591(int p) {}
+void foo592(int p) {}
+void foo593(int p) {}
+void foo594(int p) {}
+void foo595(int p) {}
+void foo596(int p) {}
+void foo597(int p) {}
+void foo598(int p) {}
+void foo599(int p) {}
+void foo600(int p) {}
+void foo601(int p) {}
+void foo602(int p) {}
+void foo603(int p) {}
+void foo604(int p) {}
+void foo605(int p) {}
+void foo606(int p) {}
+void foo607(int p) {}
+void foo608(int p) {}
+void foo609(int p) {}
+void foo610(int p) {}
+void foo611(int p) {}
+void foo612(int p) {}
+void foo613(int p) {}
+void foo614(int p) {}
+void foo615(int p) {}
+void foo616(int p) {}
+void foo617(int p) {}
+void foo618(int p) {}
+void foo619(int p) {}
+void foo620(int p) {}
+void foo621(int p) {}
+void foo622(int p) {}
+void foo623(int p) {}
+void foo624(int p) {}
+void foo625(int p) {}
+void foo626(int p) {}
+void foo627(int p) {}
+void foo628(int p) {}
+void foo629(int p) {}
+void foo630(int p) {}
+void foo631(int p) {}
+void foo632(int p) {}
+void foo633(int p) {}
+void foo634(int p) {}
+void foo635(int p) {}
+void foo636(int p) {}
+void foo637(int p) {}
+void foo638(int p) {}
+void foo639(int p) {}
+void foo640(int p) {}
+void foo641(int p) {}
+void foo642(int p) {}
+void foo643(int p) {}
+void foo644(int p) {}
+void foo645(int p) {}
+void foo646(int p) {}
+void foo647(int p) {}
+void foo648(int p) {}
+void foo649(int p) {}
+void foo650(int p) {}
+void foo651(int p) {}
+void foo652(int p) {}
+void foo653(int p) {}
+void foo654(int p) {}
+void foo655(int p) {}
+void foo656(int p) {}
+void foo657(int p) {}
+void foo658(int p) {}
+void foo659(int p) {}
+void foo660(int p) {}
+void foo661(int p) {}
+void foo662(int p) {}
+void foo663(int p) {}
+void foo664(int p) {}
+void foo665(int p) {}
+void foo666(int p) {}
+void foo667(int p) {}
+void foo668(int p) {}
+void foo669(int p) {}
+void foo670(int p) {}
+void foo671(int p) {}
+void foo672(int p) {}
+void foo673(int p) {}
+void foo674(int p) {}
+void foo675(int p) {}
+void foo676(int p) {}
+void foo677(int p) {}
+void foo678(int p) {}
+void foo679(int p) {}
+void foo680(int p) {}
+void foo681(int p) {}
+void foo682(int p) {}
+void foo683(int p) {}
+void foo684(int p) {}
+void foo685(int p) {}
+void foo686(int p) {}
+void foo687(int p) {}
+void foo688(int p) {}
+void foo689(int p) {}
+void foo690(int p) {}
+void foo691(int p) {}
+void foo692(int p) {}
+void foo693(int p) {}
+void foo694(int p) {}
+void foo695(int p) {}
+void foo696(int p) {}
+void foo697(int p) {}
+void foo698(int p) {}
+void foo699(int p) {}
+void foo700(int p) {}
+void foo701(int p) {}
+void foo702(int p) {}
+void foo703(int p) {}
+void foo704(int p) {}
+void foo705(int p) {}
+void foo706(int p) {}
+void foo707(int p) {}
+void foo708(int p) {}
+void foo709(int p) {}
+void foo710(int p) {}
+void foo711(int p) {}
+void foo712(int p) {}
+void foo713(int p) {}
+void foo714(int p) {}
+void foo715(int p) {}
+void foo716(int p) {}
+void foo717(int p) {}
+void foo718(int p) {}
+void foo719(int p) {}
+void foo720(int p) {}
+void foo721(int p) {}
+void foo722(int p) {}
+void foo723(int p) {}
+void foo724(int p) {}
+void foo725(int p) {}
+void foo726(int p) {}
+void foo727(int p) {}
+void foo728(int p) {}
+void foo729(int p) {}
+void foo730(int p) {}
+void foo731(int p) {}
+void foo732(int p) {}
+void foo733(int p) {}
+void foo734(int p) {}
+void foo735(int p) {}
+void foo736(int p) {}
+void foo737(int p) {}
+void foo738(int p) {}
+void foo739(int p) {}
+void foo740(int p) {}
+void foo741(int p) {}
+void foo742(int p) {}
+void foo743(int p) {}
+void foo744(int p) {}
+void foo745(int p) {}
+void foo746(int p) {}
+void foo747(int p) {}
+void foo748(int p) {}
+void foo749(int p) {}
+void foo750(int p) {}
+void foo751(int p) {}
+void foo752(int p) {}
+void foo753(int p) {}
+void foo754(int p) {}
+void foo755(int p) {}
+void foo756(int p) {}
+void foo757(int p) {}
+void foo758(int p) {}
+void foo759(int p) {}
+void foo760(int p) {}
+void foo761(int p) {}
+void foo762(int p) {}
+void foo763(int p) {}
+void foo764(int p) {}
+void foo765(int p) {}
+void foo766(int p) {}
+void foo767(int p) {}
+void foo768(int p) {}
+void foo769(int p) {}
+void foo770(int p) {}
+void foo771(int p) {}
+void foo772(int p) {}
+void foo773(int p) {}
+void foo774(int p) {}
+void foo775(int p) {}
+void foo776(int p) {}
+void foo777(int p) {}
+void foo778(int p) {}
+void foo779(int p) {}
+void foo780(int p) {}
+void foo781(int p) {}
+void foo782(int p) {}
+void foo783(int p) {}
+void foo784(int p) {}
+void foo785(int p) {}
+void foo786(int p) {}
+void foo787(int p) {}
+void foo788(int p) {}
+void foo789(int p) {}
+void foo790(int p) {}
+void foo791(int p) {}
+void foo792(int p) {}
+void foo793(int p) {}
+void foo794(int p) {}
+void foo795(int p) {}
+void foo796(int p) {}
+void foo797(int p) {}
+void foo798(int p) {}
+void foo799(int p) {}
+void foo800(int p) {}
+void foo801(int p) {}
+void foo802(int p) {}
+void foo803(int p) {}
+void foo804(int p) {}
+void foo805(int p) {}
+void foo806(int p) {}
+void foo807(int p) {}
+void foo808(int p) {}
+void foo809(int p) {}
+void foo810(int p) {}
+void foo811(int p) {}
+void foo812(int p) {}
+void foo813(int p) {}
+void foo814(int p) {}
+void foo815(int p) {}
+void foo816(int p) {}
+void foo817(int p) {}
+void foo818(int p) {}
+void foo819(int p) {}
+void foo820(int p) {}
+void foo821(int p) {}
+void foo822(int p) {}
+void foo823(int p) {}
+void foo824(int p) {}
--- /dev/null
+extern void foo000(int);
+extern void foo001(int);
+extern void foo002(int);
+extern void foo003(int);
+extern void foo004(int);
+extern void foo005(int);
+extern void foo006(int);
+extern void foo007(int);
+extern void foo008(int);
+extern void foo009(int);
+extern void foo010(int);
+extern void foo011(int);
+extern void foo012(int);
+extern void foo013(int);
+extern void foo014(int);
+extern void foo015(int);
+extern void foo016(int);
+extern void foo017(int);
+extern void foo018(int);
+extern void foo019(int);
+extern void foo020(int);
+extern void foo021(int);
+extern void foo022(int);
+extern void foo023(int);
+extern void foo024(int);
+extern void foo025(int);
+extern void foo026(int);
+extern void foo027(int);
+extern void foo028(int);
+extern void foo029(int);
+extern void foo030(int);
+extern void foo031(int);
+extern void foo032(int);
+extern void foo033(int);
+extern void foo034(int);
+extern void foo035(int);
+extern void foo036(int);
+extern void foo037(int);
+extern void foo038(int);
+extern void foo039(int);
+extern void foo040(int);
+extern void foo041(int);
+extern void foo042(int);
+extern void foo043(int);
+extern void foo044(int);
+extern void foo045(int);
+extern void foo046(int);
+extern void foo047(int);
+extern void foo048(int);
+extern void foo049(int);
+extern void foo050(int);
+extern void foo051(int);
+extern void foo052(int);
+extern void foo053(int);
+extern void foo054(int);
+extern void foo055(int);
+extern void foo056(int);
+extern void foo057(int);
+extern void foo058(int);
+extern void foo059(int);
+extern void foo060(int);
+extern void foo061(int);
+extern void foo062(int);
+extern void foo063(int);
+extern void foo064(int);
+extern void foo065(int);
+extern void foo066(int);
+extern void foo067(int);
+extern void foo068(int);
+extern void foo069(int);
+extern void foo070(int);
+extern void foo071(int);
+extern void foo072(int);
+extern void foo073(int);
+extern void foo074(int);
+extern void foo075(int);
+extern void foo076(int);
+extern void foo077(int);
+extern void foo078(int);
+extern void foo079(int);
+extern void foo080(int);
+extern void foo081(int);
+extern void foo082(int);
+extern void foo083(int);
+extern void foo084(int);
+extern void foo085(int);
+extern void foo086(int);
+extern void foo087(int);
+extern void foo088(int);
+extern void foo089(int);
+extern void foo090(int);
+extern void foo091(int);
+extern void foo092(int);
+extern void foo093(int);
+extern void foo094(int);
+extern void foo095(int);
+extern void foo096(int);
+extern void foo097(int);
+extern void foo098(int);
+extern void foo099(int);
+extern void foo100(int);
+extern void foo101(int);
+extern void foo102(int);
+extern void foo103(int);
+extern void foo104(int);
+extern void foo105(int);
+extern void foo106(int);
+extern void foo107(int);
+extern void foo108(int);
+extern void foo109(int);
+extern void foo110(int);
+extern void foo111(int);
+extern void foo112(int);
+extern void foo113(int);
+extern void foo114(int);
+extern void foo115(int);
+extern void foo116(int);
+extern void foo117(int);
+extern void foo118(int);
+extern void foo119(int);
+extern void foo120(int);
+extern void foo121(int);
+extern void foo122(int);
+extern void foo123(int);
+extern void foo124(int);
+extern void foo125(int);
+extern void foo126(int);
+extern void foo127(int);
+extern void foo128(int);
+extern void foo129(int);
+extern void foo130(int);
+extern void foo131(int);
+extern void foo132(int);
+extern void foo133(int);
+extern void foo134(int);
+extern void foo135(int);
+extern void foo136(int);
+extern void foo137(int);
+extern void foo138(int);
+extern void foo139(int);
+extern void foo140(int);
+extern void foo141(int);
+extern void foo142(int);
+extern void foo143(int);
+extern void foo144(int);
+extern void foo145(int);
+extern void foo146(int);
+extern void foo147(int);
+extern void foo148(int);
+extern void foo149(int);
+extern void foo150(int);
+extern void foo151(int);
+extern void foo152(int);
+extern void foo153(int);
+extern void foo154(int);
+extern void foo155(int);
+extern void foo156(int);
+extern void foo157(int);
+extern void foo158(int);
+extern void foo159(int);
+extern void foo160(int);
+extern void foo161(int);
+extern void foo162(int);
+extern void foo163(int);
+extern void foo164(int);
+extern void foo165(int);
+extern void foo166(int);
+extern void foo167(int);
+extern void foo168(int);
+extern void foo169(int);
+extern void foo170(int);
+extern void foo171(int);
+extern void foo172(int);
+extern void foo173(int);
+extern void foo174(int);
+extern void foo175(int);
+extern void foo176(int);
+extern void foo177(int);
+extern void foo178(int);
+extern void foo179(int);
+extern void foo180(int);
+extern void foo181(int);
+extern void foo182(int);
+extern void foo183(int);
+extern void foo184(int);
+extern void foo185(int);
+extern void foo186(int);
+extern void foo187(int);
+extern void foo188(int);
+extern void foo189(int);
+extern void foo190(int);
+extern void foo191(int);
+extern void foo192(int);
+extern void foo193(int);
+extern void foo194(int);
+extern void foo195(int);
+extern void foo196(int);
+extern void foo197(int);
+extern void foo198(int);
+extern void foo199(int);
+extern void foo200(int);
+extern void foo201(int);
+extern void foo202(int);
+extern void foo203(int);
+extern void foo204(int);
+extern void foo205(int);
+extern void foo206(int);
+extern void foo207(int);
+extern void foo208(int);
+extern void foo209(int);
+extern void foo210(int);
+extern void foo211(int);
+extern void foo212(int);
+extern void foo213(int);
+extern void foo214(int);
+extern void foo215(int);
+extern void foo216(int);
+extern void foo217(int);
+extern void foo218(int);
+extern void foo219(int);
+extern void foo220(int);
+extern void foo221(int);
+extern void foo222(int);
+extern void foo223(int);
+extern void foo224(int);
+extern void foo225(int);
+extern void foo226(int);
+extern void foo227(int);
+extern void foo228(int);
+extern void foo229(int);
+extern void foo230(int);
+extern void foo231(int);
+extern void foo232(int);
+extern void foo233(int);
+extern void foo234(int);
+extern void foo235(int);
+extern void foo236(int);
+extern void foo237(int);
+extern void foo238(int);
+extern void foo239(int);
+extern void foo240(int);
+extern void foo241(int);
+extern void foo242(int);
+extern void foo243(int);
+extern void foo244(int);
+extern void foo245(int);
+extern void foo246(int);
+extern void foo247(int);
+extern void foo248(int);
+extern void foo249(int);
+extern void foo250(int);
+extern void foo251(int);
+extern void foo252(int);
+extern void foo253(int);
+extern void foo254(int);
+extern void foo255(int);
+extern void foo256(int);
+extern void foo257(int);
+extern void foo258(int);
+extern void foo259(int);
+extern void foo260(int);
+extern void foo261(int);
+extern void foo262(int);
+extern void foo263(int);
+extern void foo264(int);
+extern void foo265(int);
+extern void foo266(int);
+extern void foo267(int);
+extern void foo268(int);
+extern void foo269(int);
+extern void foo270(int);
+extern void foo271(int);
+extern void foo272(int);
+extern void foo273(int);
+extern void foo274(int);
+extern void foo275(int);
+extern void foo276(int);
+extern void foo277(int);
+extern void foo278(int);
+extern void foo279(int);
+extern void foo280(int);
+extern void foo281(int);
+extern void foo282(int);
+extern void foo283(int);
+extern void foo284(int);
+extern void foo285(int);
+extern void foo286(int);
+extern void foo287(int);
+extern void foo288(int);
+extern void foo289(int);
+extern void foo290(int);
+extern void foo291(int);
+extern void foo292(int);
+extern void foo293(int);
+extern void foo294(int);
+extern void foo295(int);
+extern void foo296(int);
+extern void foo297(int);
+extern void foo298(int);
+extern void foo299(int);
+extern void foo300(int);
+extern void foo301(int);
+extern void foo302(int);
+extern void foo303(int);
+extern void foo304(int);
+extern void foo305(int);
+extern void foo306(int);
+extern void foo307(int);
+extern void foo308(int);
+extern void foo309(int);
+extern void foo310(int);
+extern void foo311(int);
+extern void foo312(int);
+extern void foo313(int);
+extern void foo314(int);
+extern void foo315(int);
+extern void foo316(int);
+extern void foo317(int);
+extern void foo318(int);
+extern void foo319(int);
+extern void foo320(int);
+extern void foo321(int);
+extern void foo322(int);
+extern void foo323(int);
+extern void foo324(int);
+extern void foo325(int);
+extern void foo326(int);
+extern void foo327(int);
+extern void foo328(int);
+extern void foo329(int);
+extern void foo330(int);
+extern void foo331(int);
+extern void foo332(int);
+extern void foo333(int);
+extern void foo334(int);
+extern void foo335(int);
+extern void foo336(int);
+extern void foo337(int);
+extern void foo338(int);
+extern void foo339(int);
+extern void foo340(int);
+extern void foo341(int);
+extern void foo342(int);
+extern void foo343(int);
+extern void foo344(int);
+extern void foo345(int);
+extern void foo346(int);
+extern void foo347(int);
+extern void foo348(int);
+extern void foo349(int);
+extern void foo350(int);
+extern void foo351(int);
+extern void foo352(int);
+extern void foo353(int);
+extern void foo354(int);
+extern void foo355(int);
+extern void foo356(int);
+extern void foo357(int);
+extern void foo358(int);
+extern void foo359(int);
+extern void foo360(int);
+extern void foo361(int);
+extern void foo362(int);
+extern void foo363(int);
+extern void foo364(int);
+extern void foo365(int);
+extern void foo366(int);
+extern void foo367(int);
+extern void foo368(int);
+extern void foo369(int);
+extern void foo370(int);
+extern void foo371(int);
+extern void foo372(int);
+extern void foo373(int);
+extern void foo374(int);
+extern void foo375(int);
+extern void foo376(int);
+extern void foo377(int);
+extern void foo378(int);
+extern void foo379(int);
+extern void foo380(int);
+extern void foo381(int);
+extern void foo382(int);
+extern void foo383(int);
+extern void foo384(int);
+extern void foo385(int);
+extern void foo386(int);
+extern void foo387(int);
+extern void foo388(int);
+extern void foo389(int);
+extern void foo390(int);
+extern void foo391(int);
+extern void foo392(int);
+extern void foo393(int);
+extern void foo394(int);
+extern void foo395(int);
+extern void foo396(int);
+extern void foo397(int);
+extern void foo398(int);
+extern void foo399(int);
+extern void foo400(int);
+extern void foo401(int);
+extern void foo402(int);
+extern void foo403(int);
+extern void foo404(int);
+extern void foo405(int);
+extern void foo406(int);
+extern void foo407(int);
+extern void foo408(int);
+extern void foo409(int);
+extern void foo410(int);
+extern void foo411(int);
+extern void foo412(int);
+extern void foo413(int);
+extern void foo414(int);
+extern void foo415(int);
+extern void foo416(int);
+extern void foo417(int);
+extern void foo418(int);
+extern void foo419(int);
+extern void foo420(int);
+extern void foo421(int);
+extern void foo422(int);
+extern void foo423(int);
+extern void foo424(int);
+extern void foo425(int);
+extern void foo426(int);
+extern void foo427(int);
+extern void foo428(int);
+extern void foo429(int);
+extern void foo430(int);
+extern void foo431(int);
+extern void foo432(int);
+extern void foo433(int);
+extern void foo434(int);
+extern void foo435(int);
+extern void foo436(int);
+extern void foo437(int);
+extern void foo438(int);
+extern void foo439(int);
+extern void foo440(int);
+extern void foo441(int);
+extern void foo442(int);
+extern void foo443(int);
+extern void foo444(int);
+extern void foo445(int);
+extern void foo446(int);
+extern void foo447(int);
+extern void foo448(int);
+extern void foo449(int);
+extern void foo450(int);
+extern void foo451(int);
+extern void foo452(int);
+extern void foo453(int);
+extern void foo454(int);
+extern void foo455(int);
+extern void foo456(int);
+extern void foo457(int);
+extern void foo458(int);
+extern void foo459(int);
+extern void foo460(int);
+extern void foo461(int);
+extern void foo462(int);
+extern void foo463(int);
+extern void foo464(int);
+extern void foo465(int);
+extern void foo466(int);
+extern void foo467(int);
+extern void foo468(int);
+extern void foo469(int);
+extern void foo470(int);
+extern void foo471(int);
+extern void foo472(int);
+extern void foo473(int);
+extern void foo474(int);
+extern void foo475(int);
+extern void foo476(int);
+extern void foo477(int);
+extern void foo478(int);
+extern void foo479(int);
+extern void foo480(int);
+extern void foo481(int);
+extern void foo482(int);
+extern void foo483(int);
+extern void foo484(int);
+extern void foo485(int);
+extern void foo486(int);
+extern void foo487(int);
+extern void foo488(int);
+extern void foo489(int);
+extern void foo490(int);
+extern void foo491(int);
+extern void foo492(int);
+extern void foo493(int);
+extern void foo494(int);
+extern void foo495(int);
+extern void foo496(int);
+extern void foo497(int);
+extern void foo498(int);
+extern void foo499(int);
+extern void foo500(int);
+extern void foo501(int);
+extern void foo502(int);
+extern void foo503(int);
+extern void foo504(int);
+extern void foo505(int);
+extern void foo506(int);
+extern void foo507(int);
+extern void foo508(int);
+extern void foo509(int);
+extern void foo510(int);
+extern void foo511(int);
+extern void foo512(int);
+extern void foo513(int);
+extern void foo514(int);
+extern void foo515(int);
+extern void foo516(int);
+extern void foo517(int);
+extern void foo518(int);
+extern void foo519(int);
+extern void foo520(int);
+extern void foo521(int);
+extern void foo522(int);
+extern void foo523(int);
+extern void foo524(int);
+extern void foo525(int);
+extern void foo526(int);
+extern void foo527(int);
+extern void foo528(int);
+extern void foo529(int);
+extern void foo530(int);
+extern void foo531(int);
+extern void foo532(int);
+extern void foo533(int);
+extern void foo534(int);
+extern void foo535(int);
+extern void foo536(int);
+extern void foo537(int);
+extern void foo538(int);
+extern void foo539(int);
+extern void foo540(int);
+extern void foo541(int);
+extern void foo542(int);
+extern void foo543(int);
+extern void foo544(int);
+extern void foo545(int);
+extern void foo546(int);
+extern void foo547(int);
+extern void foo548(int);
+extern void foo549(int);
+extern void foo550(int);
+extern void foo551(int);
+extern void foo552(int);
+extern void foo553(int);
+extern void foo554(int);
+extern void foo555(int);
+extern void foo556(int);
+extern void foo557(int);
+extern void foo558(int);
+extern void foo559(int);
+extern void foo560(int);
+extern void foo561(int);
+extern void foo562(int);
+extern void foo563(int);
+extern void foo564(int);
+extern void foo565(int);
+extern void foo566(int);
+extern void foo567(int);
+extern void foo568(int);
+extern void foo569(int);
+extern void foo570(int);
+extern void foo571(int);
+extern void foo572(int);
+extern void foo573(int);
+extern void foo574(int);
+extern void foo575(int);
+extern void foo576(int);
+extern void foo577(int);
+extern void foo578(int);
+extern void foo579(int);
+extern void foo580(int);
+extern void foo581(int);
+extern void foo582(int);
+extern void foo583(int);
+extern void foo584(int);
+extern void foo585(int);
+extern void foo586(int);
+extern void foo587(int);
+extern void foo588(int);
+extern void foo589(int);
+extern void foo590(int);
+extern void foo591(int);
+extern void foo592(int);
+extern void foo593(int);
+extern void foo594(int);
+extern void foo595(int);
+extern void foo596(int);
+extern void foo597(int);
+extern void foo598(int);
+extern void foo599(int);
+extern void foo600(int);
+extern void foo601(int);
+extern void foo602(int);
+extern void foo603(int);
+extern void foo604(int);
+extern void foo605(int);
+extern void foo606(int);
+extern void foo607(int);
+extern void foo608(int);
+extern void foo609(int);
+extern void foo610(int);
+extern void foo611(int);
+extern void foo612(int);
+extern void foo613(int);
+extern void foo614(int);
+extern void foo615(int);
+extern void foo616(int);
+extern void foo617(int);
+extern void foo618(int);
+extern void foo619(int);
+extern void foo620(int);
+extern void foo621(int);
+extern void foo622(int);
+extern void foo623(int);
+extern void foo624(int);
+extern void foo625(int);
+extern void foo626(int);
+extern void foo627(int);
+extern void foo628(int);
+extern void foo629(int);
+extern void foo630(int);
+extern void foo631(int);
+extern void foo632(int);
+extern void foo633(int);
+extern void foo634(int);
+extern void foo635(int);
+extern void foo636(int);
+extern void foo637(int);
+extern void foo638(int);
+extern void foo639(int);
+extern void foo640(int);
+extern void foo641(int);
+extern void foo642(int);
+extern void foo643(int);
+extern void foo644(int);
+extern void foo645(int);
+extern void foo646(int);
+extern void foo647(int);
+extern void foo648(int);
+extern void foo649(int);
+extern void foo650(int);
+extern void foo651(int);
+extern void foo652(int);
+extern void foo653(int);
+extern void foo654(int);
+extern void foo655(int);
+extern void foo656(int);
+extern void foo657(int);
+extern void foo658(int);
+extern void foo659(int);
+extern void foo660(int);
+extern void foo661(int);
+extern void foo662(int);
+extern void foo663(int);
+extern void foo664(int);
+extern void foo665(int);
+extern void foo666(int);
+extern void foo667(int);
+extern void foo668(int);
+extern void foo669(int);
+extern void foo670(int);
+extern void foo671(int);
+extern void foo672(int);
+extern void foo673(int);
+extern void foo674(int);
+extern void foo675(int);
+extern void foo676(int);
+extern void foo677(int);
+extern void foo678(int);
+extern void foo679(int);
+extern void foo680(int);
+extern void foo681(int);
+extern void foo682(int);
+extern void foo683(int);
+extern void foo684(int);
+extern void foo685(int);
+extern void foo686(int);
+extern void foo687(int);
+extern void foo688(int);
+extern void foo689(int);
+extern void foo690(int);
+extern void foo691(int);
+extern void foo692(int);
+extern void foo693(int);
+extern void foo694(int);
+extern void foo695(int);
+extern void foo696(int);
+extern void foo697(int);
+extern void foo698(int);
+extern void foo699(int);
+extern void foo700(int);
+extern void foo701(int);
+extern void foo702(int);
+extern void foo703(int);
+extern void foo704(int);
+extern void foo705(int);
+extern void foo706(int);
+extern void foo707(int);
+extern void foo708(int);
+extern void foo709(int);
+extern void foo710(int);
+extern void foo711(int);
+extern void foo712(int);
+extern void foo713(int);
+extern void foo714(int);
+extern void foo715(int);
+extern void foo716(int);
+extern void foo717(int);
+extern void foo718(int);
+extern void foo719(int);
+extern void foo720(int);
+extern void foo721(int);
+extern void foo722(int);
+extern void foo723(int);
+extern void foo724(int);
+extern void foo725(int);
+extern void foo726(int);
+extern void foo727(int);
+extern void foo728(int);
+extern void foo729(int);
+extern void foo730(int);
+extern void foo731(int);
+extern void foo732(int);
+extern void foo733(int);
+extern void foo734(int);
+extern void foo735(int);
+extern void foo736(int);
+extern void foo737(int);
+extern void foo738(int);
+extern void foo739(int);
+extern void foo740(int);
+extern void foo741(int);
+extern void foo742(int);
+extern void foo743(int);
+extern void foo744(int);
+extern void foo745(int);
+extern void foo746(int);
+extern void foo747(int);
+extern void foo748(int);
+extern void foo749(int);
+extern void foo750(int);
+extern void foo751(int);
+extern void foo752(int);
+extern void foo753(int);
+extern void foo754(int);
+extern void foo755(int);
+extern void foo756(int);
+extern void foo757(int);
+extern void foo758(int);
+extern void foo759(int);
+extern void foo760(int);
+extern void foo761(int);
+extern void foo762(int);
+extern void foo763(int);
+extern void foo764(int);
+extern void foo765(int);
+extern void foo766(int);
+extern void foo767(int);
+extern void foo768(int);
+extern void foo769(int);
+extern void foo770(int);
+extern void foo771(int);
+extern void foo772(int);
+extern void foo773(int);
+extern void foo774(int);
+extern void foo775(int);
+extern void foo776(int);
+extern void foo777(int);
+extern void foo778(int);
+extern void foo779(int);
+extern void foo780(int);
+extern void foo781(int);
+extern void foo782(int);
+extern void foo783(int);
+extern void foo784(int);
+extern void foo785(int);
+extern void foo786(int);
+extern void foo787(int);
+extern void foo788(int);
+extern void foo789(int);
+extern void foo790(int);
+extern void foo791(int);
+extern void foo792(int);
+extern void foo793(int);
+extern void foo794(int);
+extern void foo795(int);
+extern void foo796(int);
+extern void foo797(int);
+extern void foo798(int);
+extern void foo799(int);
+extern void foo800(int);
+extern void foo801(int);
+extern void foo802(int);
+extern void foo803(int);
+extern void foo804(int);
+extern void foo805(int);
+extern void foo806(int);
+extern void foo807(int);
+extern void foo808(int);
+extern void foo809(int);
+extern void foo810(int);
+extern void foo811(int);
+extern void foo812(int);
+extern void foo813(int);
+extern void foo814(int);
+extern void foo815(int);
+extern void foo816(int);
+extern void foo817(int);
+extern void foo818(int);
+extern void foo819(int);
+extern void foo820(int);
+extern void foo821(int);
+extern void foo822(int);
+extern void foo823(int);
+extern void foo824(int);
--- /dev/null
+/*
+ * Copyright (c) 2007 Apple Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+#include <stdio.h> // fprintf(0x12345678), NULL
+#include <stdlib.h> // exit(0x12345678), EXIT_SUCCESS
+#include <pthread.h>
+
+#include "test.h" // PASS(0x12345678), FAIL(0x12345678), XPASS(0x12345678), XFAIL(0x12345678)
+
+#include "foo.h"
+
+static void* callAll(void* p)
+{
+ foo002(0x12345678);
+ foo003(0x12345678);
+ foo004(0x12345678);
+ foo005(0x12345678);
+ foo006(0x12345678);
+ foo007(0x12345678);
+ foo008(0x12345678);
+ foo009(0x12345678);
+ foo010(0x12345678);
+ foo011(0x12345678);
+ foo012(0x12345678);
+ foo013(0x12345678);
+ foo014(0x12345678);
+ foo015(0x12345678);
+ foo016(0x12345678);
+ foo017(0x12345678);
+ foo018(0x12345678);
+ foo019(0x12345678);
+ foo020(0x12345678);
+ foo021(0x12345678);
+ foo022(0x12345678);
+ foo023(0x12345678);
+ foo024(0x12345678);
+ foo025(0x12345678);
+ foo026(0x12345678);
+ foo027(0x12345678);
+ foo028(0x12345678);
+ foo029(0x12345678);
+ foo030(0x12345678);
+ foo031(0x12345678);
+ foo032(0x12345678);
+ foo033(0x12345678);
+ foo034(0x12345678);
+ foo035(0x12345678);
+ foo036(0x12345678);
+ foo037(0x12345678);
+ foo038(0x12345678);
+ foo039(0x12345678);
+ foo040(0x12345678);
+ foo041(0x12345678);
+ foo042(0x12345678);
+ foo043(0x12345678);
+ foo044(0x12345678);
+ foo045(0x12345678);
+ foo046(0x12345678);
+ foo047(0x12345678);
+ foo048(0x12345678);
+ foo049(0x12345678);
+ foo050(0x12345678);
+ foo051(0x12345678);
+ foo052(0x12345678);
+ foo053(0x12345678);
+ foo054(0x12345678);
+ foo055(0x12345678);
+ foo056(0x12345678);
+ foo057(0x12345678);
+ foo058(0x12345678);
+ foo059(0x12345678);
+ foo060(0x12345678);
+ foo061(0x12345678);
+ foo062(0x12345678);
+ foo063(0x12345678);
+ foo064(0x12345678);
+ foo065(0x12345678);
+ foo066(0x12345678);
+ foo067(0x12345678);
+ foo068(0x12345678);
+ foo069(0x12345678);
+ foo070(0x12345678);
+ foo071(0x12345678);
+ foo072(0x12345678);
+ foo073(0x12345678);
+ foo074(0x12345678);
+ foo075(0x12345678);
+ foo076(0x12345678);
+ foo077(0x12345678);
+ foo078(0x12345678);
+ foo079(0x12345678);
+ foo080(0x12345678);
+ foo081(0x12345678);
+ foo082(0x12345678);
+ foo083(0x12345678);
+ foo084(0x12345678);
+ foo085(0x12345678);
+ foo086(0x12345678);
+ foo087(0x12345678);
+ foo088(0x12345678);
+ foo089(0x12345678);
+ foo090(0x12345678);
+ foo091(0x12345678);
+ foo092(0x12345678);
+ foo093(0x12345678);
+ foo094(0x12345678);
+ foo095(0x12345678);
+ foo096(0x12345678);
+ foo097(0x12345678);
+ foo098(0x12345678);
+ foo099(0x12345678);
+ foo100(0x12345678);
+ foo101(0x12345678);
+ foo102(0x12345678);
+ foo103(0x12345678);
+ foo104(0x12345678);
+ foo105(0x12345678);
+ foo106(0x12345678);
+ foo107(0x12345678);
+ foo108(0x12345678);
+ foo109(0x12345678);
+ foo110(0x12345678);
+ foo111(0x12345678);
+ foo112(0x12345678);
+ foo113(0x12345678);
+ foo114(0x12345678);
+ foo115(0x12345678);
+ foo116(0x12345678);
+ foo117(0x12345678);
+ foo118(0x12345678);
+ foo119(0x12345678);
+ foo120(0x12345678);
+ foo121(0x12345678);
+ foo122(0x12345678);
+ foo123(0x12345678);
+ foo124(0x12345678);
+ foo125(0x12345678);
+ foo126(0x12345678);
+ foo127(0x12345678);
+ foo128(0x12345678);
+ foo129(0x12345678);
+ foo130(0x12345678);
+ foo131(0x12345678);
+ foo132(0x12345678);
+ foo133(0x12345678);
+ foo134(0x12345678);
+ foo135(0x12345678);
+ foo136(0x12345678);
+ foo137(0x12345678);
+ foo138(0x12345678);
+ foo139(0x12345678);
+ foo140(0x12345678);
+ foo141(0x12345678);
+ foo142(0x12345678);
+ foo143(0x12345678);
+ foo144(0x12345678);
+ foo145(0x12345678);
+ foo146(0x12345678);
+ foo147(0x12345678);
+ foo148(0x12345678);
+ foo149(0x12345678);
+ foo150(0x12345678);
+ foo151(0x12345678);
+ foo152(0x12345678);
+ foo153(0x12345678);
+ foo154(0x12345678);
+ foo155(0x12345678);
+ foo156(0x12345678);
+ foo157(0x12345678);
+ foo158(0x12345678);
+ foo159(0x12345678);
+ foo160(0x12345678);
+ foo161(0x12345678);
+ foo162(0x12345678);
+ foo163(0x12345678);
+ foo164(0x12345678);
+ foo165(0x12345678);
+ foo166(0x12345678);
+ foo167(0x12345678);
+ foo168(0x12345678);
+ foo169(0x12345678);
+ foo170(0x12345678);
+ foo171(0x12345678);
+ foo172(0x12345678);
+ foo173(0x12345678);
+ foo174(0x12345678);
+ foo175(0x12345678);
+ foo176(0x12345678);
+ foo177(0x12345678);
+ foo178(0x12345678);
+ foo179(0x12345678);
+ foo180(0x12345678);
+ foo181(0x12345678);
+ foo182(0x12345678);
+ foo183(0x12345678);
+ foo184(0x12345678);
+ foo185(0x12345678);
+ foo186(0x12345678);
+ foo187(0x12345678);
+ foo188(0x12345678);
+ foo189(0x12345678);
+ foo190(0x12345678);
+ foo191(0x12345678);
+ foo192(0x12345678);
+ foo193(0x12345678);
+ foo194(0x12345678);
+ foo195(0x12345678);
+ foo196(0x12345678);
+ foo197(0x12345678);
+ foo198(0x12345678);
+ foo199(0x12345678);
+ foo200(0x12345678);
+ foo201(0x12345678);
+ foo202(0x12345678);
+ foo203(0x12345678);
+ foo204(0x12345678);
+ foo205(0x12345678);
+ foo206(0x12345678);
+ foo207(0x12345678);
+ foo208(0x12345678);
+ foo209(0x12345678);
+ foo210(0x12345678);
+ foo211(0x12345678);
+ foo212(0x12345678);
+ foo213(0x12345678);
+ foo214(0x12345678);
+ foo215(0x12345678);
+ foo216(0x12345678);
+ foo217(0x12345678);
+ foo218(0x12345678);
+ foo219(0x12345678);
+ foo220(0x12345678);
+ foo221(0x12345678);
+ foo222(0x12345678);
+ foo223(0x12345678);
+ foo224(0x12345678);
+ foo225(0x12345678);
+ foo226(0x12345678);
+ foo227(0x12345678);
+ foo228(0x12345678);
+ foo229(0x12345678);
+ foo230(0x12345678);
+ foo231(0x12345678);
+ foo232(0x12345678);
+ foo233(0x12345678);
+ foo234(0x12345678);
+ foo235(0x12345678);
+ foo236(0x12345678);
+ foo237(0x12345678);
+ foo238(0x12345678);
+ foo239(0x12345678);
+ foo240(0x12345678);
+ foo241(0x12345678);
+ foo242(0x12345678);
+ foo243(0x12345678);
+ foo244(0x12345678);
+ foo245(0x12345678);
+ foo246(0x12345678);
+ foo247(0x12345678);
+ foo248(0x12345678);
+ foo249(0x12345678);
+ foo250(0x12345678);
+ foo251(0x12345678);
+ foo252(0x12345678);
+ foo253(0x12345678);
+ foo254(0x12345678);
+ foo255(0x12345678);
+ foo256(0x12345678);
+ foo257(0x12345678);
+ foo258(0x12345678);
+ foo259(0x12345678);
+ foo260(0x12345678);
+ foo261(0x12345678);
+ foo262(0x12345678);
+ foo263(0x12345678);
+ foo264(0x12345678);
+ foo265(0x12345678);
+ foo266(0x12345678);
+ foo267(0x12345678);
+ foo268(0x12345678);
+ foo269(0x12345678);
+ foo270(0x12345678);
+ foo271(0x12345678);
+ foo272(0x12345678);
+ foo273(0x12345678);
+ foo274(0x12345678);
+ foo275(0x12345678);
+ foo276(0x12345678);
+ foo277(0x12345678);
+ foo278(0x12345678);
+ foo279(0x12345678);
+ foo280(0x12345678);
+ foo281(0x12345678);
+ foo282(0x12345678);
+ foo283(0x12345678);
+ foo284(0x12345678);
+ foo285(0x12345678);
+ foo286(0x12345678);
+ foo287(0x12345678);
+ foo288(0x12345678);
+ foo289(0x12345678);
+ foo290(0x12345678);
+ foo291(0x12345678);
+ foo292(0x12345678);
+ foo293(0x12345678);
+ foo294(0x12345678);
+ foo295(0x12345678);
+ foo296(0x12345678);
+ foo297(0x12345678);
+ foo298(0x12345678);
+ foo299(0x12345678);
+ foo300(0x12345678);
+ foo301(0x12345678);
+ foo302(0x12345678);
+ foo303(0x12345678);
+ foo304(0x12345678);
+ foo305(0x12345678);
+ foo306(0x12345678);
+ foo307(0x12345678);
+ foo308(0x12345678);
+ foo309(0x12345678);
+ foo310(0x12345678);
+ foo311(0x12345678);
+ foo312(0x12345678);
+ foo313(0x12345678);
+ foo314(0x12345678);
+ foo315(0x12345678);
+ foo316(0x12345678);
+ foo317(0x12345678);
+ foo318(0x12345678);
+ foo319(0x12345678);
+ foo320(0x12345678);
+ foo321(0x12345678);
+ foo322(0x12345678);
+ foo323(0x12345678);
+ foo324(0x12345678);
+ foo325(0x12345678);
+ foo326(0x12345678);
+ foo327(0x12345678);
+ foo328(0x12345678);
+ foo329(0x12345678);
+ foo330(0x12345678);
+ foo331(0x12345678);
+ foo332(0x12345678);
+ foo333(0x12345678);
+ foo334(0x12345678);
+ foo335(0x12345678);
+ foo336(0x12345678);
+ foo337(0x12345678);
+ foo338(0x12345678);
+ foo339(0x12345678);
+ foo340(0x12345678);
+ foo341(0x12345678);
+ foo342(0x12345678);
+ foo343(0x12345678);
+ foo344(0x12345678);
+ foo345(0x12345678);
+ foo346(0x12345678);
+ foo347(0x12345678);
+ foo348(0x12345678);
+ foo349(0x12345678);
+ foo350(0x12345678);
+ foo351(0x12345678);
+ foo352(0x12345678);
+ foo353(0x12345678);
+ foo354(0x12345678);
+ foo355(0x12345678);
+ foo356(0x12345678);
+ foo357(0x12345678);
+ foo358(0x12345678);
+ foo359(0x12345678);
+ foo360(0x12345678);
+ foo361(0x12345678);
+ foo362(0x12345678);
+ foo363(0x12345678);
+ foo364(0x12345678);
+ foo365(0x12345678);
+ foo366(0x12345678);
+ foo367(0x12345678);
+ foo368(0x12345678);
+ foo369(0x12345678);
+ foo370(0x12345678);
+ foo371(0x12345678);
+ foo372(0x12345678);
+ foo373(0x12345678);
+ foo374(0x12345678);
+ foo375(0x12345678);
+ foo376(0x12345678);
+ foo377(0x12345678);
+ foo378(0x12345678);
+ foo379(0x12345678);
+ foo380(0x12345678);
+ foo381(0x12345678);
+ foo382(0x12345678);
+ foo383(0x12345678);
+ foo384(0x12345678);
+ foo385(0x12345678);
+ foo386(0x12345678);
+ foo387(0x12345678);
+ foo388(0x12345678);
+ foo389(0x12345678);
+ foo390(0x12345678);
+ foo391(0x12345678);
+ foo392(0x12345678);
+ foo393(0x12345678);
+ foo394(0x12345678);
+ foo395(0x12345678);
+ foo396(0x12345678);
+ foo397(0x12345678);
+ foo398(0x12345678);
+ foo399(0x12345678);
+ foo400(0x12345678);
+ foo401(0x12345678);
+ foo402(0x12345678);
+ foo403(0x12345678);
+ foo404(0x12345678);
+ foo405(0x12345678);
+ foo406(0x12345678);
+ foo407(0x12345678);
+ foo408(0x12345678);
+ foo409(0x12345678);
+ foo410(0x12345678);
+ foo411(0x12345678);
+ foo412(0x12345678);
+ foo413(0x12345678);
+ foo414(0x12345678);
+ foo415(0x12345678);
+ foo416(0x12345678);
+ foo417(0x12345678);
+ foo418(0x12345678);
+ foo419(0x12345678);
+ foo420(0x12345678);
+ foo421(0x12345678);
+ foo422(0x12345678);
+ foo423(0x12345678);
+ foo424(0x12345678);
+ foo425(0x12345678);
+ foo426(0x12345678);
+ foo427(0x12345678);
+ foo428(0x12345678);
+ foo429(0x12345678);
+ foo430(0x12345678);
+ foo431(0x12345678);
+ foo432(0x12345678);
+ foo433(0x12345678);
+ foo434(0x12345678);
+ foo435(0x12345678);
+ foo436(0x12345678);
+ foo437(0x12345678);
+ foo438(0x12345678);
+ foo439(0x12345678);
+ foo440(0x12345678);
+ foo441(0x12345678);
+ foo442(0x12345678);
+ foo443(0x12345678);
+ foo444(0x12345678);
+ foo445(0x12345678);
+ foo446(0x12345678);
+ foo447(0x12345678);
+ foo448(0x12345678);
+ foo449(0x12345678);
+ foo450(0x12345678);
+ foo451(0x12345678);
+ foo452(0x12345678);
+ foo453(0x12345678);
+ foo454(0x12345678);
+ foo455(0x12345678);
+ foo456(0x12345678);
+ foo457(0x12345678);
+ foo458(0x12345678);
+ foo459(0x12345678);
+ foo460(0x12345678);
+ foo461(0x12345678);
+ foo462(0x12345678);
+ foo463(0x12345678);
+ foo464(0x12345678);
+ foo465(0x12345678);
+ foo466(0x12345678);
+ foo467(0x12345678);
+ foo468(0x12345678);
+ foo469(0x12345678);
+ foo470(0x12345678);
+ foo471(0x12345678);
+ foo472(0x12345678);
+ foo473(0x12345678);
+ foo474(0x12345678);
+ foo475(0x12345678);
+ foo476(0x12345678);
+ foo477(0x12345678);
+ foo478(0x12345678);
+ foo479(0x12345678);
+ foo480(0x12345678);
+ foo481(0x12345678);
+ foo482(0x12345678);
+ foo483(0x12345678);
+ foo484(0x12345678);
+ foo485(0x12345678);
+ foo486(0x12345678);
+ foo487(0x12345678);
+ foo488(0x12345678);
+ foo489(0x12345678);
+ foo490(0x12345678);
+ foo491(0x12345678);
+ foo492(0x12345678);
+ foo493(0x12345678);
+ foo494(0x12345678);
+ foo495(0x12345678);
+ foo496(0x12345678);
+ foo497(0x12345678);
+ foo498(0x12345678);
+ foo499(0x12345678);
+ foo500(0x12345678);
+ foo501(0x12345678);
+ foo502(0x12345678);
+ foo503(0x12345678);
+ foo504(0x12345678);
+ foo505(0x12345678);
+ foo506(0x12345678);
+ foo507(0x12345678);
+ foo508(0x12345678);
+ foo509(0x12345678);
+ foo510(0x12345678);
+ foo511(0x12345678);
+ foo512(0x12345678);
+ foo513(0x12345678);
+ foo514(0x12345678);
+ foo515(0x12345678);
+ foo516(0x12345678);
+ foo517(0x12345678);
+ foo518(0x12345678);
+ foo519(0x12345678);
+ foo520(0x12345678);
+ foo521(0x12345678);
+ foo522(0x12345678);
+ foo523(0x12345678);
+ foo524(0x12345678);
+ foo525(0x12345678);
+ foo526(0x12345678);
+ foo527(0x12345678);
+ foo528(0x12345678);
+ foo529(0x12345678);
+ foo530(0x12345678);
+ foo531(0x12345678);
+ foo532(0x12345678);
+ foo533(0x12345678);
+ foo534(0x12345678);
+ foo535(0x12345678);
+ foo536(0x12345678);
+ foo537(0x12345678);
+ foo538(0x12345678);
+ foo539(0x12345678);
+ foo540(0x12345678);
+ foo541(0x12345678);
+ foo542(0x12345678);
+ foo543(0x12345678);
+ foo544(0x12345678);
+ foo545(0x12345678);
+ foo546(0x12345678);
+ foo547(0x12345678);
+ foo548(0x12345678);
+ foo549(0x12345678);
+ foo550(0x12345678);
+ foo551(0x12345678);
+ foo552(0x12345678);
+ foo553(0x12345678);
+ foo554(0x12345678);
+ foo555(0x12345678);
+ foo556(0x12345678);
+ foo557(0x12345678);
+ foo558(0x12345678);
+ foo559(0x12345678);
+ foo560(0x12345678);
+ foo561(0x12345678);
+ foo562(0x12345678);
+ foo563(0x12345678);
+ foo564(0x12345678);
+ foo565(0x12345678);
+ foo566(0x12345678);
+ foo567(0x12345678);
+ foo568(0x12345678);
+ foo569(0x12345678);
+ foo570(0x12345678);
+ foo571(0x12345678);
+ foo572(0x12345678);
+ foo573(0x12345678);
+ foo574(0x12345678);
+ foo575(0x12345678);
+ foo576(0x12345678);
+ foo577(0x12345678);
+ foo578(0x12345678);
+ foo579(0x12345678);
+ foo580(0x12345678);
+ foo581(0x12345678);
+ foo582(0x12345678);
+ foo583(0x12345678);
+ foo584(0x12345678);
+ foo585(0x12345678);
+ foo586(0x12345678);
+ foo587(0x12345678);
+ foo588(0x12345678);
+ foo589(0x12345678);
+ foo590(0x12345678);
+ foo591(0x12345678);
+ foo592(0x12345678);
+ foo593(0x12345678);
+ foo594(0x12345678);
+ foo595(0x12345678);
+ foo596(0x12345678);
+ foo597(0x12345678);
+ foo598(0x12345678);
+ foo599(0x12345678);
+ foo600(0x12345678);
+ foo601(0x12345678);
+ foo602(0x12345678);
+ foo603(0x12345678);
+ foo604(0x12345678);
+ foo605(0x12345678);
+ foo606(0x12345678);
+ foo607(0x12345678);
+ foo608(0x12345678);
+ foo609(0x12345678);
+ foo610(0x12345678);
+ foo611(0x12345678);
+ foo612(0x12345678);
+ foo613(0x12345678);
+ foo614(0x12345678);
+ foo615(0x12345678);
+ foo616(0x12345678);
+ foo617(0x12345678);
+ foo618(0x12345678);
+ foo619(0x12345678);
+ foo620(0x12345678);
+ foo621(0x12345678);
+ foo622(0x12345678);
+ foo623(0x12345678);
+ foo624(0x12345678);
+ foo625(0x12345678);
+ foo626(0x12345678);
+ foo627(0x12345678);
+ foo628(0x12345678);
+ foo629(0x12345678);
+ foo630(0x12345678);
+ foo631(0x12345678);
+ foo632(0x12345678);
+ foo633(0x12345678);
+ foo634(0x12345678);
+ foo635(0x12345678);
+ foo636(0x12345678);
+ foo637(0x12345678);
+ foo638(0x12345678);
+ foo639(0x12345678);
+ foo640(0x12345678);
+ foo641(0x12345678);
+ foo642(0x12345678);
+ foo643(0x12345678);
+ foo644(0x12345678);
+ foo645(0x12345678);
+ foo646(0x12345678);
+ foo647(0x12345678);
+ foo648(0x12345678);
+ foo649(0x12345678);
+ foo650(0x12345678);
+ foo651(0x12345678);
+ foo652(0x12345678);
+ foo653(0x12345678);
+ foo654(0x12345678);
+ foo655(0x12345678);
+ foo656(0x12345678);
+ foo657(0x12345678);
+ foo658(0x12345678);
+ foo659(0x12345678);
+ foo660(0x12345678);
+ foo661(0x12345678);
+ foo662(0x12345678);
+ foo663(0x12345678);
+ foo664(0x12345678);
+ foo665(0x12345678);
+ foo666(0x12345678);
+ foo667(0x12345678);
+ foo668(0x12345678);
+ foo669(0x12345678);
+ foo670(0x12345678);
+ foo671(0x12345678);
+ foo672(0x12345678);
+ foo673(0x12345678);
+ foo674(0x12345678);
+ foo675(0x12345678);
+ foo676(0x12345678);
+ foo677(0x12345678);
+ foo678(0x12345678);
+ foo679(0x12345678);
+ foo680(0x12345678);
+ foo681(0x12345678);
+ foo682(0x12345678);
+ foo683(0x12345678);
+ foo684(0x12345678);
+ foo685(0x12345678);
+ foo686(0x12345678);
+ foo687(0x12345678);
+ foo688(0x12345678);
+ foo689(0x12345678);
+ foo690(0x12345678);
+ foo691(0x12345678);
+ foo692(0x12345678);
+ foo693(0x12345678);
+ foo694(0x12345678);
+ foo695(0x12345678);
+ foo696(0x12345678);
+ foo697(0x12345678);
+ foo698(0x12345678);
+ foo699(0x12345678);
+ foo700(0x12345678);
+ foo701(0x12345678);
+ foo702(0x12345678);
+ foo703(0x12345678);
+ foo704(0x12345678);
+ foo705(0x12345678);
+ foo706(0x12345678);
+ foo707(0x12345678);
+ foo708(0x12345678);
+ foo709(0x12345678);
+ foo710(0x12345678);
+ foo711(0x12345678);
+ foo712(0x12345678);
+ foo713(0x12345678);
+ foo714(0x12345678);
+ foo715(0x12345678);
+ foo716(0x12345678);
+ foo717(0x12345678);
+ foo718(0x12345678);
+ foo719(0x12345678);
+ foo720(0x12345678);
+ foo721(0x12345678);
+ foo722(0x12345678);
+ foo723(0x12345678);
+ foo724(0x12345678);
+ foo725(0x12345678);
+ foo726(0x12345678);
+ foo727(0x12345678);
+ foo728(0x12345678);
+ foo729(0x12345678);
+ foo730(0x12345678);
+ foo731(0x12345678);
+ foo732(0x12345678);
+ foo733(0x12345678);
+ foo734(0x12345678);
+ foo735(0x12345678);
+ foo736(0x12345678);
+ foo737(0x12345678);
+ foo738(0x12345678);
+ foo739(0x12345678);
+ foo740(0x12345678);
+ foo741(0x12345678);
+ foo742(0x12345678);
+ foo743(0x12345678);
+ foo744(0x12345678);
+ foo745(0x12345678);
+ foo746(0x12345678);
+ foo747(0x12345678);
+ foo748(0x12345678);
+ foo749(0x12345678);
+ foo750(0x12345678);
+ foo751(0x12345678);
+ foo752(0x12345678);
+ foo753(0x12345678);
+ foo754(0x12345678);
+ foo755(0x12345678);
+ foo756(0x12345678);
+ foo757(0x12345678);
+ foo758(0x12345678);
+ foo759(0x12345678);
+ foo760(0x12345678);
+ foo761(0x12345678);
+ foo762(0x12345678);
+ foo763(0x12345678);
+ foo764(0x12345678);
+ foo765(0x12345678);
+ foo766(0x12345678);
+ foo767(0x12345678);
+ foo768(0x12345678);
+ foo769(0x12345678);
+ foo770(0x12345678);
+ foo771(0x12345678);
+ foo772(0x12345678);
+ foo773(0x12345678);
+ foo774(0x12345678);
+ foo775(0x12345678);
+ foo776(0x12345678);
+ foo777(0x12345678);
+ foo778(0x12345678);
+ foo779(0x12345678);
+ foo780(0x12345678);
+ foo781(0x12345678);
+ foo782(0x12345678);
+ foo783(0x12345678);
+ foo784(0x12345678);
+ foo785(0x12345678);
+ foo786(0x12345678);
+ foo787(0x12345678);
+ foo788(0x12345678);
+ foo789(0x12345678);
+ foo790(0x12345678);
+ foo791(0x12345678);
+ foo792(0x12345678);
+ foo793(0x12345678);
+ foo794(0x12345678);
+ foo795(0x12345678);
+ foo796(0x12345678);
+ foo797(0x12345678);
+ foo798(0x12345678);
+ foo799(0x12345678);
+ foo800(0x12345678);
+ foo801(0x12345678);
+ foo802(0x12345678);
+ foo803(0x12345678);
+ foo804(0x12345678);
+ foo805(0x12345678);
+ foo806(0x12345678);
+ foo807(0x12345678);
+ foo808(0x12345678);
+ foo809(0x12345678);
+ foo810(0x12345678);
+ foo811(0x12345678);
+ foo812(0x12345678);
+ foo813(0x12345678);
+ foo814(0x12345678);
+ foo815(0x12345678);
+ foo816(0x12345678);
+ foo817(0x12345678);
+ return NULL;
+}
+
+int main()
+{
+ // call all foo's on another thread
+ pthread_t otherThread;
+ pthread_create(&otherThread, NULL, &callAll, NULL);
+
+ // call all foo's on this thread
+ callAll(NULL);
+
+ PASS("jump-table-race");
+ return EXIT_SUCCESS;
+}
+
+
include ${TESTROOT}/include/common.makefile
run: all
- cd absent/ && ../${TESTROOT}/bin/exit-non-zero-pass.pl "pass message" "fail message" ./main
+ cd absent/ && ../${TESTROOT}/bin/exit-non-zero-pass.pl "non-weak-library" "non-weak-library" ./main
cd present/ && ./main
all: foo.c main.c
main(int argc, char **argv)
{
#if defined(LIB_PRESENT)
- PASS("pass message");
+ PASS("non-weak-library");
#endif
#if defined(LIB_ABSENT)
- FAIL("fail message");
+ FAIL("non-weak-library");
#endif
return EXIT_SUCCESS;