Fwd: Re: matrix linking
Beg your pardon, I lost the CC. regards. - Forwarded message from [EMAIL PROTECTED] - Date: Wed, 11 Jan 2006 02:16:10 -0600 From: [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] Subject: Re: matrix linking To: Sean Callanan <[EMAIL PROTECTED]> Dear Sean. Thank you very much for you reply. I will try to answer for some of your questions. > In short, you are proposing that instead of linking an executable, it > be made into a bunch of shared libraries. The function calls > between these shared libraries be arbitrated by a "dispatcher" which > can dynamically reroute function calls. In short yes. > There already exists a technique to do this if you're willing to > restart your app: incremental linking. Many IDEs support something > like this (it's called ZeroLink in Apple's Xcode, for example), and > even GNU ld has the -r option, which makes an object file > relocatable, making it quicker to link. Incremental linking is quite different thing; it goes in parallel with idea of Matrix Linking. For instance those modules which take part in matrix linking might be linked incrementally, do not see any problems here. > If you want to be able to do this without restarting, there are some > challenges: A lot of challenges here. A mess of them. Therefore I raised a site, to collect everything I have got on the matter, therefore if you would not mind I will put these one you mentioned to the schedule. > 1) Static variables in modules would present problems, as these would > have to somehow be reinitialized to their values in the old module > (for instance, if you have a static pointer to a malloc()ed data > structure). > 2) If you plan to interpret code, the C interpreter would have to be > taught to access symbols in other modules if they are undefined in > the module it is interpreting. Interpreter is the weakest thing here, its communication with compiled code especially. By now I am trying to modify GCC (cc1) in such way it would be possible to apply matrix linking for .C modules only, C++ by now looks to be unsolvable task, that was the purpose of my writing, actually. > > 3) You would have to figure out how to interpose on functions called > via function pointers. > 4) In a multithreaded application, you'd have to make sure that > module replacement is atomic and you handle the case of replacing a > module at a time where a thread is executing a function in it. Some solutions I am putting here: http://docs.georgeshagov.com/twiki/tiki-index.php In a very brief. Let me get back to my initial purpose. I need some kind of assistance with cc1 sources. Videlicet I am trying to modify it in such way that during the compilation of .C module on function description it would automatically produce additional code (stub-function), and proxy function. These ones to be compiled by some template, its compiled code (I thing the assembler) is to be inserted in the original module. The entire calls to the function are to be redirected through the external matrix. This is my initial plan. I can not say I am not able to do it by myself, but if someone from GCC team would assist that would be just perfect. I mean both, the architectural approach and details of implementation. I have some specific question regarding GCC code, but by now the question is: will someone from GCC team cooperate or not? That is my initial purpose. Sincerely yours, George. Quoting Sean Callanan <[EMAIL PROTECTED]>: > In short, you are proposing that instead of linking an executable, it > be made into a bunch of shared libraries. The function calls > between these shared libraries be arbitrated by a "dispatcher" which > can dynamically reroute function calls. > > There already exists a technique to do this if you're willing to > restart your app: incremental linking. Many IDEs support something > like this (it's called ZeroLink in Apple's Xcode, for example), and > even GNU ld has the -r option, which makes an object file > relocatable, making it quicker to link. > > If you want to be able to do this without restarting, there are some > challenges: > > 1) Static variables in modules would present problems, as these would > have to somehow be reinitialized to their values in the old module > (for instance, if you have a static pointer to a malloc()ed data > structure). > > 2) If you plan to interpret code, the C interpreter would have to be > taught to access symbols in other modules if they are undefined in > the module it is interpreting. > > 3) You would have to figure out how to interpose on functions called > via function pointers. > > 4) In a multithreaded application, you'd have to make sure that > module replacement is atomic and you handle the case of repla
Re: matrix linking
Dear Mike, dear Sirs. Thank you very much for the letter. The idea of runtime linking seems to be quite natural, therefore last half a year couple of time I thought myself a madman. I am glad to see your letter, it means if it be I am crazy I am not alone :-) Close to the matter. Let me summarize a little bit in order to bring some clarity, I rather do it for myself :-) So, AFAIU darwin GCC has a runtime linker. After you explanation to me situation looks like this: 1. during the compilation darwin's GCC adds 'nops' at the beginning of every function. 2. When application started it is linked in the common way. 3. After certain change is applied application gets recompiled, BTW it would be interesting to know, for I believe only the changes needs to be compiled and linked, so it would appear we have got a new module, with changes. 4. It is a question unto me how runtime linker knows its time, yet it loads newly compiled module and AFAIU this module needs a common linkage also, in order to handle the calls to the other functions 5. runtime linker mends 'nops' of the changed functions by means of 'jmp' to the new functions. 6. That's it. We are done here. I thought some kind of that, yet moved to matrix approach. Reason? The clarity. For instance you have many ... let me say 'revisions' of the same function. In your case it is obvious how to handle jump to the newly compiled function, but how to handle roll-back to some particular revision of this function? How about revisioning for file and for module? These thought restrained me from doing any assembler hacks into the system. The basic is to control, the performance is at the ... third. :-) One more thing. My original purpose was to make possible to modify the algorithms runtime, without recompilation. For this case we need interpreter. In order to handle the calls to the interpreted function I am using approach with proxy-functions. (BTW you may find this topic interesting: http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix+Linking+-+Proxing) This approach BTW will work in your case, with 'nops'. But the management will not be clean I suspect. Performance. Yes of cause it causes degradation of performance, especially interpreting. I do not really care about that by now, for instance I introduce so-called stub-functions which delegate the call to the matrix, and that's it. It is obvious that these entities might be easily avoided if the call to the matrix will be handled instead to the call to the stub-function. Reason? Control. We are able to make logging here, for instance. I have some ideas about performance, I do not think this is a crucial issue. C++. Applying runtime linkage to C++ does not look to be a problem at all. I said the task is unsolvable due to interpreter. By now I know only two of them cint and ch. Both of them are able to handle only C-calls, moreover there is no any warranty that class signatures are similar for the binary code and interpreter, I am sure they are not :-) And more over, Who needs C++? :-) Synchronization and other challenges. Mike, do you have a copyright on that phrase: "there are certain realities when doing this, and its important to understand the limitations and gotchas. " ? :-) About my initial approach. I completely reviewed it :-). it looks like this: http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix+Linking+-+The+shortest+way+to+go, it would appear it is required to make an additional pass in order to formalize the matrix. The only deal with the compiler is to handle the calls to the functions, I mean they are to be redelivered to the stubs. Hmm It is a little bit longer I expected, sorry about that. PS. Dear Mike, I would be really interested in some questions regarded runtime linker. I am going to download the sources, yet in that same time if it be there is any additional dos about that, I would be really appreciate for the link. PPS the article might be found here: http://www.georgeshagov.com/matrixlinking/MatrixLinking/MatrixLinking.pdf , for your convinience. Sincerely yours, George. Quoting Mike Stump <[EMAIL PROTECTED]>: On Jan 10, 2006, at 4:32 AM, [EMAIL PROTECTED] wrote: I have some kind of an idea, which I called 'matrix linking'. It would appear this is a new kind of linking. Sorry, not very new. Microsoft has been doing it longer than we have I believe. On Jan 10, 2006, at 10:28 AM, Sean Callanan wrote: In short, you are proposing that instead of linking an executable, it be made into a bunch of shared libraries. The function calls between these shared libraries be arbitrated by a "dispatcher" which can dynamically reroute function calls. There already exists a technique to do this if you're willing to restart your app: incremental linking. Many IDEs support something like this (it's
IT help is on its way.
.auto-style1 { color: #80; } Please forward to whom concerned, We have managed to turn a full time job to a few clicks job. No more walking from workstation to workstation, or worse, office to office. Remotely configure your classifing/spam filters with our new device(RSF). 1 remote stop configuration and all your users are instantly configured without leaving your desk. * 1u or 2u rack mount server chassis. * 1 stop remote email configuration for all user(s) and/or group(s) * Set rules per user(s) and/or group(s) Classification by Sender, Subject, reciever or the whole body content. * Black / white list access to RSF device as wished * SNMP traps on potential problems. * Email/SMS on trap trigger. * Built in intrution detection. * Antivirus, malware protection and phishing.* Get notified on any kind of attempt by email or SMS. and much more. Get all the details at https://gbjade.com/ReSieve-email-classifier-spam-control.asp";>https://GbJade.com This e-mail has been sent to gcc@gcc.gnu.org, https://gbjade.com/unsubscribe.asp?E=gcc@gcc.gnu.org"; style="color:inherit;text-decoration:none;" target="_blank"> click here to unsubscribe.
Re: matrix linking
Mike, sorry for not answering. I think the idea of matrix linking is quite different, let me try to explain. I would not say the matrix linking is the bynamic bunding, or rather to say it is not only the dynamic binding. Let us consider a sample: void foo() { printf(foo\n); } int main(void) { foo(); return 0; } Being compiled this sample will give us an executable module. If it be we are going to change the algorithm of the function foo we need to recompile the module and reload it to the system, commanding dynamic binder to use newly compiled function foo instead of the previous one. How particularly it might look like it depends on realization of the dynamic binder. The approach proposed in matrix linking is intended to do very similar job with one exception. In this particular sample we actually have two modules, the first is ours, the second is the one, providing functionality of printf function, libc, for instance. (I am attaching the picture) So, the matrix linking approach says we will have matrix compiled as two arrays (rows) of the pointer, one is ours the second for libc functions. It means it is possible to substitute not only a foo function, but also a printf one. I am not going to analyze which particular benefits it might give. What I am saying that the intention of matrix linking is rather an approach to system development and their integrations. Let me add one more thing here. Regarding the posted sample. Let us say we have libfoo (our) module and libc modules. Supposing we would like to substitute printf function, for this purpose we have compiled libc_custom module within re-implemented printf (for instance). Thus we have got our system working properly. Let us say we need to restart our system. Does it mean we need to instantiate our binder (which makes the matrix) once again by libc_custom module? It is not necessary, since it is possible to dump that state of the matrix and after restart just reuse the previous state. In our case the state of the matrix might look like this: It might have looked like this is a question of customization. It is possible to argue the case, yet to me it serves much wider needs. regards. Quoting Mike Stump <[EMAIL PROTECTED]>: On Jan 18, 2006, at 10:24 PM, [EMAIL PROTECTED] wrote: I thought some kind of that, yet moved to matrix approach. Reason? The clarity. Clarity is not an in-vogue reason for compiler code generation. Size is, speed is. Sacrificing these two for clarity in generated code limits the end result to that of novelty item. For instance you have many ... let me say 'revisions' of the same function. In your case it is obvious how to handle jump to the newly compiled function, but how to handle roll-back to some particular revision of this function? If my scheme supports changing from X' to X'', then clearly it supports changing from X'' to X'. Just google undo buffer for an example algorithm that will do this. How about revisioning for file and for module? A file is just a collection of units, if you can do a unit, you can do a file (let me ignore file scope ctors/dtors for a second). Module, what's that? These thought restrained me from doing any assembler hacks into the system. Modifying the assembler would be bad. One more thing. My original purpose was to make possible to modify the algorithms runtime, without recompilation. For this case we need interpreter. If you're intention is to write an interpreter, that this is orthogonal to runtime rebinding. This list would be off-topic for discussing writing a C interpreter. you may find this topic interesting: http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix +Linking+-+Proxing) Can't manage to read it, posting links I can't read is bad style. Synchronization and other challenges. Mike, do you have a copyright on that phrase: "there are certain realities when doing this, and its important to understand the limitations and gotchas. " ? Yes, US law makes everything I write copyright. :-)/2 About my initial approach. I completely reviewed it :-). it looks like this: http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix +Linking+-+The+shortest+way+to+go, it would appear it is required to make an additional pass in order to formalize the matrix. This looks all wrong. See Objective C for an example of a dynamically rebindable language, further, you can examine the code generation, the data structures and runtime library to see how they achieve things. It doesn't need mlmake and doesn't need 'new passes' run by make. For example, you can see the gcc darwin port for how to generate a stub function that does some arbitrary thing inside a compiler. Dear Mike, I would be really interested in some questions regarded runtime linker. I am going to download the sources, yet in that same time if it be there is any additional dos about that, I would be really appreciate for the lin
trees: function declaration
Gentlemen. I need some kind of assistance. I am trying to substitute function name during the compilation procedure. In order to do that I am: 1. creating new identifier with my name, like this: t = get_identifier("Myfuction__ml_stub"); 2. setting this name: DECL_NAME(funcition) = t; function is the parameter of build_function_call (tree function, tree params) 3. changing assembler name: SET_DECL_ASSEMBLER_NAME(funcition, t); What I have: My sample app: #include extern int Myfunction(); /* int Myfunction() { printf("asd"); } */ int main() { Myfunction(); return 0; } in case the body of Myfunction is commented out, everything looks fine: the dump: @1 function_declname: @2 mngl: @3 type: @4 srcp: test.c:3undefined extern @2 string_cst strg: myfunction__ml_stub lngt: 20 @3 identifier_node strg: myfunction__ml_stub lngt: 19 @4 function_typesize: @5 algn: 8retn: @6 @5 integer_cst type: @7 low : 8 @6 integer_type name: @8 size: @9 algn: 32 prec: 32 min : @10 max : @11 @7 integer_type name: @12 unql: @13 size: @14 algn: 64 prec: 36 unsigned min : @15 max : @16 @8 type_declname: @17 type: @6 srcp: :0 @9 integer_cst type: @7 low : 32 @10 integer_cst type: @6 high: -1 low : -2147483648 @11 integer_cst type: @6 low : 2147483647 @12 identifier_node strg: bit_size_type lngt: 13 @13 integer_type name: @12 size: @14 algn: 64 prec: 36 @14 integer_cst type: @7 low : 64 @15 integer_cst type: @7 low : 0 @16 integer_cst type: @7 high: 15 low : -1 @17 identifier_node strg: int lngt: 3 asm: .file "test.c" .text .globl main .type main, @function main: pushl %ebp movl%esp, %ebp subl$8, %esp andl$-16, %esp movl$0, %eax addl$15, %eax addl$15, %eax shrl$4, %eax sall$4, %eax subl%eax, %esp callMyfunction__ml_stub movl$0, %eax leave ret .size main, .-main .ident "GCC: (GNU) 4.0.2" .section.note.GNU-stack,"",@progbits so it works. yet when the function body is not commented: #include extern int Myfunction(); int Myfunction() { printf("asd"); } int main() { Myfunction(); return 0; } I have: @1 function_declname: @2 type: @3 srcp: stdio.h:0 undefined extern @2 identifier_node strg: printf__ml_stub lngt: 15 @3 function_typesize: @4 algn: 8retn: @5 prms: @6 @4 integer_cst type: @7 low : 8 @5 integer_type name: @8 size: @9 algn: 32 prec: 32 min : @10 max : @11 @6 tree_listvalu: @12 @7 integer_type name: @13 unql: @14 size: @15 algn: 64 prec: 36 unsigned min : @16 max : @17 @8 type_declname: @18 type: @5 srcp: :0 @9 integer_cst type: @7 low : 32 @10 integer_cst type: @5 high: -1 low : -2147483648 @11 integer_cst type: @5 low : 2147483647 @12 pointer_type qual: r unql: @19 size: @9 algn: 32 ptd : @20 @13 identifier_node strg: bit_size_type lngt: 13 @14 integer_type name: @13 size: @15 algn: 64 prec: 36 @15 integer_cst type: @7 low : 64 @16 integer_cst type: @7 low : 0 @17 integer_cst type: @7 high: 15 low : -1 @18 identifier_node strg: int lngt: 3 @19 pointer_type size: @9 algn: 32 ptd : @20 @20 integer_type qual: cname: @21 unql: @22 size: @4 algn: 8prec: 8 min : @23 max : @24 @21 type_declname: @25 type: @22 srcp: :0 @22 integer_type name: @21 size: @4 algn: 8 prec: 8min : @23 max : @24 @23 integer_cst type: @22 high: -1 low : -128 @24 integer_cst type: @22 low : 127 @25 identifier_node strg: char lngt: 4 @1 function_declname: @2 type: @3 srcp: test.c:0 undefined extern @2 identifier_node strg: Myfunction__ml_stub lngt: 19 @3 function_typeunql: @4 size: @5 algn: 8
Fwd: trees: function declaration
No help? :-) BTW Is there any documenation on machine? I am looking at this one: http://www.mhatt.aps.anl.gov/dohn/programming/gcc/gccint.html#SEC_Top it might have been something else? Thank you. - Forwarded message from [EMAIL PROTECTED] - Date: Wed, 08 Feb 2006 08:02:20 -0600 From: [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] Subject: trees: function declaration To: GCC Development Gentlemen. I need some kind of assistance. I am trying to substitute function name during the compilation procedure. In order to do that I am: 1. creating new identifier with my name, like this: t = get_identifier("Myfuction__ml_stub"); 2. setting this name: DECL_NAME(funcition) = t; function is the parameter of build_function_call (tree function, tree params) 3. changing assembler name: SET_DECL_ASSEMBLER_NAME(funcition, t); What I have: My sample app: #include extern int Myfunction(); /* int Myfunction() { printf("asd"); } */ int main() { Myfunction(); return 0; } in case the body of Myfunction is commented out, everything looks fine: the dump: @1 function_declname: @2 mngl: @3 type: @4 srcp: test.c:3undefined extern @2 string_cst strg: myfunction__ml_stub lngt: 20 @3 identifier_node strg: myfunction__ml_stub lngt: 19 @4 function_typesize: @5 algn: 8retn: @6 @5 integer_cst type: @7 low : 8 @6 integer_type name: @8 size: @9 algn: 32 prec: 32 min : @10 max : @11 @7 integer_type name: @12 unql: @13 size: @14 algn: 64 prec: 36 unsigned min : @15 max : @16 @8 type_declname: @17 type: @6 srcp: :0 @9 integer_cst type: @7 low : 32 @10 integer_cst type: @6 high: -1 low : -2147483648 @11 integer_cst type: @6 low : 2147483647 @12 identifier_node strg: bit_size_type lngt: 13 @13 integer_type name: @12 size: @14 algn: 64 prec: 36 @14 integer_cst type: @7 low : 64 @15 integer_cst type: @7 low : 0 @16 integer_cst type: @7 high: 15 low : -1 @17 identifier_node strg: int lngt: 3 asm: .file "test.c" .text .globl main .type main, @function main: pushl %ebp movl%esp, %ebp subl$8, %esp andl$-16, %esp movl$0, %eax addl$15, %eax addl$15, %eax shrl$4, %eax sall$4, %eax subl%eax, %esp callMyfunction__ml_stub movl$0, %eax leave ret .size main, .-main .ident "GCC: (GNU) 4.0.2" .section.note.GNU-stack,"",@progbits so it works. yet when the function body is not commented: #include extern int Myfunction(); int Myfunction() { printf("asd"); } int main() { Myfunction(); return 0; } I have: @1 function_declname: @2 type: @3 srcp: stdio.h:0 undefined extern @2 identifier_node strg: printf__ml_stub lngt: 15 @3 function_typesize: @4 algn: 8retn: @5 prms: @6 @4 integer_cst type: @7 low : 8 @5 integer_type name: @8 size: @9 algn: 32 prec: 32 min : @10 max : @11 @6 tree_listvalu: @12 @7 integer_type name: @13 unql: @14 size: @15 algn: 64 prec: 36 unsigned min : @16 max : @17 @8 type_declname: @18 type: @5 srcp: :0 @9 integer_cst type: @7 low : 32 @10 integer_cst type: @5 high: -1 low : -2147483648 @11 integer_cst type: @5 low : 2147483647 @12 pointer_type qual: r unql: @19 size: @9 algn: 32 ptd : @20 @13 identifier_node strg: bit_size_type lngt: 13 @14 integer_type name: @13 size: @15 algn: 64 prec: 36 @15 integer_cst type: @7 low : 64 @16 integer_cst type: @7 low : 0 @17 integer_cst type: @7 high: 15 low : -1 @18 identifier_node strg: int lngt: 3 @19 pointer_type size: @9 algn: 32 ptd : @20 @20 integer_type qual: cname: @21 unql: @22 size: @4 algn: 8prec: 8 min : @23 max : @24 @21 type_declname: @25 type: @22 srcp: :0 @22 integer_type name: @21 size: @4 algn: 8 prec: 8min : @23 max : @24 @2
FW: matrix linking
Dear Sirs. In respect of your time I will straight to the matter. It is absolutely obvious that in today's world in order to be on the top it is required to be innovative. Without that you can not brake through the competitors. It is just impossible. I have an invention which makes possible to brake through the barriers of common software development. Videlicet, the invention makes possible to change the business logic of the application right on the fly, without any restarting of the application. And this is tread safe operation, so it means you do not need to suspend the (multi-threaded) application even. Just use your imagination in order to understand what opportunities it gives. It is the same as comparing server and the desktop PC. I have made a patch to GCC compiler and have got some results, please find the details of the innovation here: http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix+Linking. I would have been kindly appreciated of your comments on the subject. In case of questions do no hesitate to ask. Yours sincerely, George.
RE: FW: matrix linking
Is this a thread safe operation for your Ptolomy project? Should you suspend the application in order to load 'new classes' there? Thank you. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Buck Sent: Friday, November 16, 2007 10:13 PM To: [EMAIL PROTECTED] Cc: gcc@gcc.gnu.org Subject: Re: FW: matrix linking On Fri, Nov 16, 2007 at 09:54:25PM +0300, [EMAIL PROTECTED] wrote: > I have an invention which makes possible to brake through the barriers of > common software development. Nothing new here: add a level of indirection (or use C++ virtual functions), and dynamically load code. In the Ptolemy project (http://ptolemy.eecs.berkeley.edu/) we were doing that in 1990: we could define new classes and load them into a running application, without restarting.
adding dependence from prefetch to load
Hi, I have a mips-like architecture which has prefetch instructions. I'm writing an optimization pass that inserts prefetch instructions for all array reads. The catch is that I'm trying to do this even if the reads are not in a loop. I have two questions: 1. Is there any work out there that has tried to do this before? All I found in the latest gcc-svn was tree-ssa-loop-prefetch.c, but since my references are not in a loop, a lot of the things done in there will not apply to me. 2. Right now I am inserting a __builting_prefetch(...) call immediately before the actual read, getting something like: D.1117_12 = &A[D.1101_14]; __builtin_prefetch (D.1117_12, 0, 1); D.1102_16 = A[D.1101_14]; However, if I enable the instruction scheduler pass, it doesn't realize there's a dependency between the prefetch and the load, and it actually moves the prefetch after the load, rendering it useless. How can I instruct the scheduler of this dependence? My thinking is to also specify a latency for prefetch, so that the scheduler will hopefully place the prefetch somewhere earlier in the code to partially hide this latency. Do you see anything wrong with this approach? The prefetch instruction in the .md file is defined as: (define_insn "prefetch" [(prefetch (match_operand:QI 0 "address_operand" "p") (match_operand 1 "const_int_operand" "n") (match_operand 2 "const_int_operand" "n"))] "" { operands[1] = mips_prefetch_cookie (operands[1], operands[2]); return "pref\t%1,%a0"; } [(set_attr "type" "prefetch")]) Thanks, George
Re: adding dependence from prefetch to load
Zdenek Dvorak wrote: 2. Right now I am inserting a __builting_prefetch(...) call immediately before the actual read, getting something like: D.1117_12 = &A[D.1101_14]; __builtin_prefetch (D.1117_12, 0, 1); D.1102_16 = A[D.1101_14]; However, if I enable the instruction scheduler pass, it doesn't realize there's a dependency between the prefetch and the load, and it actually moves the prefetch after the load, rendering it useless. How can I instruct the scheduler of this dependence? My thinking is to also specify a latency for prefetch, so that the scheduler will hopefully place the prefetch somewhere earlier in the code to partially hide this latency. Do you see anything wrong with this approach? well, it assumes that the scheduler works with long enough lookahead to actually be able to move the prefetch far enough; i.e., if the architecture you work with is relatively slow in comparison with the memory access times, this might be feasible approach. However, on modern machines, miss in L2 cache may take hundreds of cycles, and it is not clear to me that scheduler will be able to move the prefetch so far, or indeed, that it would even be possible (I think often you do not know the address far enough in advance). Well, the target architecture is actually quite peculiar, it's a parallel SPMD machine. The only similarity with MIPS is the ISA. The latency I'm trying to hide is somewhere around 24 cycles, but because it is a parallel machine, up to 1024 threads have to stall for 24 cycles in the absence of prefetching, which affects overall performance. My initial studies show that this latency can be hidden with a properly inserted prefetch instruction, and I think that the scheduler can help with that, if properly guided. So my initial question remains: is there any way to tell the scheduler not to place the prefetch instruction after the actual read? The prefetch instruction takes an address_operand, and it seems all I need to do is tell the scheduler prefetch will "write" to that address, so it will see a true dependence between the prefetch and the read. But I don't know how to do that, and changing the md file to say "+p" or "+d" for the first operand of the prefetch didn't help. Thanks, George
how small can gcc get?
I am writing a gui app in another language that needs the gcc compiler embedded into it (or at least along for the ride), in case the user doesn't have it on their system. What's the smallest size I can squeeze gcc down to and how would I go about compiling it in such a way? I'm on an OS X box with gcc 3.x installed already. I'll probably be creating a disk image and installing the little gcc into it. Direct help would be great, but pointing me to a helpful article(s) would be great too. Thanks. - Philip
Re: how small can gcc get?
What did you really mean? I need to install gcc into a disk image that will accompany a gui application i'm writing. the application will need to mount the volume on the disk image and use the gcc that's on that volume. it needs only to be able to compile extremely simple c apps from a shell opened from within the gui app. i'll probably only need to include stdio.h and stdlib.h in the source files to be compiled. the host and target are one and the same (for powerpc / mac os x). the entire package (gui app + disk image with gcc) will be downloadable, so obviously i'm gonna need to get that gcc install down into the kilobytes range if possible to keep downloads short and sweet. - philip
bad web link on mirrors page
FYI: On the web page: http://gcc.gnu.org/mirrors.html the link: http://strawberry.resnet.mtu.edu/pub/gcc/ fails: "The requested URL /pub/gcc/ was not found on this server" -- George Young -- "Are the gods not just?" "Oh no, child. What would become of us if they were?" (CSL)
incompatible 'improvements'
Hello, I would like to suggest that in the future you pay more attention to backwards computability. There have been at least 4 instances where you broke the compiler with regard to being able to compile legacy code. I have > 500K lines of older code which works perfectly well and should not be impacted by what I regard as cosmetic changes to the allowed syntax. The main reason I choose to use gcc was that I didn't have to worry about different compilers doing different things and allowing or disallowing different syntax options. Many of these incompatibilities have had to do with the treatment of static subroutines. The latest break down (whose inability to be backwards compatible is apparently due to unit-at-a-time-mode) is not allowing static declarations of functions within the module where the function is used. I have no objection to making things like this result in new warnings, as long as I can turn the warning off if I want, but making them result in errors is absolutely wrong. This is the third time you have done this with static functions, each time making the most expedient path to a solution stop working. Another instance had to do with disallowing extra text in # directives. Frankly, I don't care what standards say is no longer acceptable syntax. If I have something that works, I expect it to continue to work. What's next? Are you going to start imposing your source code formatting standards? Stop emulating Microsoft, who has little regard for maintaining backwards computability and start emulating Sun who is generally very good at this. Regards, George White
GSoC
Stating my intention to apply for GSoS as instructed here <https://gcc.gnu.org/wiki/SummerOfCode#Application> . Name - Basil George Poulose Email - basilge...@gmail.com Proposal submitted for back-end cleanup project.
Please Send me info on GCC for iPhone 3.0 plus see below
Please Send me info on GCC related to developing for the Apple iPhone new 3.0 OS. If I could get sample codes including simple code such as "Hello" world it would be great as I am relearning C/C++. Thank you for any support you can provide. Also, if there are any RSS feeds of mailing groups I can subscribe to if they would be helpful please send those as well. Thank you, Mark George pacificcommunicati...@cox.net
Re: [RFC][PATCH 0/5] arch: atomic rework
wrote: > wrote: >> I have for the last several years been 100% convinced that the Intel >> memory ordering is the right thing, and that people who like weak >> memory ordering are wrong and should try to avoid reproducing if at >> all possible. > > Are ARM and Power really the bad boys here? Or are they instead playing > the role of the canary in the coal mine? To paraphrase some older threads, I think Linus's argument is that weak memory ordering is like branch delay slots: a way to make a simple implementation simpler, but ends up being no help to a more aggressive implementation. Branch delay slots give a one-cycle bonus to in-order cores, but once you go superscalar and add branch prediction, they stop helping, and once you go full out of order, they're just an annoyance. Likewise, I can see the point that weak ordering can help make a simple cache interface simpler, but once you start doing speculative loads, you've already bought and paid for all the hardware you need to do stronger coherency. Another thing that requires all the strong-coherency machinery is a high-performance implementation of the various memory barrier and synchronization operations. Yes, a low-performance (drain the pipeline) implementation is tolerable if the instructions aren't used frequently, but once you're really trying, it doesn't save complexity. Once you're there, strong coherency always doesn't actually cost you any time outside of critical synchronization code, and it both simplifies and speeds up the tricky synchronization software. So PPC and ARM's weak ordering are not the direction the future is going. Rather, weak ordering is something that's only useful in a limited technology window, which is rapidly passing. If you can find someone in IBM who's worked on the Z series cache coherency (extremely strong ordering), they probably have some useful insights. The big question is if strong ordering, once you've accepted the implementation complexity and area, actually costs anything in execution time. If there's an unavoidable cost which weak ordering saves, that's significant.
Assigning memory to parameters and SSA
Hi, I was looking into PR54218 and had some doubts about SSA partition type and how parameters are handled by it. The issue happened because the stack variables were expanded in 2 places one is in assign_params_setup_stack and the other when the expansion of SA partitions are done. The following is the description of the function assign_params_setup_stack in gcc/function.c /* A subroutine of assign_parms. Allocate stack space to hold the current parameter. Get it there. Perform all ABI specified conversions. */ Also the comment in expand_used_vars in gcc/cfgexpand (where one of the expansions take place) says : /* This is a PARM_DECL or RESULT_DECL. For those partitions that contain the default def (representing the parm or result itself) we don't do anything here. But those which don't contain the default def (representing a temporary based on the parm/result) we need to allocate space just like for normal VAR_DECLs. */ My questions are : 1. Why should be expansion of PARM_DECL take place in expand_used_vars when it have already been done previously. 2. Would this have to be corrected while producing the SSA information making parameters as a default of any uses of the variables in partitions or should it by excluding PARM_DECL in expand_used_vars as it is already expanded. The solution would be the stack getting allocated only once. A link to some discussion that has gone on on this already with details about the bug. Discussion : http://gcc.gnu.org/ml/gcc/2012-08/msg00050.html Bug : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54218 Thanks, George
possible bug with libstdc++ in gcc4.3 20080215 linked to old user /usr/lib/libgcc_s.1.dylib
I installed gcc4.3 20080215 on os x10.5.2 using macports The configure arguments (with prefix = /opt/local) are: 47 configure.args --enable-languages=c,c++,objc,obj-c++ \ 48 --libdir=${prefix}/lib/${name} \ 49 --includedir=${prefix}/include/${name} \ 50 --infodir=${prefix}/share/info \ 51 --mandir=${prefix}/share/man \ 52 --with-local-prefix=${prefix} \ 53 --with-system-zlib \ 54 --disable-nls \ 55 --program-suffix=-mp-${major} \ 56 --with-gxx-include-dir=${prefix}/include/${name}/c++/ \ 57 --with-gmp=${prefix} \ 58 --with-mpfr=${prefix} % otool -L /opt/local/lib/gcc43/libstdc++.6.dylib gives: /opt/local/lib/gcc43/libstdc++.6.dylib: /opt/local/lib/gcc43/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.10.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) So /opt/local/lib/gcc43/libstdc++.6.dylib is linked to the old, system /usr/lib/libgcc_s.1.dylib instead of to the new /opt/local/lib/gcc43/libgcc_s.1.dylib Is this the correct behaviour?
Build problem on hpxw 4300 running fc6 x86_64
Howdy, I'm trying to build the latest svn version of gcc on my hp xw 4300 system running fedora core 6 and am seeing a problem with mpfr. I got the latest mpfr and applied their patch before attempting this build. I have a complete build log available if anyone wants to see it. The question is, "am I doing something wrong?" I am NOT building in the source tree by the way. Regards, George... gcc -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \ main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lmpfr -lgmp libbackend.a(builtins.o): In function `fold_builtin_cbrt': ../../gcc/gcc/builtins.c:7093: undefined reference to `mpfr_cbrt' libbackend.a(builtins.o): In function `fold_builtin_exponent': ../../gcc/gcc/builtins.c:8001: undefined reference to `mpfr_exp10' libbackend.a(builtins.o): In function `fold_builtin_1': ../../gcc/gcc/builtins.c:9203: undefined reference to `mpfr_erf' ../../gcc/gcc/builtins.c:9209: undefined reference to `mpfr_erfc' ../../gcc/gcc/builtins.c:9215: undefined reference to `mpfr_gamma' ../../gcc/gcc/builtins.c:9227: undefined reference to `mpfr_exp10' ../../gcc/gcc/builtins.c:9252: undefined reference to `mpfr_atan2' libbackend.a(builtins.o): In function `do_mpfr_arg2': ../../gcc/gcc/builtins.c:11595: undefined reference to `mpfr_inits2' ../../gcc/gcc/builtins.c:11601: undefined reference to `mpfr_clears' libbackend.a(builtins.o): In function `do_mpfr_arg3': ../../gcc/gcc/builtins.c:11640: undefined reference to `mpfr_inits2' ../../gcc/gcc/builtins.c:11647: undefined reference to `mpfr_clears' libbackend.a(builtins.o): In function `do_mpfr_sincos': ../../gcc/gcc/builtins.c:11678: undefined reference to `mpfr_inits2' ../../gcc/gcc/builtins.c:11684: undefined reference to `mpfr_clears' libbackend.a(real.o): In function `real_from_mpfr': ../../gcc/gcc/real.c:4967: undefined reference to `mpfr_free_str' collect2: ld returned 1 exit status make[3]: *** [cc1-dummy] Error 1 make[3]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu/gcc' make[2]: *** [all-stage1-gcc] Error 2 make[2]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' make: *** [all] Error 2 = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/ _/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com
Build problem with gcc 4.3.0 20070108 (experimental)
/tools/gcc/obj-i686-pc-linux-gnu/./prev-gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./prev-gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libdecnumber -I../libdecnumber ../../gcc/gcc/tree-vectorizer.c -o tree-vectorizer.o cc1: warnings being treated as errors ../../gcc/gcc/tree-vectorizer.c:2267: warning: initialization from incompatible pointer type make[3]: *** [tree-vectorizer.o] Error 1 make[3]: *** Waiting for unfinished jobs rm gcjh.pod gcj-dbtool.pod grmiregistry.pod fsf-funding.pod jcf-dump.pod jv-convert.pod grmic.pod gcov.pod gcj.pod gfdl.pod jv-scan.pod cpp.pod gjnih.pod gij.pod gpl.pod gfortran.pod gcc.pod make[3]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' make: *** [bootstrap] Error 2 = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/ _/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: Build problem with gcc 4.3.0 20070108 (experimental)
--- Jan Hubicka <[EMAIL PROTECTED]> wrote: > > > > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu/gcc' > > > > >make[2]: *** [all-stage2-gcc] Error 2 > > > > >make[2]: Leaving directory > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' > > > > >make[1]: *** [stage2-bubble] Error 2 > > > > >make[1]: Leaving directory > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' > > > > >make: *** [bootstrap] Error 2 > > > > > > > > That's honza's patch - but bootstrap doesn't abort for me at that point. > > > > > > Hi, > > > I've comited the obvious fix. Sorry for that. I wonder why the > > > bootstrap doesn't fail on all targets? > > > > This only fixes on of the problems, the other one is > > function_and_variable_visibility needs to return unsigned int and 0. > > This fixes an ICE building libgcc for spu-elf on powerpc-linux-gnu. > > Hi, > I've commit the obvious fix too and I doubly apologize for the problems. > I've doublechecked that the patch tested ineed was the same as comitted > and it is the case. I don't see how it can possibly pass -Werror > bootstrap, will investigate it tomorrow. > > Hope that all bootstraps are fine now! > > Index: ChangeLog > === > --- ChangeLog (revision 120589) > +++ ChangeLog (working copy) > @@ -1,6 +1,7 @@ > 2007-01-08 Jan Hubicka <[EMAIL PROTECTED]> > > * tree-vectorizer.c (gate_increase_alignment): Fix return type. > + * ipa.c (function_and_variable_visibility): Fix return type. > > 2007-01-08 Richard Guenther <[EMAIL PROTECTED]> > > Index: ipa.c > === > --- ipa.c (revision 120580) > +++ ipa.c (working copy) > @@ -220,7 +220,7 @@ cgraph_remove_unreachable_nodes (bool be > in language point of view but we want to overwrite this default > via visibilities for the backend point of view. */ > > -static void > +static unsigned int > function_and_variable_visibility (void) > { >struct cgraph_node *node; > @@ -272,6 +272,7 @@ function_and_variable_visibility (void) >fprintf (dump_file, "\n\n"); > } >cgraph_function_flags_ready = true; > + return 0; > } > > struct tree_opt_pass pass_ipa_function_and_variable_visibility = > Jan, I'm testing the build now. FC 6 (x86_64) on pentium 4 based HP XW 4300. Regards, George... = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/ _/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: Build problem with gcc 4.3.0 20070108 (experimental)
Howdy, The build succeeded. Thanks for the help. George... --- Jan Hubicka <[EMAIL PROTECTED]> wrote: > > > > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu/gcc' > > > > >make[2]: *** [all-stage2-gcc] Error 2 > > > > >make[2]: Leaving directory > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' > > > > >make[1]: *** [stage2-bubble] Error 2 > > > > >make[1]: Leaving directory > > > > >`/rb.exphome/tools/gcc/obj-i686-pc-linux-gnu' > > > > >make: *** [bootstrap] Error 2 > > > > > > > > That's honza's patch - but bootstrap doesn't abort for me at that point. > > > > > > Hi, > > > I've comited the obvious fix. Sorry for that. I wonder why the > > > bootstrap doesn't fail on all targets? > > > > This only fixes on of the problems, the other one is > > function_and_variable_visibility needs to return unsigned int and 0. > > This fixes an ICE building libgcc for spu-elf on powerpc-linux-gnu. > > Hi, > I've commit the obvious fix too and I doubly apologize for the problems. > I've doublechecked that the patch tested ineed was the same as comitted > and it is the case. I don't see how it can possibly pass -Werror > bootstrap, will investigate it tomorrow. > > Hope that all bootstraps are fine now! > > Index: ChangeLog > === > --- ChangeLog (revision 120589) > +++ ChangeLog (working copy) > @@ -1,6 +1,7 @@ > 2007-01-08 Jan Hubicka <[EMAIL PROTECTED]> > > * tree-vectorizer.c (gate_increase_alignment): Fix return type. > + * ipa.c (function_and_variable_visibility): Fix return type. > > 2007-01-08 Richard Guenther <[EMAIL PROTECTED]> > > Index: ipa.c > === > --- ipa.c (revision 120580) > +++ ipa.c (working copy) > @@ -220,7 +220,7 @@ cgraph_remove_unreachable_nodes (bool be > in language point of view but we want to overwrite this default > via visibilities for the backend point of view. */ > > -static void > +static unsigned int > function_and_variable_visibility (void) > { >struct cgraph_node *node; > @@ -272,6 +272,7 @@ function_and_variable_visibility (void) >fprintf (dump_file, "\n\n"); > } >cgraph_function_flags_ready = true; > + return 0; > } > > struct tree_opt_pass pass_ipa_function_and_variable_visibility = > = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/ _/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Possible build problems with the "current" gcc
Howdy, I've been seeing this error for the past couple of days. Am I doing something wrong here? Regards and thanks, George... (cd .libs && rm -f libclasspath.la && ln -s ../libclasspath.la libclasspath.la) make[8]: Leaving directory `/tools/tools/gcc/obj-i686-pc-linux-gnu/x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/classpath' Making all in midi-dssi make[8]: Entering directory `/tools/tools/gcc/obj-i686-pc-linux-gnu/x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/midi-dssi' if /bin/bash ../../../libtool --mode=compile /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo -MD -MP -MF ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo" -c -o gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c; \ then mv -f ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo" ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Plo"; else rm -f ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo"; exit 1; fi if /bin/bash ../../../libtool --mode=compile /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSISynthesizer.lo -MD -MP -MF ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo" -c -o gnu_javax_sound_midi_dssi_DSSISynthesizer.lo ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c; \ then mv -f ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo" ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Plo"; else rm -f ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo"; exit 1; fi make[8]: Warning: File `../../../native/jni/classpath/jcl.lo' has modification time 3.6e+02 s in the future mkdir .libs /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSISynthesizer.lo -MD -MP -MF .deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo -c ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c -fPIC -DPIC -o .libs/gnu_javax_sound_midi_dssi_DSSISynthesizer.o /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-
Possible build problems with the "current" gcc
Howdy, I got an email from Joe Buck who suggested that I fix a clock skew problem between 2 of my systems. I did this but this did not change the "other" problem with this build effort. A diff of the 2 sets of error messages showed that the clock problem did in fact disappear. Any ideas as to how to proceed with this one would be greatly appreciated. Regards and thanks, George... make[8]: Entering directory `/tools/tools/gcc/obj-i686-pc-linux-gnu/x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/midi-dssi' if /bin/bash ../../../libtool --mode=compile /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo -MD -MP -MF ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo" -c -o gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c; \ then mv -f ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo" ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Plo"; else rm -f ".deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo"; exit 1; fi if /bin/bash ../../../libtool --mode=compile /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSISynthesizer.lo -MD -MP -MF ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo" -c -o gnu_javax_sound_midi_dssi_DSSISynthesizer.lo ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c; \ then mv -f ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo" ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Plo"; else rm -f ".deps/gnu_javax_sound_midi_dssi_DSSISynthesizer.Tpo"; exit 1; fi mkdir .libs /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.lo -MD -MP -MF .deps/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.Tpo -c ../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c -fPIC -DPIC -o .libs/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.o /tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/include -isystem /usr/lsd/Linux/x86_64-unknown-linux-gnu/sys-include -m32 -DHAVE_CONFIG_H -I. -I../../../../../../../../gcc/libjava/classpath/native/jni/midi-dssi -I../../../include -I../../../../../../../../gcc/libjava/classpath/include -I../../../../../../../../gcc/libjava/classpath/native/jni/classpath -I../../../../../../../../gcc/libjava/classpath/native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -O2 -g -O2 -m32 -MT gnu_javax_sound_
Re: Possible build problems with the "current" gcc
Andrew, --- Andrew Haley <[EMAIL PROTECTED]> wrote: > George R Goffe writes: > > > > --- David Daney <[EMAIL PROTECTED]> wrote: > > > > > This really looks like a java problem, CCing java@ > > > > I agree with this assessment. I'd like to get the person responsible for > this > code > > to take a look at my build logs. This is a FC6 x86_64 system by the way. > Log > > attached. > > > > > It looks like you are missing jack/jack.h > > > > > > On my FC6/x86_64 system these files are not even built, so I don't get > > > the missing jack/jack.h error. Instead it builds the midi-alsa files. > > > > Why would this happen? > > > > > That is the only insight I can provide. > > > > > > David Daney > > > > Thanks for your response and your time on this issue. > > We don't have enough information. What was your configure line, for example? > > Andrew. > Apologies for not sending enough info. Here's the script that I use for "my" builds. I always do make install manually. George... #!/bin/bash -xv echo '' >> start-end-times echo 'start time:' `date` >> start-end-times if [ $# = 0 ] then ncpus=1 else ncpus=$1 fi sysver=`uname -s` syslvl=`uname -r` osname=$sysver.$syslvl case $osname in SunOS.5.5) osname="$sysver.5.5" ;; SunOS.5.5.1) osname="$sysver.5.5.1" ;; SunOS.5.6) osname="$sysver.5.6" ;; SunOS.5.7) osname="$sysver.5.7" ;; SunOS.5.8) osname="$sysver.5.8" ;; SunOS.5.9) osname="$sysver.5.9" ;; SunOS.5.10) osname="$sysver.5.10" ;; SunOS.5.11) osname="$sysver.5.11" ;; Linux*) osname="$sysver" ;; *) printf "%s" 'Wrong system level encountered...' exit 86 esac # rhel gcc PATH=/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/X11/bin:/usr/dt/bin # /usr/lsd gcc #PATH=/usr/lsd/$osname/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/X11/bin:/usr/dt/bin export PATH CONFIG_SHELL=/bin/bash export CONFIG_SHELL which gawk gawk --version which sed sed --version which gcc gcc --version which as as --version which ld ld --version # go to the "right" directory... cd obj-i686-pc-linux-gnu make distclean ../gcc/configure --prefix=/usr/lsd/$osname --verbose \ --x-includes=/usr/X11/include \ --x-libraries=/usr/X11/lib # --with-gmp\ # --with-gmp-dir=/usr \ # --with-mpfr \ # --with-mpfr-dir=/usr/lsd/$osname/lib make clean rc=$? if [ $rc ] then echo 'status of cmd='$rc'...' else echo 'status of cmd='$rc'...' fi make -j $ncpus bootstrap rc=$? if [ $rc ] then echo 'status of cmd='$rc'...' else echo 'status of cmd='$rc'...' fi #make depend #rc=$? #if [ $rc ] #then # echo 'status of cmd='$rc'...' #else # echo 'status of cmd='$rc'...' #fi #make -j $ncpus #rc=$? #if [ $rc ] #then # echo 'status of cmd='$rc'...' #else # echo 'status of cmd='$rc'...' #fi #make install #rc=$? #if [ $rc ] #then # echo 'status of cmd='$rc'...' #else # echo 'status of cmd='$rc'...' #fi cd .. echo 'end time:' `date` >> start-end-times exit 0 = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/ _/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers Don't pick lemons. See all the new 2007 cars at Yahoo! Autos. http://autos.yahoo.com/new_cars.html
A question about a possible build problem.
Howdy, I'm building gcc version "gcc (GCC) 4.1.0 20050627" from cvs successfully on my redhat enterprise linux 3 update 4 system and then turning around and building it again with itself by repeating the exact process via a script. The second build fails with the following: snip--- tail: cannot open `+16c' for reading: No such file or directory tail: cannot open `+16c' for reading: No such file or directory tail: cannot open `+16c' for reading: No such file or directory make[1]: *** [gnucompare] Error 1 make[1]: Leaving directory `/tools/gnu/gccdev/obj.Linux.2.4.21/gcc' make: *** [bootstrap] Error 2 Am I doing something stupid or is this a bug? Any/all hints/tips/suggestions would be appreciated. Thanks, George... = _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ - _/ _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/_/_/ _/_/ _/_/_/_/ _/ _/_/ _/_/_/_/ - _/_/ _/ _/_/ _/_/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/_/_/_/ _/_/_/_/ - "It's not what you know that hurts you, It's what you know that ain't so." Will Rogers __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Need some help with a possible bug
Hi, I'm trying to build the latest gcc and am getting a message from the process "collect2: error: ld returned 1 exit status" for this library /usr/lsd/Linux/lib/libgmp.so. Here's the full msg: "/usr/lsd/Linux/lib/libgmp.so: could not read symbols: File in wrong format" When I use the file command on this library, I get this: file libgmp.so.10.2.0 libgmp.so.10.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c8ca89cca80d669102f5b3e8e077b5d00f47bf78, not stripped I'm running Fedora 19 X86_64 and, as far as I know, building for this architecture. I just built the latest gmp, mpc, mpfr hoping that that was the problem but I still get the msg. Here's a more elaborate snip of the build log. I have the complete log if it's needed. Thanks, George... file libgmp.so.10.2.0 libgmp.so.10.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c8ca89cca80d669102f5b3e8e077b5d00f47bf78, not stripped make[8]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/midi-alsa' Making all in java-math make[8]: Entering directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/java-math' /bin/bash ../../../libtool --tag=CC --mode=compile /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/ls mv -f .deps/maxloc0_4_i4.Tpo .deps/maxloc0_4_i4.Plo /bin/bash ./libtool --tag=CC --mode=compile /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linu libtool: compile: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/l libtool: compile: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/l libtool: compile: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -shared-libgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc -nostdinc++ -L/tools/gcc/obj-i686-pc-linux-gnu/x86_64-unknown-linux-gnu/libs mv -f .deps/tsan_symbolize_addr2line_linux.Tpo .deps/tsan_symbolize_addr2line_linux.Plo /bin/bash ./libtool --tag=CC --mode=compile /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linu libtool: compile: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/l libtool: compile: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/l mv -f .deps/gnu_java_math_GMP.Tpo .deps/gnu_java_math_GMP.Plo /bin/bash ../../../libtool --tag=CC --mode=link /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/L libtool: link: /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/lib/ /usr/lsd/Linux/lib/libgmp.so: could not read symbols: File in wrong format collect2: error: ld returned 1 exit status make[8]: *** [libjavamath.la] Error 1 make[8]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni/java-math' make[7]: *** [all-recursive] Error 1 make[7]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath/native/jni' make[6]: *** [all-recursive] Error 1 make[6]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath/native' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava/classpath' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/32/libjava' make[3]: *** [multi-do] Error 1 make[3]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-linux-gnu/libjava' make[2]: *** [all-multi] Error 2 make[2]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/ x86_64-unknown-
Problems building the latest gcc
Hi, I'm having trouble building the latest gcc on my fedora 19 x86_64 system. It's probably something I'm doing wrong but I can't seem to find what. Maybe it is a bug? Could I get someone to look at the problem please? I have a complete build log if that's necessary. Regards and THANKS for your help, George... ept.c ../../gcc/gcc/emit-rtl.c: In function ‘rtx_insn* try_split(rtx, rtx, int)’: ../../gcc/gcc/emit-rtl.c:3810:16: error: ‘class rtx_insn’ has no member named ‘deleted’ if (! tem->deleted () && INSN_P (tem)) ^ In file included from ../../gcc/gcc/emit-rtl.c:35:0: ../../gcc/gcc/emit-rtl.c: In function ‘void add_insn_after_nobb(rtx_insn*, rtx_insn*)’: ../../gcc/gcc/emit-rtl.c:3987:36: error: ‘class rtx_insn’ has no member named ‘deleted’ gcc_assert (!optimize || !after->deleted ()); ^ ../../gcc/gcc/system.h:697:14: note: in definition of macro ‘gcc_assert’ ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) ^ ../../gcc/gcc/emit-rtl.c: In function ‘void add_insn_before_nobb(rtx_insn*, rtx_insn*)’: ../../gcc/gcc/emit-rtl.c:4016:37: error: ‘class rtx_insn’ has no member named ‘deleted’ gcc_assert (!optimize || !before->deleted ()); ^ ../../gcc/gcc/system.h:697:14: note: in definition of macro ‘gcc_assert’ ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) ^ make[3]: *** [emit-rtl.o] Error 1 make[3]: *** Waiting for unfinished jobs In file included from ../../gcc/gcc/dwarf2out.c:59:0: ../../gcc/gcc/dwarf2out.c: In function ‘void gen_label_die(tree, dw_die_ref)’: ../../gcc/gcc/dwarf2out.c:19053:42: error: ‘class rtx_insn’ has no member named ‘deleted’ gcc_assert (!as_a (insn)->deleted ()); ^ ../../gcc/gcc/system.h:697:14: note: in definition of macro ‘gcc_assert’ ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) ^ ../../gcc/gcc/dwarf2out.c: In function ‘void dwarf2out_var_location(rtx_insn*)’: ../../gcc/gcc/dwarf2out.c:21330:21: error: ‘class rtx_insn’ has no member named ‘deleted’ || next_note->deleted () ^ make[3]: *** [dwarf2out.o] Error 1 rm gcov-tool.pod gcov.pod fsf-funding.pod cpp.pod gfdl.pod gcc.pod make[3]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu/gcc' make[2]: *** [all-stage1-gcc] Error 2 make[2]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/sdc1/exphome/clipper/export/home/tools/gcc/obj-i686-pc-linux-gnu' make: *** [all] Error 2
Re: Problems building the latest gcc
Jonathan, Thank you for your response. Since I build from what I believe is the main trunk, I thought that developers might be interested in this situation. I WILL try the help path as you suggest. Thanks again for your time, George... svn info Path: . Working Copy Root Path: /sdc1/exphome/clipper/export/home/tools/gcc/gcc URL: svn://gcc.gnu.org/svn/gcc/trunk Relative URL: ^/trunk Repository Root: svn://gcc.gnu.org/svn/gcc Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4 Revision: 215540 Node Kind: directory Schedule: normal Last Changed Author: fxcoudert Last Changed Rev: 215242 Last Changed Date: 2014-09-13 12:00:28 -0700 (Sat, 13 Sep 2014) - Original Message - From: Jonathan Wakely To: George R Goffe Cc: "gcc@gcc.gnu.org" Sent: Wednesday, September 24, 2014 4:36 PM Subject: Re: Problems building the latest gcc On 24 September 2014 22:49, George R Goffe wrote: > Hi, > > I'm having trouble building the latest gcc on my fedora 19 x86_64 system. This mailing list is for discussing development of gcc itself, please use the gcc-help list for help building or using gcc. Please send your question there instead, and be sure to include how you configured GCC and what exactly you mean by "the latest gcc" (the latest release, the subversion trunk or something else).
Problems with gcc-bugs
Hi, I'm having trouble getting email to Christoph who manages(?) the gcc-bugs mailing list. My emails are rejected. I'm not an email guy so the messages are rather indecipherable to me. Below is what I'm seeing. Regards, George... Sorry, we were unable to deliver your message to the following address. : Remote host said: 550 Previous (cached) callout verification failure [RCPT_TO]
Re: Problems with gcc-bugs
Jonathan, I'll give it a try. Thanks. What is the problem with the mailing list software? Can't handle rich-text? What a pain! George... From: Jonathan Wakely To: George R Goffe Cc: "gcc@gcc.gnu.org" Sent: Monday, September 29, 2014 6:14 AM Subject: Re: Problems with gcc-bugs On 27 September 2014 22:13, George R Goffe wrote: > Hi, > > I'm having trouble getting email to Christoph who manages(?) the gcc-bugs > mailing list. My emails are rejected. I'm not an email guy so the messages > are rather indecipherable to me. Below is what I'm seeing. > > Regards, > > George... > > > > Sorry, we were unable to deliver your message to the following address. > > : That looks like a suggestion to use the mailing list, instead of mailing him directly. Have you tried mailing the "overseers" list at gcc.gnu.org instead? > Remote host said: > 550 Previous (cached) callout verification failure > [RCPT_TO]
Problems with the gcc-bugs mailing list.
Hi, I'm trying to get some help here. I have two problems with the mailing list software. #1) I have tried to get into digest mode by unsubscribing and re-subscribing to the list but that's not working. #2) I'm trying to get some help from the "owner" of the list but emails to him are bouncing. What is the problem with sending rich-text emails? Old software? Anyone have any ideas? Please help me. Regards, George...
Re: Problems with the gcc-bugs mailing list.
Apparently Chrome has the same problem. Here's what I tried to send you earlier but bounced. Argh! George... Jonathan, The problem I have is that my yahoo email account ALWAYS switches to rich text. (Yahoo is going down the tube because they don't seem to care what their customer base wants or needs). If I forget, and that happens a lot, I get my email rejected. Yahoo has NO way to permanently select plain text. I don't do enough "business" with the gnu.org mailing lists for this to stick in my mind. Add this to the fact that NONE of the other sites or people I deal with reject rich text emails... just gnu.org. Sigh... Yes. It is a personal problem. Maybe a stick it note would help me. I still don't see the problem with rich text but it's not my decision. Thanks for your and everyone elses time. Sorry to have wasted it on such a seemingly trivial question. Regards, George... ____ From: George R Goffe To: Jonathan Wakely Cc: "gcc@gcc.gnu.org" Sent: Thursday, October 2, 2014 9:32 AM Subject: Re: Problems with the gcc-bugs mailing list. Jonathan, The problem I have is that my yahoo email account ALWAYS switches to rich text. (Yahoo is going down the tube because they don't seem to care what their customer base wants or needs). If I forget, and that happens a lot, I get my email rejected. Yahoo has NO way to permanently select plain text. I don't do enough "business" with the gnu.org mailing lists for this to stick in my mind. Add this to the fact that NONE of the other sites or people I deal with reject rich text emails... just gnu.org. Sigh... Yes. It is a personal problem. Maybe a stick it note would help me. I still don't see the problem with rich text but it's not my decision. Thanks for your and everyone elses time. Sorry to have wasted it on such a seemingly trivial question. Regards, George... From: Jonathan Wakely To: George R Goffe Cc: "gcc@gcc.gnu.org" Sent: Tuesday, September 30, 2014 2:28 AM Subject: Re: Problems with the gcc-bugs mailing list. On 30 September 2014 01:08, George R Goffe wrote: > Hi, > > I'm trying to get some help here. > > I have two problems > with the mailing list software. #1) I have tried to get into digest mode > by unsubscribing and re-subscribing to the list but that's not working. > #2) I'm trying to get some help from the > > "owner" of the list but emails to him are bouncing. Did you try reaching the overseers at the admin list I suggested? > What is the problem with sending rich-text emails? Old software? We don't want rich-text mail, see https://gcc.gnu.org/lists.html#policies What is the problem with plain-text email?
Re: GCC Status Report (2009-08-23)
Mark Mitchell codesourcery.com> writes: > > > Status > == > > The trunk is in Stage 1. As previously stated, we expect that Stage 1 > will last through at least the end of August. > > In my opinion, the single hardest issue we face with respect to 4.5 is > how to handle the VTA branch. > > ...[deletia]... > > On the other hand, I can't see a viable better > solution. So, I'd be very interested in further comments on this > topic. As an end user... I had to read up on VTA (I'm a user, not compiler developer). If VTA works even half as well as claimed on optimized code, and GDB supports the debug information it emits, then this feature alone would make me switch relatively instantly. If there's one feature I've wanted out of the GDB/GCC combination over the last ten years, this would be it. I've banged my head against the wall many a time trying to figure out a bug that occurs differently at -O[n>0] vs. -O0, and at this time, GDB+GCC+O3 is often less than useful when debugging production code. Just my $0.02. -- George T. Talbot
c++/linker problems maybe?
Hi, I'm having trouble building or linking C++ code. Could one of you brains take a peek at the enclosed and let me know where I'm goofing please? Regards, and thanks, George... gcc --version gcc (GCC) 4.9.0 20130805 (experimental) [ 88%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bthemedlabel.cpp.o [ 88%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3blsofwrapper.cpp.o [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3blsofwrapperdialog.cpp.o [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3baction.cpp.o [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bdevicemenu.cpp.o [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bviewcolumnadjuster.cpp.o [ 90%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bmodelutils.cpp.o Linking CXX executable k3b CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::~MainWindow()': /tools/k3b/k3b/src/k3b.cpp:272: undefined reference to `KXmlGuiWindow::~KXmlGuiWindow(void const**)' CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::MainWindow()': /tools/k3b/k3b/src/k3b.cpp:227: undefined reference to `KXmlGuiWindow::KXmlGuiWindow(void const**, QWidget*, QFlags)' CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::MainWindow()': /tools/k3b/k3b/src/k3b.cpp:227: undefined reference to `KXmlGuiWindow::KXmlGuiWindow(void const**, QWidget*, QFlags)' CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::~MainWindow()': /tools/k3b/k3b/src/k3b.cpp:272: undefined reference to `KXmlGuiWindow::~KXmlGuiWindow(void const**)' collect2: error: ld returned 1 exit status make[2]: *** [src/k3b] Error 1 make[1]: *** [src/CMakeFiles/k3b_bin.dir/all] Error 2 make: *** [all] Error 2
Re: c++/linker problems maybe?
Marek, Your response is MOST helpful. THANK YOU! Regards, George... - Original Message - From: Marek Polacek To: George R Goffe Cc: "gcc@gcc.gnu.org" Sent: Monday, August 5, 2013 10:16 PM Subject: Re: c++/linker problems maybe? On Mon, Aug 05, 2013 at 10:05:22PM -0700, George R Goffe wrote: > Hi, > > I'm having trouble building or linking C++ code. Could one of you brains take > a peek at the enclosed and let me know where I'm goofing please? This question is not appropriate for the mailing list gcc@gcc.gnu.org, which is for the development of GCC. It would be appropriate for gcc-h...@gcc.gnu.org. Please take any followups to gcc-help. Thanks. > [ 88%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bthemedlabel.cpp.o > > > [ 88%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3blsofwrapper.cpp.o > > > [ 89%] Building CXX object > src/CMakeFiles/k3b_bin.dir/k3blsofwrapperdialog.cpp.o > > [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3baction.cpp.o > > > [ 89%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bdevicemenu.cpp.o > > > [ 89%] Building CXX object > src/CMakeFiles/k3b_bin.dir/k3bviewcolumnadjuster.cpp.o > > [ 90%] Building CXX object src/CMakeFiles/k3b_bin.dir/k3bmodelutils.cpp.o > > > Linking CXX executable k3b > CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function > `K3b::MainWindow::~MainWindow()': > /tools/k3b/k3b/src/k3b.cpp:272: undefined reference to > `KXmlGuiWindow::~KXmlGuiWindow(void const**)' > CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::MainWindow()': > /tools/k3b/k3b/src/k3b.cpp:227: undefined reference to > `KXmlGuiWindow::KXmlGuiWindow(void const**, QWidget*, QFlags)' > CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function `K3b::MainWindow::MainWindow()': > /tools/k3b/k3b/src/k3b.cpp:227: undefined reference to > `KXmlGuiWindow::KXmlGuiWindow(void const**, QWidget*, QFlags)' > CMakeFiles/k3b_bin.dir/k3b.cpp.o: In function > `K3b::MainWindow::~MainWindow()': > /tools/k3b/k3b/src/k3b.cpp:272: undefined reference to > `KXmlGuiWindow::~KXmlGuiWindow(void const**)' > collect2: error: ld returned 1 exit status > make[2]: *** [src/k3b] Error 1 > make[1]: *** [src/CMakeFiles/k3b_bin.dir/all] Error 2 > make: *** [all] Error 2 It just seems the library containing the definition of KXmlGuiWindow::KXmlGuiWindow isn't properly linked in. Marek
Build problem msg: xgcc: error trying to exec 'cc1': execvp: No such file or directory
Hi, I keep getting this error message while building gcc checked out of the repository. Could I get a little help with resolving this problem please? Regards, George... xgcc: error trying to exec 'cc1': execvp: No such file or directory
Re: Build problem msg: xgcc: error trying to exec 'cc1': execvp: No such file or directory
Florian, Thank you for your willingness to help me. I see the message 3 times during a build which appears to succeed... I run a script that checks status codes and it runs a "make install" command. Thanks for the hint with gcc-help. I sent my request to this list because this build process has been running successfully for some time. Here's the uname -a output Linux xxx 3.6.11-4.fc16.x86_64 #1 SMP Tue Jan 8 20:57:42 UTC 2013 x86_64 GNU/Linux. This system is a Fedora 16 x86_64 system. Regards and THANKS again for your help, George... #1: 3517 g++ -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-ov 3517 erlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o cpp gcc.o ggc-none.o \ 3518 c-family/cppspec.o driver-i386.o libcommon-target.a \ 3519 libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 3520 /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -dumpspecs > tmp-specs 3521 mv tmp-specs specs 3522 g++ -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-ov 3522 erlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o xg++ \ 3523 gcc.o ggc-none.o g++spec.o driver-i386.o libcommon-target.a \ 3524 libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 3525 : > tmp-libgcc.mvars 3526 echo GCC_CFLAGS = '-g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include ' >> tmp-libgcc.mvars 3527 echo INHIBIT_LIBC_CFLAGS = '' >> tmp-libgcc.mvars 3528 echo TARGET_SYSTEM_ROOT = '' >> tmp-libgcc.mvars 3529 mv tmp-libgcc.mvars libgcc.mvars 3530 echo | /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -E -dM - | \ 3531 sed -n -e 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p' \ 3532 -e 's/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \ 3533 sort -u > tmp-macro_list 3534 xgcc: error trying to exec 'cc1': execvp: No such file or directory 3535 /bin/bash ../../gcc/gcc/../move-if-change tmp-macro_list macro_list 3536 echo timestamp > s-macro_list 3537 if /tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -print-sysroot-headers-suffix > /dev/null 2>&1; then \ 3538 set -e; for ml in `/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ -print-multi-lib`; do \ 3539 multi_dir=`echo ${ml} | sed -e 's/;.*$//'`; \ 3540 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ 3541 sfx=`/tools/gcc/obj-i686-pc-linux-gnu/./gcc/xgcc -B/tools/gcc/obj-i686-pc-linux-gnu/./gcc/ ${flags} -print-sysroot-headers-suffix`; \ 3542 if [ "${multi_dir}" = "." ]; \ 3543 then multi_dir=""; \ 3544 else \ 3545 multi_dir=/${multi_dir}; \ 3546 fi; \ 3547 echo "${sfx};${multi_dir}"; \ 3548 done; \ 3549 else \ 3550 echo ";"; \ 3551 fi > tmp-fixinc_list 3552 /bin/bash ../../gcc/gcc/../move-if-change tmp-fixinc_list fixinc_list #2 11739 gcc.o ggc-none.o gfortranspec.o driver-i386.o libcommon-target.a \ 11740 libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 11741 /tools/gcc/obj-i686-pc-linux-gnu/./prev-gcc/xg++ -B/tools/gcc/obj-i686-pc-linux-gnu/./prev-gcc/ -B/usr/lsd/Linux/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64-unkno 11741 wn-linux-gnu/libstdc++-v3/src/.libs -B/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -I/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3 11741 /include/x86_64-unknown-linux-gnu -I/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/tools/gcc/gcc/libstdc++-v3/libsupc++ -L/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64- 11741 unknown-linux-gnu/libstdc++-v3/src/.libs -L/tools/gcc/obj-i686-pc-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous 11741 -unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -
possible gcc bug?
Hi, I have been trying to find the cause of a problem that I'm having building gcc from the repository. In the logs I've been seeing the following message: 239 + ../gcc/configure --prefix=/usr/lsd/Linux --verbose --with-mpc=/usr/lsd/Linux --with-mpfr=/usr/lsd/Linux --with-gmp=/usr/lsd/Linux 240 configure: loading cache /dev/null 241 /dev/null: line 1: ls:: command not found 242 checking build system type... x86_64-unknown-linux-gnu This error message appears because line 500 of the configure script has an improperly(?) formed if statement: 500 if ls -dL / >/dev/null 2>&1; then when changed to the following, the message goes away: 500 if [ ls -dL / >/dev/null 2>&1 ]; then This has got to be the most trivial bug ever found... at least I think it's a bug. Perhaps it's indicative of a more serious problem with my system? Could I ask someone to take a peek at this please? Regards, George...
messages about "...is not an ELF file..."
Hi, I've been seeing a lot of these messages. I'm building from the repository (main trunk?) as of 1 hour ago or so (fairly up to date I think). Am I doing something wrong? Is this a bug? I have a full build log if that's needed. Regards and Thanks for your help, George... libtool: finish: PATH="/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/X11/bin:/usr/dt/bin:/sbin" ldconfig -n /usr/lsd/Linux/lib/../lib64 ldconfig: /usr/lsd/Linux/lib/../lib64/libstdc++.so.6.0.19-gdb.py is not an ELF file - it has the wrong magic bytes at the start. ldconfig: /usr/lsd/Linux/lib/../lib64/libstdc++.so.6.0.18-gdb.py is not an ELF file - it has the wrong magic bytes at the start. ldconfig: /usr/lsd/Linux/lib/../lib64/libstdc++.so.6.0.17-gdb.py is not an ELF file - it has the wrong magic bytes at the start.
Copyright assignment
Dear GCC Community , I am planning to contribute in Rust-GCC project ( https://github.com/Rust-GCC) , so I think it will be good to have the copyright assignment from now on . Waiting for your reply , George Liakopoulos
GSoC 2021 Proposal for the Rust Frontend
I have sent my proposal to GSoC about improving the warnings of Rust-GCC Frontend and more specifically the warnings that are connected with immutable values . You can see my full proposal here : https://docs.google.com/document/d/146zKtk6rEbZV7c5Fomt8VomjG8AnzQ4aULHhnM8hh6M/edit?usp=sharing George Liakopoulos
[no subject]
How to define the instructions neede to address a new "named address space"
I understood that there is the possibility to define different address spaces, that could be addressable via special instructions. Essentially the minimum should be "How to write" and "How to read" to or from the special space, I mean through which instructions it to be implemented the access to the special address space. The address space may not only be used for special hardware instructions needed to access some special space, but could just be e.g. to use an area of memory that does not support ECC ( error correcting code ) and make the memory to support ECC writing e.g. for each 4 bytes a supplementary byte that contains the ECC code, and checking and correcting accordingly during read. Another example could be to write the memory in big endian instead than in small endian mode or viceversa. What I need is a specific example on e.g. how to implement endianess reversal just as an example case (as it is simple enough to describe) Where do I have to write those instructions in the source code EXACTLY !!! Thanks for any answer or hint! George Kourtis