Kirjoittaja Aihe: gcc ihmettelyä [ratkaistu]  (Luettu 3306 kertaa)

pere

  • Käyttäjä
  • Viestejä: 79
    • Profiili
gcc ihmettelyä [ratkaistu]
« : 29.10.16 - klo:08.02 »
Päivitin ubuntun versioon 16.10.
Sen jälkeen on gcc tuottanut vain tiedostoja ELF 64-bit LSB shared object, x86-64
kun pitäisi olla ELF 64-bit LSB executable, x86-64

gcc --version
gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005

Käännettävä lähdekoodi ja makefile on sama kuin aikaisemminkin.

Niin ja minulla on myös fedora 25 (vielä testi versio) siinä kuitenkin sama ohjelma kääntyy oikein.

fedoran  gcc --version
gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2)

Mitähän tässä nyt täytyisi tehdä, ehkä joku lisä vipu?

« Viimeksi muokattu: 06.11.16 - klo:17.08 kirjoittanut pere »

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: gcc ihmettelyä
« Vastaus #1 : 29.10.16 - klo:11.02 »
Päivitin ubuntun versioon 16.10.
Sen jälkeen on gcc tuottanut vain tiedostoja ELF 64-bit LSB shared object, x86-64
kun pitäisi olla ELF 64-bit LSB executable, x86-64

16.10:ssä GCC:ssä on oletuksena päällä -fPIE (position-independent executable): https://wiki.ubuntu.com/SecurityTeam/PIE

Ominaisuuden voi kytkeä pois päältä gcc:n vivulla -no-pie

Miksi shared object -binääri ei kelpaa?

pere

  • Käyttäjä
  • Viestejä: 79
    • Profiili
Vs: gcc ihmettelyä
« Vastaus #2 : 29.10.16 - klo:12.11 »
Päivitin ubuntun versioon 16.10.
Sen jälkeen on gcc tuottanut vain tiedostoja ELF 64-bit LSB shared object, x86-64
kun pitäisi olla ELF 64-bit LSB executable, x86-64

16.10:ssä GCC:ssä on oletuksena päällä -fPIE (position-independent executable): https://wiki.ubuntu.com/SecurityTeam/PIE

Ominaisuuden voi kytkeä pois päältä gcc:n vivulla -no-pie

Miksi shared object -binääri ei kelpaa?

Ai, toimiihan se luulin vain että se on jotenkin väärin kun ennen aina oli tuo executable.
ja tiedoston hallinnassa sen kuvake ei ole enää "suoritettava ohjelma"

ja toinen asia, en tiedä liittyykö tähän mutta on ilmennyt toinenkin omituisuus.
Jos joku oma tekemä gtk+ ohjelma on jo käynnissäa niin jonkun toisen oman
ohjelman käynnistys avaa vain jo käynnissä olevan ohjelman toisen kopion
eikä sitä minkä käynnistin.
No tätä omituisuutta en ole vielä tarkemmin tutkinut.



nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: gcc ihmettelyä
« Vastaus #3 : 29.10.16 - klo:12.22 »
Ai, toimiihan se luulin vain että se on jotenkin väärin kun ennen aina oli tuo executable.
ja tiedoston hallinnassa sen kuvake ei ole enää "suoritettava ohjelma"

Pitäisi raportoida tuo bugi, jos joku ei ole sitä jo tehnyt.

ja toinen asia, en tiedä liittyykö tähän mutta on ilmennyt toinenkin omituisuus.
Jos joku oma tekemä gtk+ ohjelma on jo käynnissäa niin jonkun toisen oman
ohjelman käynnistys avaa vain jo käynnissä olevan ohjelman toisen kopion
eikä sitä minkä käynnistin.

Päätteen kautta käynnistäessä varmaankin lähtee oikea ohjelma käyntiin?

pere

  • Käyttäjä
  • Viestejä: 79
    • Profiili
Vs: gcc ihmettelyä
« Vastaus #4 : 06.11.16 - klo:17.07 »
Ai, toimiihan se luulin vain että se on jotenkin väärin kun ennen aina oli tuo executable.
ja tiedoston hallinnassa sen kuvake ei ole enää "suoritettava ohjelma"

Pitäisi raportoida tuo bugi, jos joku ei ole sitä jo tehnyt.

ja toinen asia, en tiedä liittyykö tähän mutta on ilmennyt toinenkin omituisuus.
Jos joku oma tekemä gtk+ ohjelma on jo käynnissäa niin jonkun toisen oman
ohjelman käynnistys avaa vain jo käynnissä olevan ohjelman toisen kopion
eikä sitä minkä käynnistin.

Päätteen kautta käynnistäessä varmaankin lähtee oikea ohjelma käyntiin?

Tämä asia selvisi siten että olin jättänyt vahingossa kahteen ohjelmaan saman application_id:n
vaikka ohjelmatiedoston nimi oli eri.
Ja sillä -no-pie vipusella ohjelma on taas executable.