Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #81967
| From | Steve Keller <keller.steve@gmx.de> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: Global const objects missing from object file |
| Date | 2021-10-10 20:42 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <sjvc6e$tpn$1@gioia.aioe.org> (permalink) |
| References | (1 earlier) <sjrhdp$bta$1@dont-email.me> <sju2pd$1ko$1@gioia.aioe.org> <isfms2F80esU1@mid.individual.net> <sjurco$1nlj$1@gioia.aioe.org> <sjutb4$dud$1@dont-email.me> |
Paavo Helde <myfirstname@osa.pri.ee> writes: > For having only one string the duplicates need to be removed at link > time, so one needs -flto here. Also you should avoid to explicitly > define two different arrays as indeed these would need to be different > objects. -flto doesn't help with the source that I have shown. > With the following changes I get one string only in the final executable: > > $ cat foo.hh > const char* const s = "This is a string"; > void bar(); > > $ g++ -Os -o foo x.cc y.cc -flto > > $ strings foo | grep 'This is' > This is a string Yes, but then you add a const pointer variable in each TU and an indirection with every access to the const object (it also probably adds a number of entries to the relocation table of the executable binary slowing startup). And I wouldn't like the superfluous indirection when the object is at a fixed known address. Defining only one object of type const char[] with external linkage is preferable IMHO. Having read in this thread that 'const' probably originated in C++ and the designers felt that default external linkage was wrong in the beginning, I begin to understand the reasoning behind the C++ const behavior. Whether I can make myself to like it, ... I don't know. Steve
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Global const objects missing from object file Steve Keller <keller.steve@gmx.de> - 2021-10-08 22:47 +0200
Re: Global const objects missing from object file red floyd <no.spam.here@its.invalid> - 2021-10-08 15:09 -0700
Re: Global const objects missing from object file Steve Keller <keller.steve@gmx.de> - 2021-10-10 08:28 +0200
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-10 12:03 +0300
Re: Global const objects missing from object file David Brown <david.brown@hesbynett.no> - 2021-10-10 12:29 +0200
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-09 10:47 +0300
Re: Global const objects missing from object file scott@slp53.sl.home (Scott Lurndal) - 2021-10-09 14:32 +0000
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-09 21:39 +0300
Re: Global const objects missing from object file Steve Keller <keller.steve@gmx.de> - 2021-10-10 08:55 +0200
Re: Global const objects missing from object file Bo Persson <bo@bo-persson.se> - 2021-10-10 10:34 +0200
Re: Global const objects missing from object file Steve Keller <keller.steve@gmx.de> - 2021-10-10 15:55 +0200
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-10 17:28 +0300
Re: Global const objects missing from object file Steve Keller <keller.steve@gmx.de> - 2021-10-10 20:42 +0200
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-10 22:44 +0300
Re: Global const objects missing from object file Paavo Helde <myfirstname@osa.pri.ee> - 2021-10-10 12:14 +0300
Re: Global const objects missing from object file Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-10-29 06:29 -0700
Re: Global const objects missing from object file Bo Persson <bo@bo-persson.se> - 2021-10-29 15:55 +0200
Re: Global const objects missing from object file Öö Tiib <ootiib@hot.ee> - 2021-10-29 22:20 -0700
Re: Global const objects missing from object file Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-11-07 04:51 -0800
Re: Global const objects missing from object file scott@slp53.sl.home (Scott Lurndal) - 2021-10-29 14:44 +0000
Re: Global const objects missing from object file Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-11-07 05:08 -0800
Re: Global const objects missing from object file scott@slp53.sl.home (Scott Lurndal) - 2021-11-07 14:21 +0000
Re: Global const objects missing from object file David Brown <david.brown@hesbynett.no> - 2021-10-10 12:33 +0200
Re: Global const objects missing from object file "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2021-10-09 15:05 +0200
Re: Global const objects missing from object file Juha Nieminen <nospam@thanks.invalid> - 2021-10-09 17:40 +0000
csiph-web