<fossy>stikonas: Am i correct that the only uses of autogen in GCC are fixincludes and top-level makefile <fossy>it seems that the vast majority of Makefile.tpl is things like FOR and IF loops <fossy>I think we can reconstruct this as say a bash script <fossy>(I would do Python but we don't have that yet) <stikonas>I wonder if bash script can be upstreamed <fossy>3.10 has a couple of python scripts used to generate a few sources <fossy>but i looked at 2.7 and it at least dosen't <fossy>so we aren't going into the super old if we have to <stikonas>well, python is probably more maintainable than bash script... <stikonas>but I"ve no idea how receptive GCC folks would be to that... <fossy>GCC already has a number of python scripts in contrib/ <fossy>for various "developer tools" <fossy>i'm guessing this would be treated similarily <stikonas>well, it's just that this might be a fairly big script <fossy>its literally a templating engine, and that seems to also be all autogen is here <stikonas>and we have at least some argument why autogen is not good <stikonas>although there might be some push back due to autogen being gnu project and jinja2 not <fossy>it being a generally unmaintained and poor piece of software <fossy>i have no problem keeping this downstream if it isn't to be upstreamed <fossy>yeah, python and jinja2, then we can look at rewriting these scripts <stikonas>in any case, we'll have to keep it downstream for gcc 10 <fossy>does binutils do the same thing :| <stikonas>hmm, I can also reproduce that WHILE_handle_define_2 crash in M2-planet <stikonas>that's cc_core.c file in M2-Planet, handle_define function <stikonas>maybe something bad is going on with macro_token->s[0] <stikonas>gbrlwck: it's probably best to build M2-Planet with GCC and debug that version <stikonas>you'll get much better debugging support <muurkha>oriansj: I agree, no place for programming sins to hide. no, I wasn't accusing you of having an ego, just a little allergic to absolution through confession of sins :) <muurkha>stikonas: yes, the autogen case is a pretty messy problem indeed <stikonas>actually, GCC version does not crash but prints include/m2/lib.h:70:unexpected #endif <muurkha>the original cvs repo is almost certainly "messed up" <muurkha>there are probably archives of GNU tapes from before 02001 that have earlier versions of GNU source code <stikonas>oriansj: does M2-Planet handle ifdefs and endifs? <stikonas>muurkha: well, not if the project was not GNU project then <stikonas>when GNU adopted autogen, it was already messed up <stikonas>so rewriting required GCC templates in jinja2 might be the easiest path <stikonas>and we just send autogen to the landfill <stikonas>gbrlwck: anyway, if I remove ifdefs, I get the next crash in M2-Planet's preprocess function <stikonas>Cannot access memory at address 0xfffffffffffffffc <muurkha>stikonas: yeah, but I'm just guessing because that was the oldest version I found on archives of the GNU web site <muurkha>unfortunately the IA doesn't archive FTP sites much <muurkha>or are you saying you have independent information about when autogen became a GNU project? <stikonas>muurkha: I don't have independent information... <stikonas>but I found that it was not well packaged by distros before <stikonas>(once package becomes gnu project, more distros pick it up) <muurkha>but certainly once a package becomes a dependency of GCC all the distros will pick it up <stikonas>fossy: gnutls also uses autogen, actually even more <stikonas>GCC tarballs and even repo ship output of Autogen <stikonas>it's just that here we don't like using pre-generated files <stikonas>(most of the times they aren't very readable) <stikonas>fossy: ok, actually for gnutls it's an optional dependency, so probably we can ignore it <oriansj>stikonas: M2-Planet supports #if, #elif, #else and #endif along with #define and defined <oriansj>so one can use #if defined(__M2__) for M2-Planet only sections and an #else for things M2-Planet isn't supposed to use <oriansj>and I too am getting that segfault on include/m2/lib.h <oriansj>but it is because expansion_end isn't initialized at that point <oriansj>(struct*) null->next is a segfault sort of thing <oriansj>yeah it is the line #define __M2_LIB_H <oriansj>and I probably should add an error message for the #ifndef <oriansj>and I'll update M2libc in M2-Planet while I am at it <siraben>Is anyone familiar with the bootstrapping situation in Emacs? AFAIK it's bootstrapped <fossy>I will be super disappointed if emacs is not bootstrappable <fossy>There is no reason for it to have a dependency on itself let alone be bootsteappable <siraben>"Like ‘pdump’, but used while bootstrapping Emacs, when no previous Emacs binary and no *.elc byte-compiled Lisp files are available. The produced dump file is usually named bootstrap-emacs.pdmp in this case. " <muurkha>the comment you quoted seems to say the opposite: no previous Emacs binary is needed to pull up Emacs by its bootstraps <muurkha>instead, you can use pbootstrap, which can be compiled without Emacs <muurkha>we should come up with a term that doesn't mean both what we are trying to achieve and also its opposite; "bootstrapping" is compiling a compiler with itself, which is what we are trying to avoid. how about "acyclic"? <muurkha>we're trying to achieve acyclic builds <Hagfish>instead of saying "making acyclic" could we say "decycling"? <fossy>not sure i agree with that terminology <fossy>i have never heard bootstrapping meaning compiling a compiler with itself <drakonis>bootstrapping on the other hand is a chain of steps to begin something, a cycle, for example. <muurkha>the term derives from the English idiom "to pull oneself up by one's bootstraps", in violation of Newton's Third Law <muurkha>like how the Baron von Munchausen pulled himself and his horse up out of the swamp by pulling on his braid <muurkha>those are two of the top three hits for "bootstrapped compiler" on startpage.com <muurkha>the third one is a geeksforgeeks article written by a muurkha <muurkha>using the opposite definition from Wikipedia and the SO folks <stikonas>ok, with new M2-Planet I can confirm that segfault is gone... <stikonas>although, mes uses quite a few macros that M2-Planet is not able to cope with <stikonas>ok, I got a bit further, at some point later I need to grab laanwj's changes to use risc-v syscalls <gbrlwck>is there a reason there is __sys_call6 but not __sys_call5? <stikonas[m]>gbrlwck: no, they are different. LD deferences pointer but addi adds value to it <stikonas[m]>As for syscalls, I guess we just didn't need any with 5 arguments <muurkha>if you did you could just use __sys_call6 <muurkha>if they were pushed on the stack it would be a different matter ***jackhill is now known as KM4MBG
***KM4MBG is now known as jackhill