Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
От | Chris Ruprecht |
---|---|
Тема | Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1 |
Дата | |
Msg-id | C7E0A88A-13B6-496F-88C3-8893C77A0B55@cdrbill.com обсуждение исходный текст |
Ответ на | Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1 (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
unfortunately, I have to admit to my disgrace, that I'm still no C programmer after all these decades of dabbling in writingcode. I just used the flags because someone at some point told me that it was a good idea, turns out, it's not [always].I shall rebuild 9.5.1 without the -fno-common flag and see if that fixes things. Thanks Tom for spending part of your weekend on this. Chris. > On Mar 12, 2016, at 17:58, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I wrote: >> That's confusing because it implies that -fno-common is the default, >> which it evidently is not. But anyway, my diagnosis is that you're >> breaking something about the linker's behavior with that switch. > > Oh! Looking closer, the core dump happens here: > > const printTextFormat pg_utf8format; > > printTextFormat *popt = (printTextFormat *) &pg_utf8format; > > --> popt->name = "unicode"; > > So apparently, the relevant property of "-fno-common" is that it > causes "const" variables to actually get placed in read-only data. > > I think this code is new in 9.5, which'd explain why you didn't see > the failure with older PG versions. It's surely busted though. > > I shall get rid of the const-ness, as well as the lame casting away > of it, and I think I will also go make buildfarm member longfin use > "-fno-common". It is truly sad that we apparently have no test > machine that enforces that const means const ... > > regards, tom lane
В списке pgsql-hackers по дате отправления: