Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 125710 Details for
Bug 186279
llvm-base-2.0.ebuild and llvm-gcc-2.0.ebuild (new packages)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Patch required for llvm-base-2.0
llvm-base-2.0-pr1448.patch (text/plain), 2.42 KB, created by
jlh
on 2007-07-22 23:40:43 UTC
(
hide
)
Description:
Patch required for llvm-base-2.0
Filename:
MIME Type:
Creator:
jlh
Created:
2007-07-22 23:40:43 UTC
Size:
2.42 KB
patch
obsolete
>--- tools/llvm-ld/llvm-ld.cpp (revision 37657) >+++ tools/llvm-ld/llvm-ld.cpp (revision 37658) >@@ -326,46 +326,52 @@ > // We can't just assemble and link the file with the system assembler > // and linker because we don't know where to put the _start symbol. > // GCC mysteriously knows how to do it. >- std::vector<const char*> args; >+ std::vector<std::string> args; > args.push_back(gcc.c_str()); > args.push_back("-fno-strict-aliasing"); > args.push_back("-O3"); > args.push_back("-o"); >- args.push_back(OutputFilename.c_str()); >- args.push_back(InputFilename.c_str()); >+ args.push_back(OutputFilename); >+ args.push_back(InputFilename); > > // Add in the library paths > for (unsigned index = 0; index < LibPaths.size(); index++) { > args.push_back("-L"); >- args.push_back(LibPaths[index].c_str()); >+ args.push_back(LibPaths[index]); > } > > // Add the requested options > for (unsigned index = 0; index < XLinker.size(); index++) { >- args.push_back(XLinker[index].c_str()); >- args.push_back(Libraries[index].c_str()); >+ args.push_back(XLinker[index]); >+ args.push_back(Libraries[index]); > } > > // Add in the libraries to link. > for (unsigned index = 0; index < LinkItems.size(); index++) > if (LinkItems[index].first != "crtend") { >- if (LinkItems[index].second) { >- std::string lib_name = "-l" + LinkItems[index].first; >- args.push_back(lib_name.c_str()); >- } else >- args.push_back(LinkItems[index].first.c_str()); >+ if (LinkItems[index].second) >+ args.push_back("-l" + LinkItems[index].first); >+ else >+ args.push_back(LinkItems[index].first); > } > >- args.push_back(0); >+ >+ // Now that "args" owns all the std::strings for the arguments, call the c_str >+ // method to get the underlying string array. We do this game so that the >+ // std::string array is guaranteed to outlive the const char* array. >+ std::vector<const char *> Args; >+ for (unsigned i = 0, e = args.size(); i != e; ++i) >+ Args.push_back(args[i].c_str()); >+ Args.push_back(0); > > if (Verbose) { > cout << "Generating Native Executable With:\n"; >- PrintCommand(args); >+ PrintCommand(Args); > } > > // Run the compiler to assembly and link together the program. > int R = sys::Program::ExecuteAndWait( >- gcc, &args[0], (const char**)clean_env, 0, 0, 0, &ErrMsg); >+ gcc, &Args[0], (const char**)clean_env, 0, 0, 0, &ErrMsg); > delete [] clean_env; > return R; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 186279
:
125709
|
125710
|
125712
|
132036
|
132037
|
160508
|
160511
|
160513
|
160515
|
160558
|
163456
|
163457
|
165269
|
169784
|
171741
|
171745
|
184065
|
184068
|
185714
|
193178
|
198650
|
201594
|
201603
|
201739
|
202564
|
203064
|
204168