This trace does not make sense to me.mipsel compiler calling conventions so maybe not). Could the compiler somehow be setting a read-only flag that prevents modifying a local parameter?
The code lines highlighted are:
} else if (r >= R_AXIS.min) {
/* We store internally as if plotting r(theta) - rmin */
r = r - R_AXIS.min;
R_AXIS is a static global structure that has been accessed repeated in the immediately preceding code, so I don't see any way it could cause a segfault here. r is a parameter to this routine so I would expect it to be on the stack (but I don't know
Dear mips porters,
I am maintaining the gnuplot in the Debian and there is a segfault on the mipsel, what I reported to upstream [1].
There is a question from the gnuplot author, which I am not able to response. Could you please have a look?
It segfaults somewhere in the static global structure. And the problem appeared
recently, maybe due to the GCC-9 migration. There were not problems with GCC-8.
Some regressions?
On 2019-09-03 21:59, Anton Gladky wrote:
Dear mips porters,
I am maintaining the gnuplot in the Debian and there is a segfault on the mipsel, what I reported to upstream [1].
There is a question from the gnuplot author, which I am not able to response.
Could you please have a look?
It segfaults somewhere in the static global structure. And the problem appeared
recently, maybe due to the GCC-9 migration. There were not problems with GCC-8.
Some regressions?
I confirm it's a regression due introduced by GCC 9. I have reported the
bug upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91769
Until this bug is fixed, you can use the following workaround:
--- gnuplot-5.2.6+dfsg1.orig/src/axis.c
+++ gnuplot-5.2.6+dfsg1/src/axis.c
@@ -2698,6 +2698,9 @@ map_y(double value)
* If update is TRUE then check and update rrange autoscaling
*/
coord_type
+#ifdef __mips
+__attribute__((optimize("-O1")))
+#endif
polar_to_xy( double theta, double r, double *x, double *y, TBOOLEAN update)
{
coord_type status = INRANGE;
--
Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net
--
Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net
Hi Anton,
On 2019-09-15 13:01, Anton Gladky wrote:
Hello Aurelien,
thanks for the note. It really helped!
Please note that the problem has now been fixed in the Debian gcc-9
package, and this fixed version is installed on the buildds. Therefore
you should be able to drop the workaround in next upload.
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net
Hello Aurelien,
thanks for the note. It really helped!
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 428 |
Nodes: | 16 (2 / 14) |
Uptime: | 108:30:09 |
Calls: | 9,053 |
Files: | 13,395 |
Messages: | 6,015,811 |