* [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa [not found] ` <15969.1828.456001.122737@gargle.gargle.HOWL> @ 2003-03-02 4:59 ` Randolph Chung 2003-03-02 4:59 ` Randolph Chung 1 sibling, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-02 4:59 UTC (permalink / raw) To: Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux In reference to a message from Matthias Klose, dated Mar 01: > Matthias Klose writes: > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > code due to the changed exception handling (now DWARF2 based). As > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > Currently 3.2 is in unstable only. Would you want to start the > > recompilation before 3.2 based binaries go to testing? > > > > The packaging for 3.3 can be found in the Debian CVS. > > You can get test packages from > http://ftp-master.debian.org/~doko/gcc-3.3/ well.... this is not looking good. after installing these in a freshly built sarge chroot, all c++ programs stop working (well, i've only tried two -- apt and fakeroot) (btw, small packaging detail, but the libstdc++*-dev package above cannot be installed cleanly because it overwrites things in the current 3.2 package) randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa [not found] ` <15969.1828.456001.122737@gargle.gargle.HOWL> 2003-03-02 4:59 ` [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa Randolph Chung @ 2003-03-02 4:59 ` Randolph Chung 2003-03-02 5:40 ` John David Anglin ` (7 more replies) 1 sibling, 8 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-02 4:59 UTC (permalink / raw) To: Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux In reference to a message from Matthias Klose, dated Mar 01: > Matthias Klose writes: > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > code due to the changed exception handling (now DWARF2 based). As > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > Currently 3.2 is in unstable only. Would you want to start the > > recompilation before 3.2 based binaries go to testing? > > > > The packaging for 3.3 can be found in the Debian CVS. > > You can get test packages from > http://ftp-master.debian.org/~doko/gcc-3.3/ well.... this is not looking good. after installing these in a freshly built sarge chroot, all c++ programs stop working (well, i've only tried two -- apt and fakeroot) (btw, small packaging detail, but the libstdc++*-dev package above cannot be installed cleanly because it overwrites things in the current 3.2 package) randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung @ 2003-03-02 5:40 ` John David Anglin 2003-03-02 5:40 ` John David Anglin ` (6 subsequent siblings) 7 siblings, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-02 5:40 UTC (permalink / raw) To: tausq; +Cc: doko, debian-hppa, debian-gcc, parisc-linux > In reference to a message from Matthias Klose, dated Mar 01: > > Matthias Klose writes: > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > code due to the changed exception handling (now DWARF2 based). As > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? Possibly, this issue should be broached with the libstdc++ maintainers. In my testing, I have moved to installing each gcc version in its own directory. I should note again that 3.3 has a ABI change in the passing of small structures. It also contains a fix for function pointer comparison. As glibc does function comparison in a number of routines, it needs recompilation with 3.3 to work correctly. Then, I believe gcc needs to be rebuilt as libstdc++ depends on the thread implementation. The last glibc linuxthread code that I downloaded was still broken. I know Carlos has a patch in the works. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung 2003-03-02 5:40 ` John David Anglin @ 2003-03-02 5:40 ` John David Anglin 2003-03-02 9:24 ` M. Grabert 2003-03-02 9:24 ` M. Grabert 2003-03-03 14:27 ` Joel Soete ` (5 subsequent siblings) 7 siblings, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-02 5:40 UTC (permalink / raw) To: tausq; +Cc: doko, debian-hppa, debian-gcc, parisc-linux > In reference to a message from Matthias Klose, dated Mar 01: > > Matthias Klose writes: > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > code due to the changed exception handling (now DWARF2 based). As > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? Possibly, this issue should be broached with the libstdc++ maintainers. In my testing, I have moved to installing each gcc version in its own directory. I should note again that 3.3 has a ABI change in the passing of small structures. It also contains a fix for function pointer comparison. As glibc does function comparison in a number of routines, it needs recompilation with 3.3 to work correctly. Then, I believe gcc needs to be rebuilt as libstdc++ depends on the thread implementation. The last glibc linuxthread code that I downloaded was still broken. I know Carlos has a patch in the works. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 5:40 ` John David Anglin @ 2003-03-02 9:24 ` M. Grabert 2003-03-02 9:24 ` M. Grabert 1 sibling, 0 replies; 64+ messages in thread From: M. Grabert @ 2003-03-02 9:24 UTC (permalink / raw) To: John David Anglin; +Cc: debian-hppa, parisc-linux On Sun, 2 Mar 2003, John David Anglin wrote: > I should note again that 3.3 has a ABI change in the passing of small > structures. It also contains a fix for function pointer comparison. > As glibc does function comparison in a number of routines, it needs > recompilation with 3.3 to work correctly. Then, I believe gcc needs > to be rebuilt as libstdc++ depends on the thread implementation. The > last glibc linuxthread code that I downloaded was still broken. I know > Carlos has a patch in the works. This means that future glibc (in Debian/PA-RISC, unstable) will/must be compiled with gcc-3.3, along with all C++-programmes. Is this going to happen soon or do you wait until gcc-3.3 is offically released? Does this also imply that gcc/g++-3.3 will be the new default compiler for unstable then? What (kind of) existing broken applications will be fixed by recompiling with gcc-3.3? Just curious, Max ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 5:40 ` John David Anglin 2003-03-02 9:24 ` M. Grabert @ 2003-03-02 9:24 ` M. Grabert 2003-03-02 17:01 ` Randolph Chung ` (3 more replies) 1 sibling, 4 replies; 64+ messages in thread From: M. Grabert @ 2003-03-02 9:24 UTC (permalink / raw) To: John David Anglin; +Cc: debian-hppa, parisc-linux On Sun, 2 Mar 2003, John David Anglin wrote: > I should note again that 3.3 has a ABI change in the passing of small > structures. It also contains a fix for function pointer comparison. > As glibc does function comparison in a number of routines, it needs > recompilation with 3.3 to work correctly. Then, I believe gcc needs > to be rebuilt as libstdc++ depends on the thread implementation. The > last glibc linuxthread code that I downloaded was still broken. I know > Carlos has a patch in the works. This means that future glibc (in Debian/PA-RISC, unstable) will/must be compiled with gcc-3.3, along with all C++-programmes. Is this going to happen soon or do you wait until gcc-3.3 is offically released? Does this also imply that gcc/g++-3.3 will be the new default compiler for unstable then? What (kind of) existing broken applications will be fixed by recompiling with gcc-3.3? Just curious, Max ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 9:24 ` M. Grabert @ 2003-03-02 17:01 ` Randolph Chung 2003-03-02 17:01 ` Randolph Chung ` (2 subsequent siblings) 3 siblings, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-02 17:01 UTC (permalink / raw) To: M. Grabert; +Cc: debian-hppa, parisc-linux > This means that future glibc (in Debian/PA-RISC, unstable) will/must > be compiled with gcc-3.3, along with all C++-programmes. Is this going to > happen soon or do you wait until gcc-3.3 is offically released? this is more or less up to the Debian release manager, but we are probably not going to start gcc-3.3 transition until the gcc-3.2 transition is over. randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 9:24 ` M. Grabert 2003-03-02 17:01 ` Randolph Chung @ 2003-03-02 17:01 ` Randolph Chung 2003-03-02 18:50 ` John David Anglin 2003-03-02 18:50 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-02 17:01 UTC (permalink / raw) To: M. Grabert; +Cc: debian-hppa, parisc-linux > This means that future glibc (in Debian/PA-RISC, unstable) will/must > be compiled with gcc-3.3, along with all C++-programmes. Is this going to > happen soon or do you wait until gcc-3.3 is offically released? this is more or less up to the Debian release manager, but we are probably not going to start gcc-3.3 transition until the gcc-3.2 transition is over. randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 9:24 ` M. Grabert 2003-03-02 17:01 ` Randolph Chung 2003-03-02 17:01 ` Randolph Chung @ 2003-03-02 18:50 ` John David Anglin 2003-03-02 18:50 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-02 18:50 UTC (permalink / raw) To: M. Grabert; +Cc: debian-hppa, parisc-linux > Does this also imply that gcc/g++-3.3 will be the new default compiler > for unstable then? What (kind of) existing broken applications will be > fixed by recompiling with gcc-3.3? I can't be very specific as to what's fixed as most of the fixes have come about from fixing failures in the GCC and binutils testsuites. The passing of small structs by value mainly affects C++ code. It's rather uncommon to pass structs by value in C. I'm not aware of any impact on glibc or hpux libc, for example. The comparison of function pointers in dynamic applications was broken. This was found in the binutils testsuite. It potentially affects signal handlers, running of initializers and finalizers, etc. The PA has a rather unique way of handling function pointers. A function pointer points to a function descriptor when the plabel bit is set, otherwise it points directly to the entry point of the function. The dynamic loader does the initial setup of the function descriptors. The first call to any function actually transfers to the routine fixup in the dynamic loader. It resolves the address of the function to call. Function pointer comparison also requires that the function address be resolved. In GCC 3.0.4, we just compared the function descriptor pointers. However, there can be multiple function decriptors pointing to the same function. So, this wasn't reliable. When the dynamic loader design was done a couple of years ago, this appears to have been overlooked. HP-UX 11 has what they call official procedure descriptors which are unique. Because it's not that common to pass function pointers around from one dynamic object to another and compare them with pointers from another object, the problem doesn't arise that frequently. The dwarf2 EH implementation was done mainly for compatibility with other linux ports. It's probably more efficient the using sjlj exceptions. Potentially, it's something that ada can use. I believe that ACT is using dwarf2 EH in their commercial ada distribution under hpux. It may also be useful for gdb. However, I don't think there is a difference in GCC testresults. The pthread design in glibc also is potentially an ABI breaker. These are the PA specific ABI issues that I recall, but there might be more. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 9:24 ` M. Grabert ` (2 preceding siblings ...) 2003-03-02 18:50 ` John David Anglin @ 2003-03-02 18:50 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-02 18:50 UTC (permalink / raw) To: M. Grabert; +Cc: debian-hppa, parisc-linux > Does this also imply that gcc/g++-3.3 will be the new default compiler > for unstable then? What (kind of) existing broken applications will be > fixed by recompiling with gcc-3.3? I can't be very specific as to what's fixed as most of the fixes have come about from fixing failures in the GCC and binutils testsuites. The passing of small structs by value mainly affects C++ code. It's rather uncommon to pass structs by value in C. I'm not aware of any impact on glibc or hpux libc, for example. The comparison of function pointers in dynamic applications was broken. This was found in the binutils testsuite. It potentially affects signal handlers, running of initializers and finalizers, etc. The PA has a rather unique way of handling function pointers. A function pointer points to a function descriptor when the plabel bit is set, otherwise it points directly to the entry point of the function. The dynamic loader does the initial setup of the function descriptors. The first call to any function actually transfers to the routine fixup in the dynamic loader. It resolves the address of the function to call. Function pointer comparison also requires that the function address be resolved. In GCC 3.0.4, we just compared the function descriptor pointers. However, there can be multiple function decriptors pointing to the same function. So, this wasn't reliable. When the dynamic loader design was done a couple of years ago, this appears to have been overlooked. HP-UX 11 has what they call official procedure descriptors which are unique. Because it's not that common to pass function pointers around from one dynamic object to another and compare them with pointers from another object, the problem doesn't arise that frequently. The dwarf2 EH implementation was done mainly for compatibility with other linux ports. It's probably more efficient the using sjlj exceptions. Potentially, it's something that ada can use. I believe that ACT is using dwarf2 EH in their commercial ada distribution under hpux. It may also be useful for gdb. However, I don't think there is a difference in GCC testresults. The pthread design in glibc also is potentially an ABI breaker. These are the PA specific ABI issues that I recall, but there might be more. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* RE: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung 2003-03-02 5:40 ` John David Anglin 2003-03-02 5:40 ` John David Anglin @ 2003-03-03 14:27 ` Joel Soete 2003-03-03 16:17 ` John David Anglin 2003-03-03 16:17 ` John David Anglin 2003-03-03 14:27 ` Joel Soete ` (4 subsequent siblings) 7 siblings, 2 replies; 64+ messages in thread From: Joel Soete @ 2003-03-03 14:27 UTC (permalink / raw) To: Randolph Chung, Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux >-- Original Message -- >From: Randolph Chung <tausq@debian.org> >To: Matthias Klose <doko@cs.tu-berlin.de> >Cc: debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Reply-To: Randolph Chung <tausq@debian.org> >Subject: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Date: Sat, 1 Mar 2003 20:59:36 -0800 > > >In reference to a message from Matthias Klose, dated Mar 01: >> Matthias Klose writes: >> > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ >> > code due to the changed exception handling (now DWARF2 based). As >> > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? >> > Currently 3.2 is in unstable only. Would you want to start the >> > recompilation before 3.2 based binaries go to testing? >> > >> > The packaging for 3.3 can be found in the Debian CVS. hmm is there an url explaining how to grab it? >> >> You can get test packages from >> http://ftp-master.debian.org/~doko/gcc-3.3/ > Nice and is it also possible to produce a 64bits version of gcc? >well.... this is not looking good. after installing these in a freshly >built sarge chroot, all c++ programs stop working (well, i've only tried >two -- apt and fakeroot) > >(btw, small packaging detail, but the libstdc++*-dev package above >cannot be installed cleanly because it overwrites things in the current >3.2 package) > >randolph >-- >Randolph Chung >Debian GNU/Linux Developer, hppa/ia64 ports >http://www.tausq.org/ >_______________________________________________ >parisc-linux mailing list >parisc-linux@lists.parisc-linux.org >http://lists.parisc-linux.org/mailman/listinfo/parisc-linux Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-03 14:27 ` Joel Soete @ 2003-03-03 16:17 ` John David Anglin 2003-03-03 16:24 ` Randolph Chung 2003-03-03 16:17 ` John David Anglin 1 sibling, 1 reply; 64+ messages in thread From: John David Anglin @ 2003-03-03 16:17 UTC (permalink / raw) To: Joel Soete; +Cc: tausq, doko, debian-hppa, debian-gcc, parisc-linux > Nice and is it also possible to produce a 64bits version of gcc? Last time I tried (couple of weeks ago), it was possible to build a 64-bit cross starting with 3.3. This still doesn't work with 3.2. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-03 16:17 ` John David Anglin @ 2003-03-03 16:24 ` Randolph Chung 2003-03-03 17:22 ` Joel Soete 0 siblings, 1 reply; 64+ messages in thread From: Randolph Chung @ 2003-03-03 16:24 UTC (permalink / raw) To: John David Anglin; +Cc: Joel Soete, parisc-linux [Note: trimmed cc list] > Last time I tried (couple of weeks ago), it was possible to build > a 64-bit cross starting with 3.3. This still doesn't work with 3.2. also 64-bit hppa64-linux gcc-3.2 (built with 3.3) ICEs regularly. For people using this to build kernels, I would suggest staying with 3.0.4 for now. (I'm also seeing reproducible crashes when running hppa64-linux-ld now, still need to track that down) randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-03 16:24 ` Randolph Chung @ 2003-03-03 17:22 ` Joel Soete 0 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-03 17:22 UTC (permalink / raw) To: Randolph Chung; +Cc: John David Anglin, parisc-linux Randolph Chung wrote: >[Note: trimmed cc list] > > > >>Last time I tried (couple of weeks ago), it was possible to build >>a 64-bit cross starting with 3.3. This still doesn't work with 3.2. >> >> > >also 64-bit hppa64-linux gcc-3.2 (built with 3.3) ICEs regularly. For >people using this to build kernels, I would suggest staying with 3.0.4 >for now. > >(I'm also seeing reproducible crashes when running hppa64-linux-ld now, >still need to track that down) > >randolph > > Ok Randolph, I will wait so because the question was in fact to rebuild a kernel 64bits with smp support (up works fine) but smp seems to failled just after init the first cpu and would like to see what is the problem. Thanks for advise, Joel ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-03 14:27 ` Joel Soete 2003-03-03 16:17 ` John David Anglin @ 2003-03-03 16:17 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-03 16:17 UTC (permalink / raw) To: Joel Soete; +Cc: tausq, doko, debian-hppa, debian-gcc, parisc-linux > Nice and is it also possible to produce a 64bits version of gcc? Last time I tried (couple of weeks ago), it was possible to build a 64-bit cross starting with 3.3. This still doesn't work with 3.2. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* RE: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung ` (2 preceding siblings ...) 2003-03-03 14:27 ` Joel Soete @ 2003-03-03 14:27 ` Joel Soete 2003-03-09 20:06 ` Matthias Klose ` (3 subsequent siblings) 7 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-03 14:27 UTC (permalink / raw) To: Randolph Chung, Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux >-- Original Message -- >From: Randolph Chung <tausq@debian.org> >To: Matthias Klose <doko@cs.tu-berlin.de> >Cc: debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Reply-To: Randolph Chung <tausq@debian.org> >Subject: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Date: Sat, 1 Mar 2003 20:59:36 -0800 > > >In reference to a message from Matthias Klose, dated Mar 01: >> Matthias Klose writes: >> > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ >> > code due to the changed exception handling (now DWARF2 based). As >> > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? >> > Currently 3.2 is in unstable only. Would you want to start the >> > recompilation before 3.2 based binaries go to testing? >> > >> > The packaging for 3.3 can be found in the Debian CVS. hmm is there an url explaining how to grab it? >> >> You can get test packages from >> http://ftp-master.debian.org/~doko/gcc-3.3/ > Nice and is it also possible to produce a 64bits version of gcc? >well.... this is not looking good. after installing these in a freshly >built sarge chroot, all c++ programs stop working (well, i've only tried >two -- apt and fakeroot) > >(btw, small packaging detail, but the libstdc++*-dev package above >cannot be installed cleanly because it overwrites things in the current >3.2 package) > >randolph >-- >Randolph Chung >Debian GNU/Linux Developer, hppa/ia64 ports >http://www.tausq.org/ >_______________________________________________ >parisc-linux mailing list >parisc-linux@lists.parisc-linux.org >http://lists.parisc-linux.org/mailman/listinfo/parisc-linux Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung ` (3 preceding siblings ...) 2003-03-03 14:27 ` Joel Soete @ 2003-03-09 20:06 ` Matthias Klose 2003-03-09 20:27 ` John David Anglin 2003-03-09 20:27 ` John David Anglin 2003-03-09 20:06 ` Matthias Klose ` (2 subsequent siblings) 7 siblings, 2 replies; 64+ messages in thread From: Matthias Klose @ 2003-03-09 20:06 UTC (permalink / raw) To: Randolph Chung; +Cc: debian-hppa, debian-gcc, parisc-linux Randolph Chung writes: > In reference to a message from Matthias Klose, dated Mar 01: > > Matthias Klose writes: > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > code due to the changed exception handling (now DWARF2 based). As > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > > Currently 3.2 is in unstable only. Would you want to start the > > > recompilation before 3.2 based binaries go to testing? > > > > > > The packaging for 3.3 can be found in the Debian CVS. > > > > You can get test packages from > > http://ftp-master.debian.org/~doko/gcc-3.3/ > > well.... this is not looking good. after installing these in a freshly > built sarge chroot, all c++ programs stop working (well, i've only tried > two -- apt and fakeroot) You can find updated packages at http://ftp-master.debian.org/~doko/gcc-3.3/hppa/ checked building bash (fakeroot) and upgrading an unstable chroot (apt). > (btw, small packaging detail, but the libstdc++*-dev package above > cannot be installed cleanly because it overwrites things in the current > 3.2 package) There is still one conflict for libstdc++5-dev (<= 1:3.2.3-0pre3), so please install libstdc++5-dev (1:3.2.3-0pre4) first. Matthias ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-09 20:06 ` Matthias Klose @ 2003-03-09 20:27 ` John David Anglin 2003-03-09 20:45 ` Randolph Chung 2003-03-09 20:45 ` Randolph Chung 2003-03-09 20:27 ` John David Anglin 1 sibling, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-09 20:27 UTC (permalink / raw) To: Matthias Klose; +Cc: tausq, debian-hppa, debian-gcc, parisc-linux > Randolph Chung writes: > > In reference to a message from Matthias Klose, dated Mar 01: > > > Matthias Klose writes: > > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > > code due to the changed exception handling (now DWARF2 based). As > > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > > > Currently 3.2 is in unstable only. Would you want to start the > > > > recompilation before 3.2 based binaries go to testing? > > > > > > > > The packaging for 3.3 can be found in the Debian CVS. > > > > > > You can get test packages from > > > http://ftp-master.debian.org/~doko/gcc-3.3/ > > > > well.... this is not looking good. after installing these in a freshly > > built sarge chroot, all c++ programs stop working (well, i've only tried > > two -- apt and fakeroot) > > You can find updated packages at > http://ftp-master.debian.org/~doko/gcc-3.3/hppa/ > checked building bash (fakeroot) and upgrading an unstable chroot (apt). > > > (btw, small packaging detail, but the libstdc++*-dev package above > > cannot be installed cleanly because it overwrites things in the current > > 3.2 package) > > There is still one conflict for libstdc++5-dev (<= 1:3.2.3-0pre3), so > please install libstdc++5-dev (1:3.2.3-0pre4) first. Did you configure 3.3 using "--enable-sjlj-exceptions=yes"? That way the 3.3 C++ library should be compatible with the previous 3.3 library. The switch to dwarf2 can be delayed until the next debian release. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-09 20:27 ` John David Anglin @ 2003-03-09 20:45 ` Randolph Chung 2003-03-09 20:45 ` Randolph Chung 1 sibling, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-09 20:45 UTC (permalink / raw) To: John David Anglin; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux > Did you configure 3.3 using "--enable-sjlj-exceptions=yes"? That way > the 3.3 C++ library should be compatible with the previous 3.3 library. > The switch to dwarf2 can be delayed until the next debian release. yeah, i exchanged some mail with Matthias about this. Anyway, I have the debs installed in a chroot now. Will start building random stuff and see what happens :) stay tuned, randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-09 20:27 ` John David Anglin 2003-03-09 20:45 ` Randolph Chung @ 2003-03-09 20:45 ` Randolph Chung 1 sibling, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-09 20:45 UTC (permalink / raw) To: John David Anglin; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux > Did you configure 3.3 using "--enable-sjlj-exceptions=yes"? That way > the 3.3 C++ library should be compatible with the previous 3.3 library. > The switch to dwarf2 can be delayed until the next debian release. yeah, i exchanged some mail with Matthias about this. Anyway, I have the debs installed in a chroot now. Will start building random stuff and see what happens :) stay tuned, randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-09 20:06 ` Matthias Klose 2003-03-09 20:27 ` John David Anglin @ 2003-03-09 20:27 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-09 20:27 UTC (permalink / raw) To: Matthias Klose; +Cc: tausq, debian-hppa, debian-gcc, parisc-linux > Randolph Chung writes: > > In reference to a message from Matthias Klose, dated Mar 01: > > > Matthias Klose writes: > > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > > code due to the changed exception handling (now DWARF2 based). As > > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > > > Currently 3.2 is in unstable only. Would you want to start the > > > > recompilation before 3.2 based binaries go to testing? > > > > > > > > The packaging for 3.3 can be found in the Debian CVS. > > > > > > You can get test packages from > > > http://ftp-master.debian.org/~doko/gcc-3.3/ > > > > well.... this is not looking good. after installing these in a freshly > > built sarge chroot, all c++ programs stop working (well, i've only tried > > two -- apt and fakeroot) > > You can find updated packages at > http://ftp-master.debian.org/~doko/gcc-3.3/hppa/ > checked building bash (fakeroot) and upgrading an unstable chroot (apt). > > > (btw, small packaging detail, but the libstdc++*-dev package above > > cannot be installed cleanly because it overwrites things in the current > > 3.2 package) > > There is still one conflict for libstdc++5-dev (<= 1:3.2.3-0pre3), so > please install libstdc++5-dev (1:3.2.3-0pre4) first. Did you configure 3.3 using "--enable-sjlj-exceptions=yes"? That way the 3.3 C++ library should be compatible with the previous 3.3 library. The switch to dwarf2 can be delayed until the next debian release. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 64+ messages in thread
* [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung ` (4 preceding siblings ...) 2003-03-09 20:06 ` Matthias Klose @ 2003-03-09 20:06 ` Matthias Klose 2003-03-12 17:33 ` Joel Soete 2003-03-12 17:33 ` Joel Soete 7 siblings, 0 replies; 64+ messages in thread From: Matthias Klose @ 2003-03-09 20:06 UTC (permalink / raw) To: Randolph Chung; +Cc: debian-hppa, debian-gcc, parisc-linux Randolph Chung writes: > In reference to a message from Matthias Klose, dated Mar 01: > > Matthias Klose writes: > > > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ > > > code due to the changed exception handling (now DWARF2 based). As > > > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? > > > Currently 3.2 is in unstable only. Would you want to start the > > > recompilation before 3.2 based binaries go to testing? > > > > > > The packaging for 3.3 can be found in the Debian CVS. > > > > You can get test packages from > > http://ftp-master.debian.org/~doko/gcc-3.3/ > > well.... this is not looking good. after installing these in a freshly > built sarge chroot, all c++ programs stop working (well, i've only tried > two -- apt and fakeroot) You can find updated packages at http://ftp-master.debian.org/~doko/gcc-3.3/hppa/ checked building bash (fakeroot) and upgrading an unstable chroot (apt). > (btw, small packaging detail, but the libstdc++*-dev package above > cannot be installed cleanly because it overwrites things in the current > 3.2 package) There is still one conflict for libstdc++5-dev (<= 1:3.2.3-0pre3), so please install libstdc++5-dev (1:3.2.3-0pre4) first. Matthias ^ permalink raw reply [flat|nested] 64+ messages in thread
* RE: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung ` (5 preceding siblings ...) 2003-03-09 20:06 ` Matthias Klose @ 2003-03-12 17:33 ` Joel Soete 2003-03-12 17:35 ` Randolph Chung 2003-03-12 17:35 ` Randolph Chung 2003-03-12 17:33 ` Joel Soete 7 siblings, 2 replies; 64+ messages in thread From: Joel Soete @ 2003-03-12 17:33 UTC (permalink / raw) To: Randolph Chung, Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux Hi Randolph, >-- Original Message -- >From: Randolph Chung <tausq@debian.org> >To: Matthias Klose <doko@cs.tu-berlin.de> >Cc: debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Reply-To: Randolph Chung <tausq@debian.org> >Subject: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Date: Sat, 1 Mar 2003 20:59:36 -0800 > > >In reference to a message from Matthias Klose, dated Mar 01: >> Matthias Klose writes: >> > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ >> > code due to the changed exception handling (now DWARF2 based). As >> > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? >> > Currently 3.2 is in unstable only. Would you want to start the >> > recompilation before 3.2 based binaries go to testing? >> > >> > The packaging for 3.3 can be found in the Debian CVS. >> >> You can get test packages from >> http://ftp-master.debian.org/~doko/gcc-3.3/ > >well.... this is not looking good. after installing these in a freshly >built sarge chroot, all c++ programs stop working (well, i've only tried >two -- apt and fakeroot) > >(btw, small packaging detail, but the libstdc++*-dev package above >cannot be installed cleanly because it overwrites things in the current >3.2 package) > Sorry in advance if I am annoying. I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to conitnue my investigation about smp(64bits) [which failled to boot on a N4000 when compile d with gcc-3.2 get from unofficial-debs]. To do I download the very last src from Matthias Klose who advise me to my question: >> Do you have some idea how to rebuild it from dpkg sources? >> (I would like avoid the toolchain procedure if possible) >look at debian/rules.defs for the support to build a cross compiler. >It was submitted some weeks ago. I didn't check this myself yet. I have a look but it is not clear to me; can you help me in more details? (ps: I already install the last Matthias gcc-3.3 dpkg 32bits; according to your <http://lists.parisc-linux.org/pipermail/parisc-linux/2003-February/019170.html> it is a prerequisite) Thanks in advance, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:33 ` Joel Soete @ 2003-03-12 17:35 ` Randolph Chung 2003-03-12 17:35 ` Randolph Chung 1 sibling, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-12 17:35 UTC (permalink / raw) To: Joel Soete; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux > I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to > conitnue my investigation about smp(64bits) [which failled to boot on a N4000 > when compile d with gcc-3.2 get from unofficial-debs]. If you are working on 64-bit, I would advise staying with 3.0.4 for now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just be introducing more unknowns into the problem. randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:33 ` Joel Soete 2003-03-12 17:35 ` Randolph Chung @ 2003-03-12 17:35 ` Randolph Chung 2003-03-12 17:53 ` Joel Soete 2003-03-12 17:53 ` Joel Soete 1 sibling, 2 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-12 17:35 UTC (permalink / raw) To: Joel Soete; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux > I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to > conitnue my investigation about smp(64bits) [which failled to boot on a N4000 > when compile d with gcc-3.2 get from unofficial-debs]. If you are working on 64-bit, I would advise staying with 3.0.4 for now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just be introducing more unknowns into the problem. randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:35 ` Randolph Chung @ 2003-03-12 17:53 ` Joel Soete 2003-03-14 12:48 ` Joel Soete ` (3 more replies) 2003-03-12 17:53 ` Joel Soete 1 sibling, 4 replies; 64+ messages in thread From: Joel Soete @ 2003-03-12 17:53 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux >-- Original Message -- >Date: Wed, 12 Mar 2003 09:35:05 -0800 >From: Randolph Chung <tausq@debian.org> >To: Joel Soete <jsoe0708@tiscali.be> >Cc: Matthias Klose <doko@cs.tu-berlin.de>, > debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Subject: Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Reply-To: Randolph Chung <tausq@debian.org> > > >> I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to >> conitnue my investigation about smp(64bits) [which failled to boot on a >N4000 >> when compile d with gcc-3.2 get from unofficial-debs]. > >If you are working on 64-bit, I would advise staying with 3.0.4 for >now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just >be introducing more unknowns into the problem. > Ok I am gonna try to rebuild it with gcc-3.0. Thanks for advise, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:53 ` Joel Soete @ 2003-03-14 12:48 ` Joel Soete 2003-03-14 12:48 ` Joel Soete ` (2 subsequent siblings) 3 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-14 12:48 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux >> >Ok I am gonna try to rebuild it with gcc-3.0. > Wel I just do it (in 32bits naturaly) and already encounter a problem :_) : `gcc -print-libgcc-file-name` /usr/src/work/linux-2.4.20-pa28/arch/parisc/lib/lib.a /usr/src/work/linux-2.4.20-pa28/lib/lib.a \ --end-group \ -o vmlinux net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': : undefined reference to `rtnetlink_rcv_skb' make: *** [vmlinux] Error 1 (with gcc-3.2 with same src && same .config there was no pb) Thanks in advance for advise, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:53 ` Joel Soete 2003-03-14 12:48 ` Joel Soete @ 2003-03-14 12:48 ` Joel Soete 2003-03-14 13:17 ` Matthew Wilcox 2003-03-14 13:17 ` Matthew Wilcox 2003-03-20 18:06 ` Joel Soete 2003-03-20 18:06 ` Joel Soete 3 siblings, 2 replies; 64+ messages in thread From: Joel Soete @ 2003-03-14 12:48 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux >> >Ok I am gonna try to rebuild it with gcc-3.0. > Wel I just do it (in 32bits naturaly) and already encounter a problem :_) : `gcc -print-libgcc-file-name` /usr/src/work/linux-2.4.20-pa28/arch/parisc/lib/lib.a /usr/src/work/linux-2.4.20-pa28/lib/lib.a \ --end-group \ -o vmlinux net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': : undefined reference to `rtnetlink_rcv_skb' make: *** [vmlinux] Error 1 (with gcc-3.2 with same src && same .config there was no pb) Thanks in advance for advise, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 12:48 ` Joel Soete @ 2003-03-14 13:17 ` Matthew Wilcox 2003-03-14 16:31 ` Joel Soete ` (2 more replies) 2003-03-14 13:17 ` Matthew Wilcox 1 sibling, 3 replies; 64+ messages in thread From: Matthew Wilcox @ 2003-03-14 13:17 UTC (permalink / raw) To: Joel Soete Cc: Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net On Fri, Mar 14, 2003 at 01:48:59PM +0100, Joel Soete wrote: > net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': > : undefined reference to `rtnetlink_rcv_skb' > make: *** [vmlinux] Error 1 > > (with gcc-3.2 with same src && same .config there was no pb) You've just hit the gcc thinks it's smarter than you are bug. net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff *skb) gcc 3.3 decides to not believe you want this function inlined. probably the right fix for this is to make this function static inline (you can drop the `__' around inline, it's not necessary). This is also the case for linux 2.5. -- "It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 13:17 ` Matthew Wilcox @ 2003-03-14 16:31 ` Joel Soete 2003-03-14 16:31 ` Joel Soete 2003-03-16 22:52 ` Michael S.Zick 2 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-14 16:31 UTC (permalink / raw) To: Matthew Wilcox Cc: Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net > >On Fri, Mar 14, 2003 at 01:48:59PM +0100, Joel Soete wrote: >> net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': >> : undefined reference to `rtnetlink_rcv_skb' >> make: *** [vmlinux] Error 1 >> >> (with gcc-3.2 with same src && same .config there was no pb) > >You've just hit the gcc thinks it's smarter than you are bug. > >net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff >*skb) > >gcc 3.3 decides to not believe you want this function inlined. probably >the right fix for this is to make this function static inline (you can >drop the `__' around inline, it's not necessary). This is also the case >for linux 2.5. > Right Willy that allow to compile :) Unfortunately it failled to boot :_( with following dump: Freeing unused kernel memory: 246k freed Stack Dump: 10674680: 0006ff0f 10371278 100dc000 00000000 10674670: 107dd2a0 101639e4 107dd220 103fcc80 10674660: 10398010 1003bd20 00027174 faf00068 10674650: 100bbd20 00000001 00000040 100bba00 10674640: 00000000 00000000 00000000 00000004 10674630: faf00290 101342f8 00020002 00020002 Kernel addresses on the stack: [<101639e4>] [<101342f8>] [<1010bbf8>] [<101346d4>] [<10110f90>] [<10110084>] [<1010fcf4>] [<10164e10>] [<101639e4>] [<1017bfc4>] [<1017c21c>] [<1012d9f4>] Kernel Fault: Code=15 regs=10674680 (Addr=00027750) YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI PSW: 00000000000001101111111100001111 Not tainted r00-03 00000000 103eee50 101342f8 00027750 r04-07 00000000 0000000e 0000000e 00027174 r08-11 00016800 00000001 10674000 1017c21c r12-15 00027174 ffffffff 00000000 00000000 r16-19 103af5c0 00027974 ffffffff 10398010 r20-23 00001000 00027753 fffffff8 100bb9f4 r24-27 00000000 10674558 00027752 10398010 r28-31 00027752 00000000 10674680 40061077 sr0-3 00000001 00000001 00000000 00000001 sr4-7 00000000 00000000 00000000 00000000 IASQ: 00000000 00000000 IAOQ: 10351b7c 10351b80 IIR: 0c601094 ISR: 00000000 IOR: 00027750 CPU: 0 CR30: 10674000 CR31: 10438000 ORIG_R28: 00001000 Submitted to dump_analyser.sh, I obtain: IAOQ = 10351b7c Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 10351b74: 48 21 0c a8 ldw 654(r1),r1 10351b78: d4 60 1c 1e depwi 0,31,2,r3 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 GR0 = 00000000 GR1 = 103eee50 Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 GR2 = 101342f8 Func: do_sigaction, Off: a8, Addr: 0x101342f8 101342f0: e8 50 0b 39 b,l 10114894 <print_parisc_device+0x3d0>,rp 101342f4: 0c 73 12 99 stw r19,-4(sr0,r3) 101342f8: 34 1a 00 02 ldi 1,r26 101342fc: e8 50 0b 21 b,l 10114894 <print_parisc_device+0x3d0>,rp GR3 = 00027750 GR4 = 00000000 GR5 = 0000000e GR6 = 0000000e GR7 = 00027174 GR8 = 00016800 GR9 = 00000001 GR10 = 10674000 GR11 = 1017c21c Func: sys_dup, Off: 28, Addr: 0x1017c21c 1017c210: 34 13 3f ef ldi -9,r19 1017c214: e8 5f 1b ed b,l 1017c010 <dupfd>,rp 1017c218: 08 00 02 40 nop 1017c21c: 08 1c 02 53 copy ret0,r19 GR12 = 00027174 GR13 = ffffffff GR14 = 00000000 GR15 = 00000000 GR16 = 103af5c0 Func: init_mm, Off: 0, Addr: 0x103af5c0 GR17 = 00027974 GR18 = ffffffff GR19 = 10398010 Func: $global$, Off: 0, Addr: 0x10398010 GR20 = 00001000 GR21 = 00027753 GR22 = fffffff8 GR23 = 100bb9f4 GR24 = 00000000 GR25 = 10674558 GR26 = 00027752 GR27 = 10398010 Func: $global$, Off: 0, Addr: 0x10398010 GR28 = 00027752 GR29 = 00000000 GR30 = 10674680 GR31 = 40061077 Kernel symbols on the stack: [<101639e4>]: Func: dentry_open, Off: f4, Addr: 0x101639e4 [<101342f8>]: Func: do_sigaction, Off: a8, Addr: 0x101342f8 [<1010bbf8>]: Func: handle_interruption, Off: 150, Addr: 0x1010bbf8 [<101346d4>]: Func: sys_rt_sigaction, Off: 84, Addr: 0x101346d4 [<10110f90>]: Func: syscall_exit, Off: 0, Addr: 0x10110f90 [<10110084>]: Func: intr_check_sig, Off: 0, Addr: 0x10110084 [<1010fcf4>]: Func: _switch_to_ret, Off: 0, Addr: 0x1010fcf4 [<10164e10>]: Func: chrdev_open, Off: 64, Addr: 0x10164e10 [<101639e4>]: Func: dentry_open, Off: f4, Addr: 0x101639e4 [<1017bfc4>]: Func: locate_fd, Off: 70, Addr: 0x1017bfc4 [<1017c21c>]: Func: sys_dup, Off: 28, Addr: 0x1017c21c [<1012d9f4>]: Func: it_real_fn, Off: 0, Addr: 0x1012d9f4 Done. It doesn't help me more right now (some sleep need :) ). Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 13:17 ` Matthew Wilcox 2003-03-14 16:31 ` Joel Soete @ 2003-03-14 16:31 ` Joel Soete 2003-03-18 18:14 ` b.gunreben 2003-03-18 18:14 ` b.gunreben 2003-03-16 22:52 ` Michael S.Zick 2 siblings, 2 replies; 64+ messages in thread From: Joel Soete @ 2003-03-14 16:31 UTC (permalink / raw) To: Matthew Wilcox Cc: Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net > >On Fri, Mar 14, 2003 at 01:48:59PM +0100, Joel Soete wrote: >> net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': >> : undefined reference to `rtnetlink_rcv_skb' >> make: *** [vmlinux] Error 1 >> >> (with gcc-3.2 with same src && same .config there was no pb) > >You've just hit the gcc thinks it's smarter than you are bug. > >net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff >*skb) > >gcc 3.3 decides to not believe you want this function inlined. probably >the right fix for this is to make this function static inline (you can >drop the `__' around inline, it's not necessary). This is also the case >for linux 2.5. > Right Willy that allow to compile :) Unfortunately it failled to boot :_( with following dump: Freeing unused kernel memory: 246k freed Stack Dump: 10674680: 0006ff0f 10371278 100dc000 00000000 10674670: 107dd2a0 101639e4 107dd220 103fcc80 10674660: 10398010 1003bd20 00027174 faf00068 10674650: 100bbd20 00000001 00000040 100bba00 10674640: 00000000 00000000 00000000 00000004 10674630: faf00290 101342f8 00020002 00020002 Kernel addresses on the stack: [<101639e4>] [<101342f8>] [<1010bbf8>] [<101346d4>] [<10110f90>] [<10110084>] [<1010fcf4>] [<10164e10>] [<101639e4>] [<1017bfc4>] [<1017c21c>] [<1012d9f4>] Kernel Fault: Code=15 regs=10674680 (Addr=00027750) YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI PSW: 00000000000001101111111100001111 Not tainted r00-03 00000000 103eee50 101342f8 00027750 r04-07 00000000 0000000e 0000000e 00027174 r08-11 00016800 00000001 10674000 1017c21c r12-15 00027174 ffffffff 00000000 00000000 r16-19 103af5c0 00027974 ffffffff 10398010 r20-23 00001000 00027753 fffffff8 100bb9f4 r24-27 00000000 10674558 00027752 10398010 r28-31 00027752 00000000 10674680 40061077 sr0-3 00000001 00000001 00000000 00000001 sr4-7 00000000 00000000 00000000 00000000 IASQ: 00000000 00000000 IAOQ: 10351b7c 10351b80 IIR: 0c601094 ISR: 00000000 IOR: 00027750 CPU: 0 CR30: 10674000 CR31: 10438000 ORIG_R28: 00001000 Submitted to dump_analyser.sh, I obtain: IAOQ = 10351b7c Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 10351b74: 48 21 0c a8 ldw 654(r1),r1 10351b78: d4 60 1c 1e depwi 0,31,2,r3 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 GR0 = 00000000 GR1 = 103eee50 Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 GR2 = 101342f8 Func: do_sigaction, Off: a8, Addr: 0x101342f8 101342f0: e8 50 0b 39 b,l 10114894 <print_parisc_device+0x3d0>,rp 101342f4: 0c 73 12 99 stw r19,-4(sr0,r3) 101342f8: 34 1a 00 02 ldi 1,r26 101342fc: e8 50 0b 21 b,l 10114894 <print_parisc_device+0x3d0>,rp GR3 = 00027750 GR4 = 00000000 GR5 = 0000000e GR6 = 0000000e GR7 = 00027174 GR8 = 00016800 GR9 = 00000001 GR10 = 10674000 GR11 = 1017c21c Func: sys_dup, Off: 28, Addr: 0x1017c21c 1017c210: 34 13 3f ef ldi -9,r19 1017c214: e8 5f 1b ed b,l 1017c010 <dupfd>,rp 1017c218: 08 00 02 40 nop 1017c21c: 08 1c 02 53 copy ret0,r19 GR12 = 00027174 GR13 = ffffffff GR14 = 00000000 GR15 = 00000000 GR16 = 103af5c0 Func: init_mm, Off: 0, Addr: 0x103af5c0 GR17 = 00027974 GR18 = ffffffff GR19 = 10398010 Func: $global$, Off: 0, Addr: 0x10398010 GR20 = 00001000 GR21 = 00027753 GR22 = fffffff8 GR23 = 100bb9f4 GR24 = 00000000 GR25 = 10674558 GR26 = 00027752 GR27 = 10398010 Func: $global$, Off: 0, Addr: 0x10398010 GR28 = 00027752 GR29 = 00000000 GR30 = 10674680 GR31 = 40061077 Kernel symbols on the stack: [<101639e4>]: Func: dentry_open, Off: f4, Addr: 0x101639e4 [<101342f8>]: Func: do_sigaction, Off: a8, Addr: 0x101342f8 [<1010bbf8>]: Func: handle_interruption, Off: 150, Addr: 0x1010bbf8 [<101346d4>]: Func: sys_rt_sigaction, Off: 84, Addr: 0x101346d4 [<10110f90>]: Func: syscall_exit, Off: 0, Addr: 0x10110f90 [<10110084>]: Func: intr_check_sig, Off: 0, Addr: 0x10110084 [<1010fcf4>]: Func: _switch_to_ret, Off: 0, Addr: 0x1010fcf4 [<10164e10>]: Func: chrdev_open, Off: 64, Addr: 0x10164e10 [<101639e4>]: Func: dentry_open, Off: f4, Addr: 0x101639e4 [<1017bfc4>]: Func: locate_fd, Off: 70, Addr: 0x1017bfc4 [<1017c21c>]: Func: sys_dup, Off: 28, Addr: 0x1017c21c [<1012d9f4>]: Func: it_real_fn, Off: 0, Addr: 0x1012d9f4 Done. It doesn't help me more right now (some sleep need :) ). Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 16:31 ` Joel Soete @ 2003-03-18 18:14 ` b.gunreben 2003-03-18 18:53 ` John David Anglin 2003-03-18 18:53 ` John David Anglin 2003-03-18 18:14 ` b.gunreben 1 sibling, 2 replies; 64+ messages in thread From: b.gunreben @ 2003-03-18 18:14 UTC (permalink / raw) To: Joel Soete Cc: Matthew Wilcox, Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net Joel Soete wrote: > >gcc 3.3 decides to not believe you want this function inlined. probably > >the right fix for this is to make this function static inline (you can > >drop the `__' around inline, it's not necessary). This is also the case > >for linux 2.5. > > > Right Willy that allow to compile :) > > Unfortunately it failled to boot :_( with following dump: > Freeing unused kernel memory: 246k freed > ...... > Submitted to dump_analyser.sh, I obtain: > > IAOQ = 10351b7c > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > GR0 = 00000000 > > GR1 = 103eee50 > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > GR2 = 101342f8 > Func: do_sigaction, Off: a8, Addr: 0x101342f8 I have the same problem with a gcc 3.3 compiled kernel. The kernel itself completely comes up, and I even can call a static shell (something like init=/bin/sash), but as soon as glibc is involved, the mentioned crash occurs. Just to make it clear: I am able to use the builtin functions of that shell (like ls) and this works. This is independend from the kernel version (2.4 and 2.5 behave all the same). The function __canonicalize_funcptr_for_compare seems to be newly introduced in libgcc with gcc 3.3, and seems to be the cause of this error. Berthold ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:14 ` b.gunreben @ 2003-03-18 18:53 ` John David Anglin 2003-03-18 18:53 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 18:53 UTC (permalink / raw) To: b.gunreben Cc: jsoe0708, willy, tausq, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > This is independend from the kernel version (2.4 and 2.5 behave all the > same). The function __canonicalize_funcptr_for_compare seems to be newly > introduced in libgcc with gcc 3.3, and seems to be the cause of this error. Do you have the same problem with a 3.0.4 built kernel? I have been using a 3.3 built glibc for some months now. __canonicalize_funcptr_for_compare depends critically on the the initial setup of function descriptors by the dynamic loader and the trampoline in the dynamic loader used to resolve the address of functions. This could easily break if someone unknowing messes with the pa specific parts of the dynamic loader or the setup of function descriptors. I'm building glibc-2.3.1-15 and should know soon if something has changed. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:14 ` b.gunreben 2003-03-18 18:53 ` John David Anglin @ 2003-03-18 18:53 ` John David Anglin 2003-03-18 19:02 ` Randolph Chung ` (3 more replies) 1 sibling, 4 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 18:53 UTC (permalink / raw) To: b.gunreben Cc: jsoe0708, willy, tausq, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > This is independend from the kernel version (2.4 and 2.5 behave all the > same). The function __canonicalize_funcptr_for_compare seems to be newly > introduced in libgcc with gcc 3.3, and seems to be the cause of this error. Do you have the same problem with a 3.0.4 built kernel? I have been using a 3.3 built glibc for some months now. __canonicalize_funcptr_for_compare depends critically on the the initial setup of function descriptors by the dynamic loader and the trampoline in the dynamic loader used to resolve the address of functions. This could easily break if someone unknowing messes with the pa specific parts of the dynamic loader or the setup of function descriptors. I'm building glibc-2.3.1-15 and should know soon if something has changed. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:53 ` John David Anglin @ 2003-03-18 19:02 ` Randolph Chung 2003-03-18 19:16 ` John David Anglin 2003-03-18 19:16 ` John David Anglin 2003-03-18 19:02 ` Randolph Chung ` (2 subsequent siblings) 3 siblings, 2 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-18 19:02 UTC (permalink / raw) To: John David Anglin Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > __canonicalize_funcptr_for_compare depends critically on the > the initial setup of function descriptors by the dynamic loader > and the trampoline in the dynamic loader used to resolve the > address of functions. This could easily break if someone > unknowing messes with the pa specific parts of the dynamic > loader or the setup of function descriptors. um, Dave, we are talking about kernel here right? so no dynamic loader is involved. or did i misnuderstand you? randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 19:02 ` Randolph Chung @ 2003-03-18 19:16 ` John David Anglin 2003-03-18 19:16 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 19:16 UTC (permalink / raw) To: tausq Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > um, Dave, we are talking about kernel here right? so no dynamic loader > is involved. > > or did i misnuderstand you? > randolph I believe that we were talking about a problem in in glibc's use of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. In any program with static linkage, the plabel bit shouldn't be set in a function descriptor pointer. In that case, __canonicalize_funcptr_for_compare just returns the function descriptor pointer. Things only get hairy when the dynamic loader is involved and the routine has to figure out the address of the function fixup in the dynamic loader. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 19:02 ` Randolph Chung 2003-03-18 19:16 ` John David Anglin @ 2003-03-18 19:16 ` John David Anglin 2003-03-18 20:21 ` Randolph Chung 2003-03-18 20:21 ` Randolph Chung 1 sibling, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 19:16 UTC (permalink / raw) To: tausq Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > um, Dave, we are talking about kernel here right? so no dynamic loader > is involved. > > or did i misnuderstand you? > randolph I believe that we were talking about a problem in in glibc's use of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. In any program with static linkage, the plabel bit shouldn't be set in a function descriptor pointer. In that case, __canonicalize_funcptr_for_compare just returns the function descriptor pointer. Things only get hairy when the dynamic loader is involved and the routine has to figure out the address of the function fixup in the dynamic loader. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 19:16 ` John David Anglin @ 2003-03-18 20:21 ` Randolph Chung 2003-03-18 20:55 ` John David Anglin 2003-03-18 20:55 ` John David Anglin 2003-03-18 20:21 ` Randolph Chung 1 sibling, 2 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-18 20:21 UTC (permalink / raw) To: John David Anglin Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > I believe that we were talking about a problem in in glibc's use > of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. Quoting an earlier mail: > IAOQ = 10351b7c > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > GR0 = 00000000 > > GR1 = 103eee50 > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > GR2 = 101342f8 > Func: do_sigaction, Off: a8, Addr: 0x101342f8 these are definitely kernel addresses.... randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 20:21 ` Randolph Chung @ 2003-03-18 20:55 ` John David Anglin 2003-03-18 20:55 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 20:55 UTC (permalink / raw) To: tausq Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > > I believe that we were talking about a problem in in glibc's use > > of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. > > Quoting an earlier mail: > > IAOQ = 10351b7c > > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > > > GR0 = 00000000 > > > > GR1 = 103eee50 > > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > > > GR2 = 101342f8 > > Func: do_sigaction, Off: a8, Addr: 0x101342f8 > > these are definitely kernel addresses.... Right. I see the code that's causing the problem in kernel/signal.c: if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL You don't want to canonicalize k->sa.sa_handler here, so a cast to void * or something is needed. The PA is the only port that I am aware of that needs to canonicalize function pointers. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 20:21 ` Randolph Chung 2003-03-18 20:55 ` John David Anglin @ 2003-03-18 20:55 ` John David Anglin 2003-03-20 17:51 ` Joel Soete 2003-03-20 17:51 ` Joel Soete 1 sibling, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 20:55 UTC (permalink / raw) To: tausq Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > > I believe that we were talking about a problem in in glibc's use > > of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. > > Quoting an earlier mail: > > IAOQ = 10351b7c > > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > > > GR0 = 00000000 > > > > GR1 = 103eee50 > > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > > > GR2 = 101342f8 > > Func: do_sigaction, Off: a8, Addr: 0x101342f8 > > these are definitely kernel addresses.... Right. I see the code that's causing the problem in kernel/signal.c: if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL You don't want to canonicalize k->sa.sa_handler here, so a cast to void * or something is needed. The PA is the only port that I am aware of that needs to canonicalize function pointers. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 20:55 ` John David Anglin @ 2003-03-20 17:51 ` Joel Soete 2003-03-20 17:51 ` Joel Soete 1 sibling, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-20 17:51 UTC (permalink / raw) To: John David Anglin, tausq Cc: b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net >> >> these are definitely kernel addresses.... > >Right. I see the code that's causing the problem in kernel/signal.c: > > if (k->sa.sa_handler == SIG_IGN > || (k->sa.sa_handler == SIG_DFL > > >You don't want to canonicalize k->sa.sa_handler here, so a cast to >void * or something is needed. The PA is the only port that I am >aware of that needs to canonicalize function pointers. > Well I try to test some: --- signal.h.orig 2003-03-20 15:12:24.000000000 +0100 +++ signal.h 2003-03-20 15:11:47.000000000 +0100 @@ -106,9 +106,15 @@ #define SIG_UNBLOCK 1 /* for unblocking signals */ #define SIG_SETMASK 2 /* for setting the signal mask */ +#if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 +#define SIG_DFL (0) /* default signal handling */ +#define SIG_IGN (1) /* ignore signal */ +#define SIG_ERR (-1) /* error return from signal */ +#else #define SIG_DFL ((__sighandler_t)0) /* default signal handling */ #define SIG_IGN ((__sighandler_t)1) /* ignore signal */ #define SIG_ERR ((__sighandler_t)-1) /* error return from signal */ +#endif # ifndef __ASSEMBLY__ Unfortunaltely, I don't actualy know if it could help because I update kernel src to pa31 and the problem move to: IAOQ = 102f1e6c Func: $lcfu_loop, Off: 0, Addr: 0x102f1e6c 102f1e60: 08 16 32 40 or,<> r22,r0,r0 102f1e64: 08 00 02 41 copy r0,r1 102f1e68: 00 01 58 20 mtsp r1,sr1 102f1e6c <$lcfu_loop>: 102f1e6c: 0f 22 50 21 ldb,ma 1(sr1,r25),r1 102f1e70: af 1f 3f ed addib,<> -1,r24,102f1e6c <$lcfu_loop> GR0 = 00000000 GR1 = 000000dd GR2 = 1016dd94 Func: copy_mount_options, Off: 70, Addr: 0x1016dd94 1016dd90: 08 04 02 58 copy r4,r24 1016dd94: 0b 84 04 04 sub r4,ret0,r4 1016dd98: 08 03 02 5a copy r3,r26 1016dd9c: 84 80 20 70 cmpib,= 0,r4,1016dddc <copy_mount_options+0xb8> GR3 = 1ffb9000 GR4 = 00001000 GR5 = 1ffff005 GR6 = 00001000 GR7 = 107c8788 GR8 = 103ab810 Func: packet_init, Off: 3c, Addr: 0x103ab810 103ab810: 87 80 20 18 cmpib,= 0,ret0,103ab824 <packet_init+0x50> 103ab814: 22 72 12 06 ldil 10324800,r19 103ab818: 4a 74 09 48 ldw 4a4(r19),r20 103ab81c: 6b 80 00 68 stw r0,34(ret0) GR9 = 103e0010 Func: Version_132116, Off: 0, Addr: 0x103e0010 GR10 = 10418010 Func: blkdevs, Off: 4e4, Addr: 0x10418010 GR11 = 102f8000 Func: ic_bootp_cookie, Off: 440, Addr: 0x102f8000 GR12 = 10340810 Func: syscall_names, Off: 49c, Addr: 0x10340810 GR13 = 10413810 Func: log_buf, Off: 79e4, Addr: 0x10413810 GR14 = 00000000 GR15 = f0400004 GR16 = f00008c4 GR17 = f000017c GR18 = f0000174 GR19 = 107c8000 GR20 = bffd00d5 GR21 = f0047000 GR22 = 00000000 GR23 = 00000000 GR24 = 00000005 GR25 = 20000000 GR26 = 1ffb9ffb GR27 = 10330010 Func: $global$, Off: 0, Addr: 0x10330010 GR28 = fffffff4 GR29 = 80dea173 GR30 = 107c8880 GR31 = 101563e4 Func: blkdev_put, Off: 1f4, Addr: 0x101563e4 101562bc: 86 60 22 50 cmpib,= 0,r19,101563ec <blkdev_put+0x1fc> 101563e0: 08 1f 02 42 copy r31,rp 101563e4: c9 1c 9d d5 movb,tr ret0,r8,101562d4 <blkdev_put+0xe4> 101563e8: 48 b3 00 30 ldw 18(r5),r19 101563ec: 08 05 02 5a copy r5,r26 Kernel symbols on the stack: [<1016dd60>]: Func: copy_mount_options, Off: 3c, Addr: 0x1016dd60 [<1016e5e8>]: Func: sys_mount, Off: 30, Addr: 0x1016e5e8 [<101004b8>]: Func: prepare_namespace, Off: bc, Addr: 0x101004b8 [<10100240>]: Func: init, Off: 58, Addr: 0x10100240 [<10108c4c>]: Func: ret_from_kernel_thread, Off: 18, Addr: 0x10108c4c [<10108cf4>]: Func: _switch_to_ret, Off: 0, Addr: 0x10108cf4 [<1012187c>]: Func: call_console_drivers, Off: b8, Addr: 0x1012187c [<1012187c>]: Func: call_console_drivers, Off: b8, Addr: 0x1012187c [<10121d2c>]: Func: release_console_sem, Off: 50, Addr: 0x10121d2c [<10121b94>]: Func: printk, Off: 1f0, Addr: 0x10121b94 [<101001e8>]: Func: init, Off: 0, Addr: 0x101001e8 [<10126488>]: Func: it_real_fn, Off: 0, Addr: 0x10126488 Any other additional idea? Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 20:55 ` John David Anglin 2003-03-20 17:51 ` Joel Soete @ 2003-03-20 17:51 ` Joel Soete 2003-03-20 18:13 ` John David Anglin 2003-03-20 18:13 ` John David Anglin 1 sibling, 2 replies; 64+ messages in thread From: Joel Soete @ 2003-03-20 17:51 UTC (permalink / raw) To: John David Anglin, tausq Cc: b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net >> >> these are definitely kernel addresses.... > >Right. I see the code that's causing the problem in kernel/signal.c: > > if (k->sa.sa_handler == SIG_IGN > || (k->sa.sa_handler == SIG_DFL > > >You don't want to canonicalize k->sa.sa_handler here, so a cast to >void * or something is needed. The PA is the only port that I am >aware of that needs to canonicalize function pointers. > Well I try to test some: --- signal.h.orig 2003-03-20 15:12:24.000000000 +0100 +++ signal.h 2003-03-20 15:11:47.000000000 +0100 @@ -106,9 +106,15 @@ #define SIG_UNBLOCK 1 /* for unblocking signals */ #define SIG_SETMASK 2 /* for setting the signal mask */ +#if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 +#define SIG_DFL (0) /* default signal handling */ +#define SIG_IGN (1) /* ignore signal */ +#define SIG_ERR (-1) /* error return from signal */ +#else #define SIG_DFL ((__sighandler_t)0) /* default signal handling */ #define SIG_IGN ((__sighandler_t)1) /* ignore signal */ #define SIG_ERR ((__sighandler_t)-1) /* error return from signal */ +#endif # ifndef __ASSEMBLY__ Unfortunaltely, I don't actualy know if it could help because I update kernel src to pa31 and the problem move to: IAOQ = 102f1e6c Func: $lcfu_loop, Off: 0, Addr: 0x102f1e6c 102f1e60: 08 16 32 40 or,<> r22,r0,r0 102f1e64: 08 00 02 41 copy r0,r1 102f1e68: 00 01 58 20 mtsp r1,sr1 102f1e6c <$lcfu_loop>: 102f1e6c: 0f 22 50 21 ldb,ma 1(sr1,r25),r1 102f1e70: af 1f 3f ed addib,<> -1,r24,102f1e6c <$lcfu_loop> GR0 = 00000000 GR1 = 000000dd GR2 = 1016dd94 Func: copy_mount_options, Off: 70, Addr: 0x1016dd94 1016dd90: 08 04 02 58 copy r4,r24 1016dd94: 0b 84 04 04 sub r4,ret0,r4 1016dd98: 08 03 02 5a copy r3,r26 1016dd9c: 84 80 20 70 cmpib,= 0,r4,1016dddc <copy_mount_options+0xb8> GR3 = 1ffb9000 GR4 = 00001000 GR5 = 1ffff005 GR6 = 00001000 GR7 = 107c8788 GR8 = 103ab810 Func: packet_init, Off: 3c, Addr: 0x103ab810 103ab810: 87 80 20 18 cmpib,= 0,ret0,103ab824 <packet_init+0x50> 103ab814: 22 72 12 06 ldil 10324800,r19 103ab818: 4a 74 09 48 ldw 4a4(r19),r20 103ab81c: 6b 80 00 68 stw r0,34(ret0) GR9 = 103e0010 Func: Version_132116, Off: 0, Addr: 0x103e0010 GR10 = 10418010 Func: blkdevs, Off: 4e4, Addr: 0x10418010 GR11 = 102f8000 Func: ic_bootp_cookie, Off: 440, Addr: 0x102f8000 GR12 = 10340810 Func: syscall_names, Off: 49c, Addr: 0x10340810 GR13 = 10413810 Func: log_buf, Off: 79e4, Addr: 0x10413810 GR14 = 00000000 GR15 = f0400004 GR16 = f00008c4 GR17 = f000017c GR18 = f0000174 GR19 = 107c8000 GR20 = bffd00d5 GR21 = f0047000 GR22 = 00000000 GR23 = 00000000 GR24 = 00000005 GR25 = 20000000 GR26 = 1ffb9ffb GR27 = 10330010 Func: $global$, Off: 0, Addr: 0x10330010 GR28 = fffffff4 GR29 = 80dea173 GR30 = 107c8880 GR31 = 101563e4 Func: blkdev_put, Off: 1f4, Addr: 0x101563e4 101562bc: 86 60 22 50 cmpib,= 0,r19,101563ec <blkdev_put+0x1fc> 101563e0: 08 1f 02 42 copy r31,rp 101563e4: c9 1c 9d d5 movb,tr ret0,r8,101562d4 <blkdev_put+0xe4> 101563e8: 48 b3 00 30 ldw 18(r5),r19 101563ec: 08 05 02 5a copy r5,r26 Kernel symbols on the stack: [<1016dd60>]: Func: copy_mount_options, Off: 3c, Addr: 0x1016dd60 [<1016e5e8>]: Func: sys_mount, Off: 30, Addr: 0x1016e5e8 [<101004b8>]: Func: prepare_namespace, Off: bc, Addr: 0x101004b8 [<10100240>]: Func: init, Off: 58, Addr: 0x10100240 [<10108c4c>]: Func: ret_from_kernel_thread, Off: 18, Addr: 0x10108c4c [<10108cf4>]: Func: _switch_to_ret, Off: 0, Addr: 0x10108cf4 [<1012187c>]: Func: call_console_drivers, Off: b8, Addr: 0x1012187c [<1012187c>]: Func: call_console_drivers, Off: b8, Addr: 0x1012187c [<10121d2c>]: Func: release_console_sem, Off: 50, Addr: 0x10121d2c [<10121b94>]: Func: printk, Off: 1f0, Addr: 0x10121b94 [<101001e8>]: Func: init, Off: 0, Addr: 0x101001e8 [<10126488>]: Func: it_real_fn, Off: 0, Addr: 0x10126488 Any other additional idea? Thanks, Joel --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 17:51 ` Joel Soete @ 2003-03-20 18:13 ` John David Anglin 2003-03-20 18:23 ` John David Anglin 2003-03-20 18:23 ` John David Anglin 2003-03-20 18:13 ` John David Anglin 1 sibling, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-20 18:13 UTC (permalink / raw) To: Joel Soete Cc: tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > >> > >> these are definitely kernel addresses.... > > > >Right. I see the code that's causing the problem in kernel/signal.c: > > > > if (k->sa.sa_handler == SIG_IGN > > || (k->sa.sa_handler == SIG_DFL > > > > > >You don't want to canonicalize k->sa.sa_handler here, so a cast to > >void * or something is needed. The PA is the only port that I am > >aware of that needs to canonicalize function pointers. > > > Well I try to test some: > --- signal.h.orig 2003-03-20 15:12:24.000000000 +0100 > +++ signal.h 2003-03-20 15:11:47.000000000 +0100 > @@ -106,9 +106,15 @@ > #define SIG_UNBLOCK 1 /* for unblocking signals */ > #define SIG_SETMASK 2 /* for setting the signal mask */ > > +#if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 > +#define SIG_DFL (0) /* default signal handling > */ > +#define SIG_IGN (1) /* ignore signal */ > +#define SIG_ERR (-1) /* error return from signal > */ > +#else > #define SIG_DFL ((__sighandler_t)0) /* default signal handling > */ > #define SIG_IGN ((__sighandler_t)1) /* ignore signal */ > #define SIG_ERR ((__sighandler_t)-1) /* error return from signal > */ > +#endif No, don't do that. SIG_DFL, SIG_IGN and SIG_ERR expand to compound literals. Look at the assembly output from the following little program (gcc -S) with and without the "void *" cast. typedef int (*__sighandler_t)(void); #define SIG_IGN ((__sighandler_t)1) int foo (__sighandler_t g) { return g == (void *)SIG_IGN; } Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 18:13 ` John David Anglin @ 2003-03-20 18:23 ` John David Anglin 2003-03-20 18:23 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-20 18:23 UTC (permalink / raw) To: John David Anglin Cc: jsoe0708, tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > No, don't do that. SIG_DFL, SIG_IGN and SIG_ERR expand to compound > literals. Sorry, that part is wrong. Anyway, just leave the macro defines as is and cast them where used to void *. This causes the conversion of the other operand to void * and function pointer conicalization won't be done (6.5.9, paragraph 5). Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 18:13 ` John David Anglin 2003-03-20 18:23 ` John David Anglin @ 2003-03-20 18:23 ` John David Anglin 2003-03-21 12:44 ` Joel Soete 2003-03-21 12:44 ` Joel Soete 1 sibling, 2 replies; 64+ messages in thread From: John David Anglin @ 2003-03-20 18:23 UTC (permalink / raw) To: John David Anglin Cc: jsoe0708, tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > No, don't do that. SIG_DFL, SIG_IGN and SIG_ERR expand to compound > literals. Sorry, that part is wrong. Anyway, just leave the macro defines as is and cast them where used to void *. This causes the conversion of the other operand to void * and function pointer conicalization won't be done (6.5.9, paragraph 5). Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 18:23 ` John David Anglin @ 2003-03-21 12:44 ` Joel Soete 2003-03-21 12:44 ` Joel Soete 1 sibling, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-21 12:44 UTC (permalink / raw) To: John David Anglin, dave Cc: tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net [-- Attachment #1: Type: text/plain, Size: 8303 bytes --] Hi Dave, > >Sorry, that part is wrong. Anyway, just leave the macro defines as >is and cast them where used to void *. This causes the conversion >of the other operand to void * and function pointer conicalization >won't be done (6.5.9, paragraph 5). > you have definitely right. I test following work-around against 2.4.20-pa32 with latest dpkg gcc-3.3 (3.3-0pre2) and it boot well know: ===== diff -Naur linux-2.4.20-pa32/Makefile linux-2.4.20-pa32-gcc33/Makefile --- linux-2.4.20-pa32/Makefile 2003-03-21 12:17:41.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/Makefile 2003-03-21 12:19:06.000000000 +0100 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 20 -EXTRAVERSION = -pa32 +EXTRAVERSION = -pa33 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -Naur linux-2.4.20-pa32/arch/parisc/kernel/signal.c linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c --- linux-2.4.20-pa32/arch/parisc/kernel/signal.c 2003-03-21 10:54:23.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c 2003-03-21 12:39:20.000000000 +0100 @@ -489,7 +489,11 @@ ka = ¤t->sig->action[signr-1]; DBG(("sa_handler is %x\n", (unsigned int) ka->sa.sa_handler)); +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_IGN) { +#else if (ka->sa.sa_handler == SIG_IGN) { +#endif if (signr != SIGCHLD) continue; while (sys_wait4(-1, NULL, WNOHANG, NULL) > 0) @@ -497,7 +501,11 @@ continue; } +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_DFL) { +#else if (ka->sa.sa_handler == SIG_DFL) { +#endif int exit_code = signr; /* Init gets no signals it doesn't want. */ diff -Naur linux-2.4.20-pa32/drivers/char/n_tty.c linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c --- linux-2.4.20-pa32/drivers/char/n_tty.c 2003-03-21 10:51:30.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c 2003-03-21 12:34:35.000000000 +0100 @@ -810,7 +810,11 @@ int is_ignored(int sig) { return (sigismember(¤t->blocked, sig) || +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + current->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN); +#else current->sig->action[sig-1].sa.sa_handler == SIG_IGN); +#endif } static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) diff -Naur linux-2.4.20-pa32/fs/ncpfs/sock.c linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c --- linux-2.4.20-pa32/fs/ncpfs/sock.c 2003-03-21 10:36:05.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c 2003-03-21 12:35:37.000000000 +0100 @@ -466,9 +466,17 @@ What if we've blocked it ourselves? What about alarms? Why, in fact, are we mucking with the sigmask at all? -- r~ */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGINT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGINT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGQUIT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGQUIT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGQUIT); } siginitsetinv(¤t->blocked, mask); diff -Naur linux-2.4.20-pa32/fs/proc/array.c linux-2.4.20-pa32-gcc33/fs/proc/array.c --- linux-2.4.20-pa32/fs/proc/array.c 2003-03-21 10:01:18.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/proc/array.c 2003-03-21 12:36:44.000000000 +0100 @@ -231,9 +231,17 @@ if (p->sig) { k = p->sig->action; for (i = 1; i <= _NSIG; ++i, ++k) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN) +#else if (k->sa.sa_handler == SIG_IGN) +#endif sigaddset(ign, i); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + else if (k->sa.sa_handler != (void *)SIG_DFL) +#else else if (k->sa.sa_handler != SIG_DFL) +#endif sigaddset(catch, i); } } diff -Naur linux-2.4.20-pa32/include/linux/compiler.h linux-2.4.20-pa32-gcc33/include/linux/compiler.h --- linux-2.4.20-pa32/include/linux/compiler.h 2003-03-21 12:31:39.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/include/linux/compiler.h 2003-03-21 12:32:07.000000000 +0100 @@ -1,6 +1,12 @@ #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H +#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define inline __inline__ __attribute__((always_inline)) +#define __inline__ __inline__ __attribute__((always_inline)) +#define __inline __inline__ __attribute__((always_inline)) +#endif + /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented a mechanism by which the user can annotate likely branch directions and expect the blocks to be reordered appropriately. Define __builtin_expect diff -Naur linux-2.4.20-pa32/kernel/signal.c linux-2.4.20-pa32-gcc33/kernel/signal.c --- linux-2.4.20-pa32/kernel/signal.c 2003-03-21 10:39:32.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/kernel/signal.c 2003-03-21 12:37:40.000000000 +0100 @@ -126,7 +126,11 @@ int i; struct k_sigaction *ka = &t->sig->action[0]; for (i = _NSIG ; i != 0 ; i--) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler != (void *)SIG_IGN) +#else if (ka->sa.sa_handler != SIG_IGN) +#endif ka->sa.sa_handler = SIG_DFL; ka->sa.sa_flags = 0; sigemptyset(&ka->sa.sa_mask); @@ -572,7 +576,11 @@ return -ESRCH; } +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (t->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN) +#else if (t->sig->action[sig-1].sa.sa_handler == SIG_IGN) +#endif t->sig->action[sig-1].sa.sa_handler = SIG_DFL; sigdelset(&t->blocked, sig); recalc_sigpending(t); @@ -1094,8 +1102,13 @@ * the signal to be ignored. */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN + || (k->sa.sa_handler == (void *)SIG_DFL +#else if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL +#endif && (sig == SIGCONT || sig == SIGCHLD || sig == SIGURG || diff -Naur linux-2.4.20-pa32/net/sunrpc/clnt.c linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c --- linux-2.4.20-pa32/net/sunrpc/clnt.c 2003-03-21 10:46:28.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c 2003-03-21 12:38:07.000000000 +0100 @@ -209,9 +209,17 @@ /* Turn off various signals */ if (clnt->cl_intr) { struct k_sigaction *action = current->sig->action; +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGINT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGINT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGQUIT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGQUIT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGQUIT); } spin_lock_irqsave(¤t->sigmask_lock, irqflags); ===== I could not be sure about __LP64__ condition because gcc-hppa62_3.3 do not yet exist :( Can some body else could test it more? Joel PS1: I hoppe it will stay just a temporary work-around; that is typical what I hate: code depending of platform and more over compiler release :( PS2: If I well understand the pa32 patch include the Alan patch concerning ptrace vulnerability. Is there some simple mean to stress the solution on hppa platform? --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be [-- Attachment #2: linux-2.4.20-pa32_gcc33.patch --] [-- Type: application/octet-stream, Size: 7228 bytes --] diff -Naur linux-2.4.20-pa32/Makefile linux-2.4.20-pa32-gcc33/Makefile --- linux-2.4.20-pa32/Makefile 2003-03-21 12:17:41.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/Makefile 2003-03-21 12:19:06.000000000 +0100 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 20 -EXTRAVERSION = -pa32 +EXTRAVERSION = -pa33 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -Naur linux-2.4.20-pa32/arch/parisc/kernel/signal.c linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c --- linux-2.4.20-pa32/arch/parisc/kernel/signal.c 2003-03-21 10:54:23.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c 2003-03-21 12:39:20.000000000 +0100 @@ -489,7 +489,11 @@ ka = ¤t->sig->action[signr-1]; DBG(("sa_handler is %x\n", (unsigned int) ka->sa.sa_handler)); +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_IGN) { +#else if (ka->sa.sa_handler == SIG_IGN) { +#endif if (signr != SIGCHLD) continue; while (sys_wait4(-1, NULL, WNOHANG, NULL) > 0) @@ -497,7 +501,11 @@ continue; } +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_DFL) { +#else if (ka->sa.sa_handler == SIG_DFL) { +#endif int exit_code = signr; /* Init gets no signals it doesn't want. */ diff -Naur linux-2.4.20-pa32/drivers/char/n_tty.c linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c --- linux-2.4.20-pa32/drivers/char/n_tty.c 2003-03-21 10:51:30.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c 2003-03-21 12:34:35.000000000 +0100 @@ -810,7 +810,11 @@ int is_ignored(int sig) { return (sigismember(¤t->blocked, sig) || +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + current->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN); +#else current->sig->action[sig-1].sa.sa_handler == SIG_IGN); +#endif } static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) diff -Naur linux-2.4.20-pa32/fs/ncpfs/sock.c linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c --- linux-2.4.20-pa32/fs/ncpfs/sock.c 2003-03-21 10:36:05.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c 2003-03-21 12:35:37.000000000 +0100 @@ -466,9 +466,17 @@ What if we've blocked it ourselves? What about alarms? Why, in fact, are we mucking with the sigmask at all? -- r~ */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGINT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGINT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGQUIT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGQUIT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGQUIT); } siginitsetinv(¤t->blocked, mask); diff -Naur linux-2.4.20-pa32/fs/proc/array.c linux-2.4.20-pa32-gcc33/fs/proc/array.c --- linux-2.4.20-pa32/fs/proc/array.c 2003-03-21 10:01:18.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/proc/array.c 2003-03-21 12:36:44.000000000 +0100 @@ -231,9 +231,17 @@ if (p->sig) { k = p->sig->action; for (i = 1; i <= _NSIG; ++i, ++k) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN) +#else if (k->sa.sa_handler == SIG_IGN) +#endif sigaddset(ign, i); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + else if (k->sa.sa_handler != (void *)SIG_DFL) +#else else if (k->sa.sa_handler != SIG_DFL) +#endif sigaddset(catch, i); } } diff -Naur linux-2.4.20-pa32/include/linux/compiler.h linux-2.4.20-pa32-gcc33/include/linux/compiler.h --- linux-2.4.20-pa32/include/linux/compiler.h 2003-03-21 12:31:39.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/include/linux/compiler.h 2003-03-21 12:32:07.000000000 +0100 @@ -1,6 +1,12 @@ #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H +#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define inline __inline__ __attribute__((always_inline)) +#define __inline__ __inline__ __attribute__((always_inline)) +#define __inline __inline__ __attribute__((always_inline)) +#endif + /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented a mechanism by which the user can annotate likely branch directions and expect the blocks to be reordered appropriately. Define __builtin_expect diff -Naur linux-2.4.20-pa32/kernel/signal.c linux-2.4.20-pa32-gcc33/kernel/signal.c --- linux-2.4.20-pa32/kernel/signal.c 2003-03-21 10:39:32.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/kernel/signal.c 2003-03-21 12:37:40.000000000 +0100 @@ -126,7 +126,11 @@ int i; struct k_sigaction *ka = &t->sig->action[0]; for (i = _NSIG ; i != 0 ; i--) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler != (void *)SIG_IGN) +#else if (ka->sa.sa_handler != SIG_IGN) +#endif ka->sa.sa_handler = SIG_DFL; ka->sa.sa_flags = 0; sigemptyset(&ka->sa.sa_mask); @@ -572,7 +576,11 @@ return -ESRCH; } +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (t->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN) +#else if (t->sig->action[sig-1].sa.sa_handler == SIG_IGN) +#endif t->sig->action[sig-1].sa.sa_handler = SIG_DFL; sigdelset(&t->blocked, sig); recalc_sigpending(t); @@ -1094,8 +1102,13 @@ * the signal to be ignored. */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN + || (k->sa.sa_handler == (void *)SIG_DFL +#else if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL +#endif && (sig == SIGCONT || sig == SIGCHLD || sig == SIGURG || diff -Naur linux-2.4.20-pa32/net/sunrpc/clnt.c linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c --- linux-2.4.20-pa32/net/sunrpc/clnt.c 2003-03-21 10:46:28.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c 2003-03-21 12:38:07.000000000 +0100 @@ -209,9 +209,17 @@ /* Turn off various signals */ if (clnt->cl_intr) { struct k_sigaction *action = current->sig->action; +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGINT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGINT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGQUIT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGQUIT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGQUIT); } spin_lock_irqsave(¤t->sigmask_lock, irqflags); ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 18:23 ` John David Anglin 2003-03-21 12:44 ` Joel Soete @ 2003-03-21 12:44 ` Joel Soete 2003-03-21 13:36 ` Matthew Wilcox 1 sibling, 1 reply; 64+ messages in thread From: Joel Soete @ 2003-03-21 12:44 UTC (permalink / raw) To: John David Anglin, dave Cc: tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net [-- Attachment #1: Type: text/plain, Size: 8303 bytes --] Hi Dave, > >Sorry, that part is wrong. Anyway, just leave the macro defines as >is and cast them where used to void *. This causes the conversion >of the other operand to void * and function pointer conicalization >won't be done (6.5.9, paragraph 5). > you have definitely right. I test following work-around against 2.4.20-pa32 with latest dpkg gcc-3.3 (3.3-0pre2) and it boot well know: ===== diff -Naur linux-2.4.20-pa32/Makefile linux-2.4.20-pa32-gcc33/Makefile --- linux-2.4.20-pa32/Makefile 2003-03-21 12:17:41.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/Makefile 2003-03-21 12:19:06.000000000 +0100 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 20 -EXTRAVERSION = -pa32 +EXTRAVERSION = -pa33 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -Naur linux-2.4.20-pa32/arch/parisc/kernel/signal.c linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c --- linux-2.4.20-pa32/arch/parisc/kernel/signal.c 2003-03-21 10:54:23.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c 2003-03-21 12:39:20.000000000 +0100 @@ -489,7 +489,11 @@ ka = ¤t->sig->action[signr-1]; DBG(("sa_handler is %x\n", (unsigned int) ka->sa.sa_handler)); +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_IGN) { +#else if (ka->sa.sa_handler == SIG_IGN) { +#endif if (signr != SIGCHLD) continue; while (sys_wait4(-1, NULL, WNOHANG, NULL) > 0) @@ -497,7 +501,11 @@ continue; } +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_DFL) { +#else if (ka->sa.sa_handler == SIG_DFL) { +#endif int exit_code = signr; /* Init gets no signals it doesn't want. */ diff -Naur linux-2.4.20-pa32/drivers/char/n_tty.c linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c --- linux-2.4.20-pa32/drivers/char/n_tty.c 2003-03-21 10:51:30.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c 2003-03-21 12:34:35.000000000 +0100 @@ -810,7 +810,11 @@ int is_ignored(int sig) { return (sigismember(¤t->blocked, sig) || +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + current->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN); +#else current->sig->action[sig-1].sa.sa_handler == SIG_IGN); +#endif } static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) diff -Naur linux-2.4.20-pa32/fs/ncpfs/sock.c linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c --- linux-2.4.20-pa32/fs/ncpfs/sock.c 2003-03-21 10:36:05.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c 2003-03-21 12:35:37.000000000 +0100 @@ -466,9 +466,17 @@ What if we've blocked it ourselves? What about alarms? Why, in fact, are we mucking with the sigmask at all? -- r~ */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGINT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGINT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGQUIT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGQUIT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGQUIT); } siginitsetinv(¤t->blocked, mask); diff -Naur linux-2.4.20-pa32/fs/proc/array.c linux-2.4.20-pa32-gcc33/fs/proc/array.c --- linux-2.4.20-pa32/fs/proc/array.c 2003-03-21 10:01:18.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/proc/array.c 2003-03-21 12:36:44.000000000 +0100 @@ -231,9 +231,17 @@ if (p->sig) { k = p->sig->action; for (i = 1; i <= _NSIG; ++i, ++k) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN) +#else if (k->sa.sa_handler == SIG_IGN) +#endif sigaddset(ign, i); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + else if (k->sa.sa_handler != (void *)SIG_DFL) +#else else if (k->sa.sa_handler != SIG_DFL) +#endif sigaddset(catch, i); } } diff -Naur linux-2.4.20-pa32/include/linux/compiler.h linux-2.4.20-pa32-gcc33/include/linux/compiler.h --- linux-2.4.20-pa32/include/linux/compiler.h 2003-03-21 12:31:39.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/include/linux/compiler.h 2003-03-21 12:32:07.000000000 +0100 @@ -1,6 +1,12 @@ #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H +#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define inline __inline__ __attribute__((always_inline)) +#define __inline__ __inline__ __attribute__((always_inline)) +#define __inline __inline__ __attribute__((always_inline)) +#endif + /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented a mechanism by which the user can annotate likely branch directions and expect the blocks to be reordered appropriately. Define __builtin_expect diff -Naur linux-2.4.20-pa32/kernel/signal.c linux-2.4.20-pa32-gcc33/kernel/signal.c --- linux-2.4.20-pa32/kernel/signal.c 2003-03-21 10:39:32.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/kernel/signal.c 2003-03-21 12:37:40.000000000 +0100 @@ -126,7 +126,11 @@ int i; struct k_sigaction *ka = &t->sig->action[0]; for (i = _NSIG ; i != 0 ; i--) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler != (void *)SIG_IGN) +#else if (ka->sa.sa_handler != SIG_IGN) +#endif ka->sa.sa_handler = SIG_DFL; ka->sa.sa_flags = 0; sigemptyset(&ka->sa.sa_mask); @@ -572,7 +576,11 @@ return -ESRCH; } +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (t->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN) +#else if (t->sig->action[sig-1].sa.sa_handler == SIG_IGN) +#endif t->sig->action[sig-1].sa.sa_handler = SIG_DFL; sigdelset(&t->blocked, sig); recalc_sigpending(t); @@ -1094,8 +1102,13 @@ * the signal to be ignored. */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN + || (k->sa.sa_handler == (void *)SIG_DFL +#else if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL +#endif && (sig == SIGCONT || sig == SIGCHLD || sig == SIGURG || diff -Naur linux-2.4.20-pa32/net/sunrpc/clnt.c linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c --- linux-2.4.20-pa32/net/sunrpc/clnt.c 2003-03-21 10:46:28.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c 2003-03-21 12:38:07.000000000 +0100 @@ -209,9 +209,17 @@ /* Turn off various signals */ if (clnt->cl_intr) { struct k_sigaction *action = current->sig->action; +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGINT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGINT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGQUIT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGQUIT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGQUIT); } spin_lock_irqsave(¤t->sigmask_lock, irqflags); ===== I could not be sure about __LP64__ condition because gcc-hppa62_3.3 do not yet exist :( Can some body else could test it more? Joel PS1: I hoppe it will stay just a temporary work-around; that is typical what I hate: code depending of platform and more over compiler release :( PS2: If I well understand the pa32 patch include the Alan patch concerning ptrace vulnerability. Is there some simple mean to stress the solution on hppa platform? --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be [-- Attachment #2: linux-2.4.20-pa32_gcc33.patch --] [-- Type: application/octet-stream, Size: 7228 bytes --] diff -Naur linux-2.4.20-pa32/Makefile linux-2.4.20-pa32-gcc33/Makefile --- linux-2.4.20-pa32/Makefile 2003-03-21 12:17:41.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/Makefile 2003-03-21 12:19:06.000000000 +0100 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 20 -EXTRAVERSION = -pa32 +EXTRAVERSION = -pa33 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -Naur linux-2.4.20-pa32/arch/parisc/kernel/signal.c linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c --- linux-2.4.20-pa32/arch/parisc/kernel/signal.c 2003-03-21 10:54:23.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/arch/parisc/kernel/signal.c 2003-03-21 12:39:20.000000000 +0100 @@ -489,7 +489,11 @@ ka = ¤t->sig->action[signr-1]; DBG(("sa_handler is %x\n", (unsigned int) ka->sa.sa_handler)); +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_IGN) { +#else if (ka->sa.sa_handler == SIG_IGN) { +#endif if (signr != SIGCHLD) continue; while (sys_wait4(-1, NULL, WNOHANG, NULL) > 0) @@ -497,7 +501,11 @@ continue; } +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler == (void *)SIG_DFL) { +#else if (ka->sa.sa_handler == SIG_DFL) { +#endif int exit_code = signr; /* Init gets no signals it doesn't want. */ diff -Naur linux-2.4.20-pa32/drivers/char/n_tty.c linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c --- linux-2.4.20-pa32/drivers/char/n_tty.c 2003-03-21 10:51:30.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/drivers/char/n_tty.c 2003-03-21 12:34:35.000000000 +0100 @@ -810,7 +810,11 @@ int is_ignored(int sig) { return (sigismember(¤t->blocked, sig) || +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + current->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN); +#else current->sig->action[sig-1].sa.sa_handler == SIG_IGN); +#endif } static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) diff -Naur linux-2.4.20-pa32/fs/ncpfs/sock.c linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c --- linux-2.4.20-pa32/fs/ncpfs/sock.c 2003-03-21 10:36:05.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/ncpfs/sock.c 2003-03-21 12:35:37.000000000 +0100 @@ -466,9 +466,17 @@ What if we've blocked it ourselves? What about alarms? Why, in fact, are we mucking with the sigmask at all? -- r~ */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGINT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGINT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (current->sig->action[SIGQUIT - 1].sa.sa_handler == (void *)SIG_DFL) +#else if (current->sig->action[SIGQUIT - 1].sa.sa_handler == SIG_DFL) +#endif mask |= sigmask(SIGQUIT); } siginitsetinv(¤t->blocked, mask); diff -Naur linux-2.4.20-pa32/fs/proc/array.c linux-2.4.20-pa32-gcc33/fs/proc/array.c --- linux-2.4.20-pa32/fs/proc/array.c 2003-03-21 10:01:18.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/fs/proc/array.c 2003-03-21 12:36:44.000000000 +0100 @@ -231,9 +231,17 @@ if (p->sig) { k = p->sig->action; for (i = 1; i <= _NSIG; ++i, ++k) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN) +#else if (k->sa.sa_handler == SIG_IGN) +#endif sigaddset(ign, i); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + else if (k->sa.sa_handler != (void *)SIG_DFL) +#else else if (k->sa.sa_handler != SIG_DFL) +#endif sigaddset(catch, i); } } diff -Naur linux-2.4.20-pa32/include/linux/compiler.h linux-2.4.20-pa32-gcc33/include/linux/compiler.h --- linux-2.4.20-pa32/include/linux/compiler.h 2003-03-21 12:31:39.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/include/linux/compiler.h 2003-03-21 12:32:07.000000000 +0100 @@ -1,6 +1,12 @@ #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H +#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define inline __inline__ __attribute__((always_inline)) +#define __inline__ __inline__ __attribute__((always_inline)) +#define __inline __inline__ __attribute__((always_inline)) +#endif + /* Somewhere in the middle of the GCC 2.96 development cycle, we implemented a mechanism by which the user can annotate likely branch directions and expect the blocks to be reordered appropriately. Define __builtin_expect diff -Naur linux-2.4.20-pa32/kernel/signal.c linux-2.4.20-pa32-gcc33/kernel/signal.c --- linux-2.4.20-pa32/kernel/signal.c 2003-03-21 10:39:32.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/kernel/signal.c 2003-03-21 12:37:40.000000000 +0100 @@ -126,7 +126,11 @@ int i; struct k_sigaction *ka = &t->sig->action[0]; for (i = _NSIG ; i != 0 ; i--) { +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (ka->sa.sa_handler != (void *)SIG_IGN) +#else if (ka->sa.sa_handler != SIG_IGN) +#endif ka->sa.sa_handler = SIG_DFL; ka->sa.sa_flags = 0; sigemptyset(&ka->sa.sa_mask); @@ -572,7 +576,11 @@ return -ESRCH; } +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (t->sig->action[sig-1].sa.sa_handler == (void *)SIG_IGN) +#else if (t->sig->action[sig-1].sa.sa_handler == SIG_IGN) +#endif t->sig->action[sig-1].sa.sa_handler = SIG_DFL; sigdelset(&t->blocked, sig); recalc_sigpending(t); @@ -1094,8 +1102,13 @@ * the signal to be ignored. */ +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (k->sa.sa_handler == (void *)SIG_IGN + || (k->sa.sa_handler == (void *)SIG_DFL +#else if (k->sa.sa_handler == SIG_IGN || (k->sa.sa_handler == SIG_DFL +#endif && (sig == SIGCONT || sig == SIGCHLD || sig == SIGURG || diff -Naur linux-2.4.20-pa32/net/sunrpc/clnt.c linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c --- linux-2.4.20-pa32/net/sunrpc/clnt.c 2003-03-21 10:46:28.000000000 +0100 +++ linux-2.4.20-pa32-gcc33/net/sunrpc/clnt.c 2003-03-21 12:38:07.000000000 +0100 @@ -209,9 +209,17 @@ /* Turn off various signals */ if (clnt->cl_intr) { struct k_sigaction *action = current->sig->action; +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGINT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGINT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGINT); +#if defined (__hppa__) && !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + if (action[SIGQUIT-1].sa.sa_handler == (void *)SIG_DFL) +#else if (action[SIGQUIT-1].sa.sa_handler == SIG_DFL) +#endif sigallow |= sigmask(SIGQUIT); } spin_lock_irqsave(¤t->sigmask_lock, irqflags); ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-21 12:44 ` Joel Soete @ 2003-03-21 13:36 ` Matthew Wilcox 2003-03-21 15:07 ` Joel Soete 0 siblings, 1 reply; 64+ messages in thread From: Matthew Wilcox @ 2003-03-21 13:36 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Fri, Mar 21, 2003 at 01:44:28PM +0100, Joel Soete wrote: > I test following work-around against 2.4.20-pa32 with latest dpkg gcc-3.3 > (3.3-0pre2) and it boot well know: > @@ -489,7 +489,11 @@ > +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ > >= 1)) > + if (ka->sa.sa_handler == (void *)SIG_IGN) { > +#else > if (ka->sa.sa_handler == SIG_IGN) { > +#endif ugh, this is foolish. You should be doing: - if (ka->sa.sa_handler == SIG_IGN) { + if (ka->sa.sa_handler == (void *)SIG_IGN) { no ifdefs! -- "It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-21 13:36 ` Matthew Wilcox @ 2003-03-21 15:07 ` Joel Soete 0 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-21 15:07 UTC (permalink / raw) To: Matthew Wilcox; +Cc: parisc-linux >> I test following work-around against 2.4.20-pa32 with latest dpkg gcc-3.3 >> (3.3-0pre2) and it boot well know: >> @@ -489,7 +489,11 @@ >> +#if !defined (__LP64__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >> >= 1)) >> + if (ka->sa.sa_handler == (void *)SIG_IGN) { >> +#else >> if (ka->sa.sa_handler == SIG_IGN) { >> +#endif > >ugh, this is foolish. You should be doing: > >- if (ka->sa.sa_handler == SIG_IGN) { >+ if (ka->sa.sa_handler == (void *)SIG_IGN) { > >no ifdefs! > Willy, I trust you (not me because I not tested with gcc-3.2 neither LP64) Thanks for your attention, Joel PS: Next time I will try to pay attention to cc list :) --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-20 17:51 ` Joel Soete 2003-03-20 18:13 ` John David Anglin @ 2003-03-20 18:13 ` John David Anglin 1 sibling, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-20 18:13 UTC (permalink / raw) To: Joel Soete Cc: tausq, b.gunreben, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > >> > >> these are definitely kernel addresses.... > > > >Right. I see the code that's causing the problem in kernel/signal.c: > > > > if (k->sa.sa_handler == SIG_IGN > > || (k->sa.sa_handler == SIG_DFL > > > > > >You don't want to canonicalize k->sa.sa_handler here, so a cast to > >void * or something is needed. The PA is the only port that I am > >aware of that needs to canonicalize function pointers. > > > Well I try to test some: > --- signal.h.orig 2003-03-20 15:12:24.000000000 +0100 > +++ signal.h 2003-03-20 15:11:47.000000000 +0100 > @@ -106,9 +106,15 @@ > #define SIG_UNBLOCK 1 /* for unblocking signals */ > #define SIG_SETMASK 2 /* for setting the signal mask */ > > +#if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 > +#define SIG_DFL (0) /* default signal handling > */ > +#define SIG_IGN (1) /* ignore signal */ > +#define SIG_ERR (-1) /* error return from signal > */ > +#else > #define SIG_DFL ((__sighandler_t)0) /* default signal handling > */ > #define SIG_IGN ((__sighandler_t)1) /* ignore signal */ > #define SIG_ERR ((__sighandler_t)-1) /* error return from signal > */ > +#endif No, don't do that. SIG_DFL, SIG_IGN and SIG_ERR expand to compound literals. Look at the assembly output from the following little program (gcc -S) with and without the "void *" cast. typedef int (*__sighandler_t)(void); #define SIG_IGN ((__sighandler_t)1) int foo (__sighandler_t g) { return g == (void *)SIG_IGN; } Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 19:16 ` John David Anglin 2003-03-18 20:21 ` Randolph Chung @ 2003-03-18 20:21 ` Randolph Chung 1 sibling, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-18 20:21 UTC (permalink / raw) To: John David Anglin Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > I believe that we were talking about a problem in in glibc's use > of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel. Quoting an earlier mail: > IAOQ = 10351b7c > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > GR0 = 00000000 > > GR1 = 103eee50 > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > GR2 = 101342f8 > Func: do_sigaction, Off: a8, Addr: 0x101342f8 these are definitely kernel addresses.... randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:53 ` John David Anglin 2003-03-18 19:02 ` Randolph Chung @ 2003-03-18 19:02 ` Randolph Chung 2003-03-18 21:59 ` John David Anglin 2003-03-18 21:59 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: Randolph Chung @ 2003-03-18 19:02 UTC (permalink / raw) To: John David Anglin Cc: b.gunreben, jsoe0708, willy, doko, debian-hppa, debian-gcc, parisc-linux, kuznet, linux-net > __canonicalize_funcptr_for_compare depends critically on the > the initial setup of function descriptors by the dynamic loader > and the trampoline in the dynamic loader used to resolve the > address of functions. This could easily break if someone > unknowing messes with the pa specific parts of the dynamic > loader or the setup of function descriptors. um, Dave, we are talking about kernel here right? so no dynamic loader is involved. or did i misnuderstand you? randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:53 ` John David Anglin 2003-03-18 19:02 ` Randolph Chung 2003-03-18 19:02 ` Randolph Chung @ 2003-03-18 21:59 ` John David Anglin 2003-03-18 21:59 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 21:59 UTC (permalink / raw) To: John David Anglin; +Cc: carlos, parisc, debian-hppa > I'm building glibc-2.3.1-15 and should know soon if something > has changed. The enclosed patch to pt-initfini.c for gcc 3.3 is missing from -15. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) --- pt-initfini.c.orig 2002-08-26 21:52:36.000000000 -0700 +++ pt-initfini.c 2003-03-18 12:11:20.000000000 -0800 @@ -41,70 +41,70 @@ and epilogues. Therefore we write these in assembly to make sure they do the right thing. */ -__asm__ (" - -#include \"defs.h\" - -/*@HEADER_ENDS*/ - -/*@_init_PROLOG_BEGINS*/ - .section .init - .align 4 - .globl _init - .type _init,@function -_init: - stw %rp,-20(%sp) - stwm %r4,64(%sp) - stw %r19,-32(%sp) - bl __pthread_initialize_minimal,%rp - copy %r19,%r4 /* delay slot */ - copy %r4,%r19 -/*@_init_PROLOG_ENDS*/ - -/*@_init_EPILOG_BEGINS*/ -/* Here is the tail end of _init. */ - .section .init - ldw -84(%sp),%rp - copy %r4,%r19 - bv %r0(%rp) -_end_init: - ldwm -64(%sp),%r4 - -/* Our very own unwind info, because the assembler can't handle - functions split into two or more pieces. */ - .section .PARISC.unwind,\"a\",@progbits - .extern _init - .word _init, _end_init - .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 - -/*@_init_EPILOG_ENDS*/ - -/*@_fini_PROLOG_BEGINS*/ - .section .fini - .align 4 - .globl _fini - .type _fini,@function -_fini: - stw %rp,-20(%sp) - stwm %r4,64(%sp) - stw %r19,-32(%sp) - copy %r19,%r4 -/*@_fini_PROLOG_ENDS*/ - -/*@_fini_EPILOG_BEGINS*/ - .section .fini - ldw -84(%sp),%rp - copy %r4,%r19 - bv %r0(%rp) -_end_fini: - ldwm -64(%sp),%r4 - - .section .PARISC.unwind,\"a\",@progbits - .extern _fini - .word _fini, _end_fini - .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 - -/*@_fini_EPILOG_ENDS*/ - -/*@TRAILER_BEGINS*/ +__asm__ (" \n\ + \n\ +#include \"defs.h\" \n\ + \n\ +/*@HEADER_ENDS*/ \n\ + \n\ +/*@_init_PROLOG_BEGINS*/ \n\ + .section .init \n\ + .align 4 \n\ + .globl _init \n\ + .type _init,@function \n\ +_init: \n\ + stw %rp,-20(%sp) \n\ + stwm %r4,64(%sp) \n\ + stw %r19,-32(%sp) \n\ + bl __pthread_initialize_minimal,%rp \n\ + copy %r19,%r4 /* delay slot */ \n\ + copy %r4,%r19 \n\ +/*@_init_PROLOG_ENDS*/ \n\ + \n\ +/*@_init_EPILOG_BEGINS*/ \n\ +/* Here is the tail end of _init. */ \n\ + .section .init \n\ + ldw -84(%sp),%rp \n\ + copy %r4,%r19 \n\ + bv %r0(%rp) \n\ +_end_init: \n\ + ldwm -64(%sp),%r4 \n\ + \n\ +/* Our very own unwind info, because the assembler can't handle \n\ + functions split into two or more pieces. */ \n\ + .section .PARISC.unwind,\"a\",@progbits \n\ + .extern _init \n\ + .word _init, _end_init \n\ + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 \n\ + \n\ +/*@_init_EPILOG_ENDS*/ \n\ + \n\ +/*@_fini_PROLOG_BEGINS*/ \n\ + .section .fini \n\ + .align 4 \n\ + .globl _fini \n\ + .type _fini,@function \n\ +_fini: \n\ + stw %rp,-20(%sp) \n\ + stwm %r4,64(%sp) \n\ + stw %r19,-32(%sp) \n\ + copy %r19,%r4 \n\ +/*@_fini_PROLOG_ENDS*/ \n\ + \n\ +/*@_fini_EPILOG_BEGINS*/ \n\ + .section .fini \n\ + ldw -84(%sp),%rp \n\ + copy %r4,%r19 \n\ + bv %r0(%rp) \n\ +_end_fini: \n\ + ldwm -64(%sp),%r4 \n\ + \n\ + .section .PARISC.unwind,\"a\",@progbits \n\ + .extern _fini \n\ + .word _fini, _end_fini \n\ + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 \n\ + \n\ +/*@_fini_EPILOG_ENDS*/ \n\ + \n\ +/*@TRAILER_BEGINS*/ \n\ "); ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-18 18:53 ` John David Anglin ` (2 preceding siblings ...) 2003-03-18 21:59 ` John David Anglin @ 2003-03-18 21:59 ` John David Anglin 3 siblings, 0 replies; 64+ messages in thread From: John David Anglin @ 2003-03-18 21:59 UTC (permalink / raw) To: John David Anglin; +Cc: carlos, parisc, debian-hppa > I'm building glibc-2.3.1-15 and should know soon if something > has changed. The enclosed patch to pt-initfini.c for gcc 3.3 is missing from -15. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) --- pt-initfini.c.orig 2002-08-26 21:52:36.000000000 -0700 +++ pt-initfini.c 2003-03-18 12:11:20.000000000 -0800 @@ -41,70 +41,70 @@ and epilogues. Therefore we write these in assembly to make sure they do the right thing. */ -__asm__ (" - -#include \"defs.h\" - -/*@HEADER_ENDS*/ - -/*@_init_PROLOG_BEGINS*/ - .section .init - .align 4 - .globl _init - .type _init,@function -_init: - stw %rp,-20(%sp) - stwm %r4,64(%sp) - stw %r19,-32(%sp) - bl __pthread_initialize_minimal,%rp - copy %r19,%r4 /* delay slot */ - copy %r4,%r19 -/*@_init_PROLOG_ENDS*/ - -/*@_init_EPILOG_BEGINS*/ -/* Here is the tail end of _init. */ - .section .init - ldw -84(%sp),%rp - copy %r4,%r19 - bv %r0(%rp) -_end_init: - ldwm -64(%sp),%r4 - -/* Our very own unwind info, because the assembler can't handle - functions split into two or more pieces. */ - .section .PARISC.unwind,\"a\",@progbits - .extern _init - .word _init, _end_init - .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 - -/*@_init_EPILOG_ENDS*/ - -/*@_fini_PROLOG_BEGINS*/ - .section .fini - .align 4 - .globl _fini - .type _fini,@function -_fini: - stw %rp,-20(%sp) - stwm %r4,64(%sp) - stw %r19,-32(%sp) - copy %r19,%r4 -/*@_fini_PROLOG_ENDS*/ - -/*@_fini_EPILOG_BEGINS*/ - .section .fini - ldw -84(%sp),%rp - copy %r4,%r19 - bv %r0(%rp) -_end_fini: - ldwm -64(%sp),%r4 - - .section .PARISC.unwind,\"a\",@progbits - .extern _fini - .word _fini, _end_fini - .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 - -/*@_fini_EPILOG_ENDS*/ - -/*@TRAILER_BEGINS*/ +__asm__ (" \n\ + \n\ +#include \"defs.h\" \n\ + \n\ +/*@HEADER_ENDS*/ \n\ + \n\ +/*@_init_PROLOG_BEGINS*/ \n\ + .section .init \n\ + .align 4 \n\ + .globl _init \n\ + .type _init,@function \n\ +_init: \n\ + stw %rp,-20(%sp) \n\ + stwm %r4,64(%sp) \n\ + stw %r19,-32(%sp) \n\ + bl __pthread_initialize_minimal,%rp \n\ + copy %r19,%r4 /* delay slot */ \n\ + copy %r4,%r19 \n\ +/*@_init_PROLOG_ENDS*/ \n\ + \n\ +/*@_init_EPILOG_BEGINS*/ \n\ +/* Here is the tail end of _init. */ \n\ + .section .init \n\ + ldw -84(%sp),%rp \n\ + copy %r4,%r19 \n\ + bv %r0(%rp) \n\ +_end_init: \n\ + ldwm -64(%sp),%r4 \n\ + \n\ +/* Our very own unwind info, because the assembler can't handle \n\ + functions split into two or more pieces. */ \n\ + .section .PARISC.unwind,\"a\",@progbits \n\ + .extern _init \n\ + .word _init, _end_init \n\ + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 \n\ + \n\ +/*@_init_EPILOG_ENDS*/ \n\ + \n\ +/*@_fini_PROLOG_BEGINS*/ \n\ + .section .fini \n\ + .align 4 \n\ + .globl _fini \n\ + .type _fini,@function \n\ +_fini: \n\ + stw %rp,-20(%sp) \n\ + stwm %r4,64(%sp) \n\ + stw %r19,-32(%sp) \n\ + copy %r19,%r4 \n\ +/*@_fini_PROLOG_ENDS*/ \n\ + \n\ +/*@_fini_EPILOG_BEGINS*/ \n\ + .section .fini \n\ + ldw -84(%sp),%rp \n\ + copy %r4,%r19 \n\ + bv %r0(%rp) \n\ +_end_fini: \n\ + ldwm -64(%sp),%r4 \n\ + \n\ + .section .PARISC.unwind,\"a\",@progbits \n\ + .extern _fini \n\ + .word _fini, _end_fini \n\ + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 \n\ + \n\ +/*@_fini_EPILOG_ENDS*/ \n\ + \n\ +/*@TRAILER_BEGINS*/ \n\ "); ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 16:31 ` Joel Soete 2003-03-18 18:14 ` b.gunreben @ 2003-03-18 18:14 ` b.gunreben 1 sibling, 0 replies; 64+ messages in thread From: b.gunreben @ 2003-03-18 18:14 UTC (permalink / raw) To: Joel Soete Cc: Matthew Wilcox, Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net Joel Soete wrote: > >gcc 3.3 decides to not believe you want this function inlined. probably > >the right fix for this is to make this function static inline (you can > >drop the `__' around inline, it's not necessary). This is also the case > >for linux 2.5. > > > Right Willy that allow to compile :) > > Unfortunately it failled to boot :_( with following dump: > Freeing unused kernel memory: 246k freed > ...... > Submitted to dump_analyser.sh, I obtain: > > IAOQ = 10351b7c > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c > 10351b70: 2a 6b 50 00 addil 56800,r19,%r1 > 10351b74: 48 21 0c a8 ldw 654(r1),r1 > 10351b78: d4 60 1c 1e depwi 0,31,2,r3 > 10351b7c: 0c 60 10 94 ldw 0(sr0,r3),r20 > > GR0 = 00000000 > > GR1 = 103eee50 > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50 > > GR2 = 101342f8 > Func: do_sigaction, Off: a8, Addr: 0x101342f8 I have the same problem with a gcc 3.3 compiled kernel. The kernel itself completely comes up, and I even can call a static shell (something like init=/bin/sash), but as soon as glibc is involved, the mentioned crash occurs. Just to make it clear: I am able to use the builtin functions of that shell (like ls) and this works. This is independend from the kernel version (2.4 and 2.5 behave all the same). The function __canonicalize_funcptr_for_compare seems to be newly introduced in libgcc with gcc 3.3, and seems to be the cause of this error. Berthold ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 13:17 ` Matthew Wilcox 2003-03-14 16:31 ` Joel Soete 2003-03-14 16:31 ` Joel Soete @ 2003-03-16 22:52 ` Michael S.Zick 2003-03-16 23:06 ` Matthew Wilcox 2 siblings, 1 reply; 64+ messages in thread From: Michael S.Zick @ 2003-03-16 22:52 UTC (permalink / raw) To: Matthew Wilcox, Joel Soete; +Cc: parisc-linux On Friday 14 March 2003 07:17 am, Matthew Wilcox wrote: > On Fri, Mar 14, 2003 at 01:48:59PM +0100, Joel Soete wrote: > > net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': > > : undefined reference to `rtnetlink_rcv_skb' > > > > make: *** [vmlinux] Error 1 > > > > (with gcc-3.2 with same src && same .config there was no pb) > > You've just hit the gcc thinks it's smarter than you are bug. > > net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff > *skb) > > gcc 3.3 decides to not believe you want this function inlined. probably > the right fix for this is to make this function static inline (you can > drop the `__' around inline, it's not necessary). This is also the case > for linux 2.5. Stolen from the GCC thread on 3.x.x inlining... - - - - GCC - - - - - For the record, the kernel doesn't need this any more. Go check 2.5; new versions of <linux/compiler.h> contain this line: #define inline __inline__ __attribute__((always_inline)) - - - - - - - - - - - - That forces GCC to ignore its changed inline metrics and simply inline the function. Mike ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-16 22:52 ` Michael S.Zick @ 2003-03-16 23:06 ` Matthew Wilcox 2003-03-16 23:17 ` Michael S.Zick 0 siblings, 1 reply; 64+ messages in thread From: Matthew Wilcox @ 2003-03-16 23:06 UTC (permalink / raw) To: Michael S. Zick; +Cc: Matthew Wilcox, Joel Soete, parisc-linux On Sun, Mar 16, 2003 at 04:52:19PM -0600, Michael S. Zick wrote: > On Friday 14 March 2003 07:17 am, Matthew Wilcox wrote: > > net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff > > *skb) > Stolen from the GCC thread on 3.x.x inlining... > - - - - GCC - - - - - > For the record, the kernel doesn't need this any more. Go check 2.5; > new versions of <linux/compiler.h> contain this line: > #define inline __inline__ __attribute__((always_inline)) > - - - - - - - - - - - - > That forces GCC to ignore its changed inline metrics and simply inline > the function. Yes, but... * Joel's using 2.4, not 2.5 * #define inline doesn't help functions which are marked as __inline__ This isn't a function which absolutely needs to be inlined. It can be `static inline' and gcc can do whatever it likes then. -- "It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-16 23:06 ` Matthew Wilcox @ 2003-03-16 23:17 ` Michael S.Zick 2003-03-20 18:20 ` Joel Soete 0 siblings, 1 reply; 64+ messages in thread From: Michael S.Zick @ 2003-03-16 23:17 UTC (permalink / raw) To: Matthew Wilcox; +Cc: Joel Soete, parisc-linux On Sunday 16 March 2003 05:06 pm, Matthew Wilcox wrote: > On Sun, Mar 16, 2003 at 04:52:19PM -0600, Michael S. Zick wrote: > > On Friday 14 March 2003 07:17 am, Matthew Wilcox wrote: > > > net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct > > > sk_buff *skb) > > > > Stolen from the GCC thread on 3.x.x inlining... > > - - - - GCC - - - - - > > For the record, the kernel doesn't need this any more. Go check 2.5; > > new versions of <linux/compiler.h> contain this line: > > #define inline __inline__ __attribute__((always_inline)) > > - - - - - - - - - - - - > > That forces GCC to ignore its changed inline metrics and simply inline > > the function. > > Yes, but... > > * Joel's using 2.4, not 2.5 Exactly why I mentioned it. > * #define inline doesn't help functions which are marked as __inline__ If he follows your suggestion of dropping the "__" around "inline" it will. > > This isn't a function which absolutely needs to be inlined. It can > be `static inline' and gcc can do whatever it likes then. The subject is getting a lot of discussion on the GCC list. I only mentioned this one workaround so that Joel could get on with his work before the issue is settled on the GCC list. Mike ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-16 23:17 ` Michael S.Zick @ 2003-03-20 18:20 ` Joel Soete 0 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-20 18:20 UTC (permalink / raw) To: mszick, Matthew Wilcox; +Cc: parisc-linux Hi Mike, >On Sunday 16 March 2003 05:06 pm, Matthew Wilcox wrote: >> On Sun, Mar 16, 2003 at 04:52:19PM -0600, Michael S. Zick wrote: >> > On Friday 14 March 2003 07:17 am, Matthew Wilcox wrote: >> > > net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct >> > > sk_buff *skb) >> > >> > Stolen from the GCC thread on 3.x.x inlining... >> > - - - - GCC - - - - - >> > For the record, the kernel doesn't need this any more. Go check 2.5; >> > new versions of <linux/compiler.h> contain this line: >> > #define inline __inline__ __attribute__((always_inline)) >> > - - - - - - - - - - - - >> > That forces GCC to ignore its changed inline metrics and simply inline >> > the function. >> >> Yes, but... >> >> * Joel's using 2.4, not 2.5 >Exactly why I mentioned it. > >> * #define inline doesn't help functions which are marked as __inline__ >If he follows your suggestion of dropping the "__" around "inline" it will. > >> >> This isn't a function which absolutely needs to be inlined. It can >> be `static inline' and gcc can do whatever it likes then. >The subject is getting a lot of discussion on the GCC list. I only mentioned >this one workaround so that Joel could get on with his work before the issue >is settled on the GCC list. > Good idea: I (just sorry for delay) back port this stuff for 2.5 and it works fine. Thanks a lot, Joel --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-14 12:48 ` Joel Soete 2003-03-14 13:17 ` Matthew Wilcox @ 2003-03-14 13:17 ` Matthew Wilcox 1 sibling, 0 replies; 64+ messages in thread From: Matthew Wilcox @ 2003-03-14 13:17 UTC (permalink / raw) To: Joel Soete Cc: Randolph Chung, Matthias Klose, debian-hppa, debian-gcc, parisc-linux, Alexey Kuznetsov, linux-net On Fri, Mar 14, 2003 at 01:48:59PM +0100, Joel Soete wrote: > net/network.o(.text.rtnetlink_rcv+0x84): In function `rtnetlink_rcv': > : undefined reference to `rtnetlink_rcv_skb' > make: *** [vmlinux] Error 1 > > (with gcc-3.2 with same src && same .config there was no pb) You've just hit the gcc thinks it's smarter than you are bug. net/core/rtnetlink.c:extern __inline__ int rtnetlink_rcv_skb(struct sk_buff *skb) gcc 3.3 decides to not believe you want this function inlined. probably the right fix for this is to make this function static inline (you can drop the `__' around inline, it's not necessary). This is also the case for linux 2.5. -- "It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:53 ` Joel Soete 2003-03-14 12:48 ` Joel Soete 2003-03-14 12:48 ` Joel Soete @ 2003-03-20 18:06 ` Joel Soete 2003-03-20 18:06 ` Joel Soete 3 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-20 18:06 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux Hi Randolph, >> >>> I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 >to >>> conitnue my investigation about smp(64bits) [which failled to boot on >a >>N4000 >>> when compile d with gcc-3.2 get from unofficial-debs]. >> >>If you are working on 64-bit, I would advise staying with 3.0.4 for >>now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just >>be introducing more unknowns into the problem. >> >Ok I am gonna try to rebuild it with gcc-3.0. > Well just a small follow up to say that I had not much success with gcc-3.0 (64bits). Also I did some other test: this same kernel (smp64) boots well on a b2k (pa8600 up), it boots also well on the N4000 when I 'disable' the second cpu? (It seems to fail before 'Add swap...' but not sure because I notice that all boot blabla is not output to the console [ie compare to dmesg nothing is print out before 'sym53c8xx: at PCI...']?) I will so try to ack dump_analyser to see how may I got analyse of the piminfo which I grab from the two processor. See you, Joel --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:53 ` Joel Soete ` (2 preceding siblings ...) 2003-03-20 18:06 ` Joel Soete @ 2003-03-20 18:06 ` Joel Soete 3 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-20 18:06 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux Hi Randolph, >> >>> I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 >to >>> conitnue my investigation about smp(64bits) [which failled to boot on >a >>N4000 >>> when compile d with gcc-3.2 get from unofficial-debs]. >> >>If you are working on 64-bit, I would advise staying with 3.0.4 for >>now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just >>be introducing more unknowns into the problem. >> >Ok I am gonna try to rebuild it with gcc-3.0. > Well just a small follow up to say that I had not much success with gcc-3.0 (64bits). Also I did some other test: this same kernel (smp64) boots well on a b2k (pa8600 up), it boots also well on the N4000 when I 'disable' the second cpu? (It seems to fail before 'Add swap...' but not sure because I notice that all boot blabla is not output to the console [ie compare to dmesg nothing is print out before 'sym53c8xx: at PCI...']?) I will so try to ack dump_analyser to see how may I got analyse of the piminfo which I grab from the two processor. See you, Joel --------------------------------- Vous surfez avec une ligne classique ? Economisez jusqu'à 25% avec Tiscali Complete ! Offre spéciale : première année d'abonnement offerte. ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-12 17:35 ` Randolph Chung 2003-03-12 17:53 ` Joel Soete @ 2003-03-12 17:53 ` Joel Soete 1 sibling, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-12 17:53 UTC (permalink / raw) To: Randolph Chung; +Cc: Matthias Klose, debian-hppa, debian-gcc, parisc-linux >-- Original Message -- >Date: Wed, 12 Mar 2003 09:35:05 -0800 >From: Randolph Chung <tausq@debian.org> >To: Joel Soete <jsoe0708@tiscali.be> >Cc: Matthias Klose <doko@cs.tu-berlin.de>, > debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Subject: Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Reply-To: Randolph Chung <tausq@debian.org> > > >> I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to >> conitnue my investigation about smp(64bits) [which failled to boot on a >N4000 >> when compile d with gcc-3.2 get from unofficial-debs]. > >If you are working on 64-bit, I would advise staying with 3.0.4 for >now.... no one has tested 3.3 hppa64-linux-gcc at all, so it will just >be introducing more unknowns into the problem. > Ok I am gonna try to rebuild it with gcc-3.0. Thanks for advise, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
* RE: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa 2003-03-02 4:59 ` Randolph Chung ` (6 preceding siblings ...) 2003-03-12 17:33 ` Joel Soete @ 2003-03-12 17:33 ` Joel Soete 7 siblings, 0 replies; 64+ messages in thread From: Joel Soete @ 2003-03-12 17:33 UTC (permalink / raw) To: Randolph Chung, Matthias Klose; +Cc: debian-hppa, debian-gcc, parisc-linux Hi Randolph, >-- Original Message -- >From: Randolph Chung <tausq@debian.org> >To: Matthias Klose <doko@cs.tu-berlin.de> >Cc: debian-hppa@lists.debian.org, debian-gcc@lists.debian.org, > parisc-linux@lists.parisc-linux.org >Reply-To: Randolph Chung <tausq@debian.org> >Subject: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa >Date: Sat, 1 Mar 2003 20:59:36 -0800 > > >In reference to a message from Matthias Klose, dated Mar 01: >> Matthias Klose writes: >> > AFAIK the transition from 3.2 to 3.3 requires recompilation of C++ >> > code due to the changed exception handling (now DWARF2 based). As >> > libstdc++ in 3.2 and 3.2 have the same soname, how to handle it? >> > Currently 3.2 is in unstable only. Would you want to start the >> > recompilation before 3.2 based binaries go to testing? >> > >> > The packaging for 3.3 can be found in the Debian CVS. >> >> You can get test packages from >> http://ftp-master.debian.org/~doko/gcc-3.3/ > >well.... this is not looking good. after installing these in a freshly >built sarge chroot, all c++ programs stop working (well, i've only tried >two -- apt and fakeroot) > >(btw, small packaging detail, but the libstdc++*-dev package above >cannot be installed cleanly because it overwrites things in the current >3.2 package) > Sorry in advance if I am annoying. I am looking to rebuild gcc-3.3 64bits to rebuild the last kernel 2.4 to conitnue my investigation about smp(64bits) [which failled to boot on a N4000 when compile d with gcc-3.2 get from unofficial-debs]. To do I download the very last src from Matthias Klose who advise me to my question: >> Do you have some idea how to rebuild it from dpkg sources? >> (I would like avoid the toolchain procedure if possible) >look at debian/rules.defs for the support to build a cross compiler. >It was submitted some weeks ago. I didn't check this myself yet. I have a look but it is not clear to me; can you help me in more details? (ps: I already install the last Matthias gcc-3.3 dpkg 32bits; according to your <http://lists.parisc-linux.org/pipermail/parisc-linux/2003-February/019170.html> it is a prerequisite) Thanks in advance, Joel --------------------------------- Vous surfez avec une ligne classique ? Faites des economies avec Tiscali Complete ... Plus d'info sur http://complete.tiscali.be ^ permalink raw reply [flat|nested] 64+ messages in thread
end of thread, other threads:[~2003-03-21 15:07 UTC | newest]
Thread overview: 64+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <15968.40812.741982.606734@gargle.gargle.HOWL>
[not found] ` <15969.1828.456001.122737@gargle.gargle.HOWL>
2003-03-02 4:59 ` [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa Randolph Chung
2003-03-02 4:59 ` Randolph Chung
2003-03-02 5:40 ` John David Anglin
2003-03-02 5:40 ` John David Anglin
2003-03-02 9:24 ` M. Grabert
2003-03-02 9:24 ` M. Grabert
2003-03-02 17:01 ` Randolph Chung
2003-03-02 17:01 ` Randolph Chung
2003-03-02 18:50 ` John David Anglin
2003-03-02 18:50 ` John David Anglin
2003-03-03 14:27 ` Joel Soete
2003-03-03 16:17 ` John David Anglin
2003-03-03 16:24 ` Randolph Chung
2003-03-03 17:22 ` Joel Soete
2003-03-03 16:17 ` John David Anglin
2003-03-03 14:27 ` Joel Soete
2003-03-09 20:06 ` Matthias Klose
2003-03-09 20:27 ` John David Anglin
2003-03-09 20:45 ` Randolph Chung
2003-03-09 20:45 ` Randolph Chung
2003-03-09 20:27 ` John David Anglin
2003-03-09 20:06 ` Matthias Klose
2003-03-12 17:33 ` Joel Soete
2003-03-12 17:35 ` Randolph Chung
2003-03-12 17:35 ` Randolph Chung
2003-03-12 17:53 ` Joel Soete
2003-03-14 12:48 ` Joel Soete
2003-03-14 12:48 ` Joel Soete
2003-03-14 13:17 ` Matthew Wilcox
2003-03-14 16:31 ` Joel Soete
2003-03-14 16:31 ` Joel Soete
2003-03-18 18:14 ` b.gunreben
2003-03-18 18:53 ` John David Anglin
2003-03-18 18:53 ` John David Anglin
2003-03-18 19:02 ` Randolph Chung
2003-03-18 19:16 ` John David Anglin
2003-03-18 19:16 ` John David Anglin
2003-03-18 20:21 ` Randolph Chung
2003-03-18 20:55 ` John David Anglin
2003-03-18 20:55 ` John David Anglin
2003-03-20 17:51 ` Joel Soete
2003-03-20 17:51 ` Joel Soete
2003-03-20 18:13 ` John David Anglin
2003-03-20 18:23 ` John David Anglin
2003-03-20 18:23 ` John David Anglin
2003-03-21 12:44 ` Joel Soete
2003-03-21 12:44 ` Joel Soete
2003-03-21 13:36 ` Matthew Wilcox
2003-03-21 15:07 ` Joel Soete
2003-03-20 18:13 ` John David Anglin
2003-03-18 20:21 ` Randolph Chung
2003-03-18 19:02 ` Randolph Chung
2003-03-18 21:59 ` John David Anglin
2003-03-18 21:59 ` John David Anglin
2003-03-18 18:14 ` b.gunreben
2003-03-16 22:52 ` Michael S.Zick
2003-03-16 23:06 ` Matthew Wilcox
2003-03-16 23:17 ` Michael S.Zick
2003-03-20 18:20 ` Joel Soete
2003-03-14 13:17 ` Matthew Wilcox
2003-03-20 18:06 ` Joel Soete
2003-03-20 18:06 ` Joel Soete
2003-03-12 17:53 ` Joel Soete
2003-03-12 17:33 ` Joel Soete
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.