Re: [dev] OpenOffice bug site is down for many days now?
--- vy.ho [EMAIL PROTECTED] wrote: (I am sorry if you get this twice) I tried to create a new bug in the OpenOffice website. However, I cannot get to it. I can log into the site. I can also see previous bug report. However, clicking on an item like My Issues: http://qa.openoffice.org/issues/buglist.cgi?cmdtype=runuserdefault it won't work. I think the qa.openoffice.org server is down. Do you use Firefox or Mozilla on Solaris? For some websites, for reasons that are not obvious, Firefox on Solaris will time out for me on some web pages (including OO.org, occasionally), when Firefox on Windows 98 will not. However, I cannot say where the bug lies, because I also have an inexpensive Ethernet hub, an OpenBSD firewall, and a DSL router in between that might have issues, too. Even worse, the problem occasionally disappears. Even if this doesn't apply to you, it may help to try another computer just to see. Matt ... __ Do you Yahoo!? Yahoo! Personals - Better first dates. More second dates. http://personals.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev] Re:[dev] Question regarding unused code removal
Your approach appears more throrough than what I've been attempting. My hypothesis so far is that a fair amount of information can be obtained straight from the binaries in the program/ directory without analyzing the source code. One thing I've learned is that the the ELF symbol tables and relocation tables do provide a lot of information, including revealing some of the symbols that are used internally within the binaries. However, there is a lot of room for source-based analysis like your tool or the commercial C++ lint tools. Matt --- Caolan McNamara [EMAIL PROTECTED] wrote: FWIW here's the approach I took to find unused code, scrape the compiler output to get what functions were defined and which were called, detect virtual methods and ignore those http://www.skynet.ie/~caolan/Packages/callcatcher.html C. __ Do you Yahoo!? Yahoo! Mail - You care about security. So do we. http://promotions.yahoo.com/new_mail - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev] Re:[dev] Question regarding unused code removal
Thanks for the information, it is quite helpful. It seems my approach so far is a start, but more definitely needs to be done to filter out the internally-used symbols. A good result would be a shell script that automates all the details below and returns a few thousand symbols as canidates for removal. If it works, then the script could be occasionally run against the code base as a way to check code growth. Matt --- Jens-Heiner Rechtien [EMAIL PROTECTED] wrote: Hi Matt, your approach is flawed in the way that a symbol which is defined *and* used in one shared library is not flagged UNDEF in this library, but still be exported from the library if it's possibly used elsewhere. Thus you get a lot of exported symbols without equivalent UNDEF for shared library internal stuff. This is an unfortunate consequence of the C++ standard which has no concept of shared library internal classes/methods/functions. We do something about this: Please look for all the *_DLLPUBLIC and *_DLLPRIVATE macros in our headers. These macros use non standard compiler extensions to mark symbols as public or hidden. Hidden symbols will not be exported from a shared library. This has at least three benefits: a better API definition (think of encapsulation), smaller binaries and last not least better startup performance because relocations are cheaper if direct binding can be used. There is a great paper about the working of shared libraries by Ulrich Drepper: http://people.redhat.com/drepper/dsohowto.pdf We probably got quite a bit of dead code in OOo but it is not easily found. I think the best approach would be to do some extensive coverage studies, identify possibly dead code, use a cross referencer to find all references whrere a symbol is used and determine if this is also dead code. The call to remove the dead code must then be made by the responsible developer, only he/she can tell if that symbol may not possibly be referenced by some code outside OOo (ie a third party component). HTH, Heiner __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev] Re:[dev] Question regarding unused code removal
Thanks for the replies. Actually, the number is more like 75,000. I think I read the wrong number yesterday to get the 85,000. I did include all the WEAK references from elfdump, and it looks like eliminating them might take out another 7,000 symbols. Also, I'll feed in the .bin files, which will knock out some more. I'm using Solaris 10 and Studio 10, so I guess the GCC symbols won't apply. Sidenote: compiling on Solaris10/Studio10 was pretty tricky, especially since I was trying to use --enable-debug at first (notes about this are under issue 42285 at the oo.org website). One thing is that some symbols appear to be part of the normal class interfaces (e.g., constructors) that are unused but probably shouldn't be removed, so the only thing I can think would work reliably is to go through each canidate symbol and determine via find/grep where it occurs and whether it is important. Over the next few days, I'll see if the number of symbols can be shrunk further. Matt --- marius.david [EMAIL PROTECTED] wrote: Hi, 85, 000 symbols seems to be a lot. But, maybe ...I noticed that lot of code need to be cleaned up (I am talking about 1.1.2, I've no idea about 2.0). It would be a good idea to remove unused code some day because, without talking about performances, it can be really misleading for the newcomer (I remember having spend a lot of time finding if some portions of code were or were not used, ending up with the debugger...). Laurent Accédez au courrier électronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,34/mn) ; tél : 08 92 68 13 50 (0,34/mn) __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[dev] Question regarding unused code removal
At http://tools.openoffice.org/performance/index.html, there is a mention about unused code removal as a way of improving OO.org. Out of curiosity, I managed to generate a list of about 85,000 symbols from the program/ directory that have definitions but no corresponding UNDEF entries in the shared libraries (this is excluding external code like icu). (I just realized that I need to include .bin files, too, so the 85,000 can probably be reduced somewhat) The main problem with this, however, is that this is really a big number of symbols to go through. Are there any guidelines or suggestions for how to find a starting point? If this is workable and I find something probably worth removing, is it best to simply nominate that function for removal or is it better to submit a patch that strips it out? Matt __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev] Compiler Bug? (Sun Studio 10, Solaris Express 11/04, OO.org tag NSRC680_m71s1)
Thanks for your reply. It looks like the best way for me to contact Sun is through their on-line developer.sun.com support forums, because I do not have a contract with them. I'll post there and see where it goes. Matt --- Jens-Heiner Rechtien [EMAIL PROTECTED] wrote: Hi Matt, this certainly looks like a bug in Sun Studio 10. Heiner Matt Prazak wrote: In icu/unxsols4.pro/misc/build/icu/source/i18n/ucol_bld.cpp, there is a while loop in ucol_doCE() that, for me, will never exit, even when the condition is false! When I re-write the loop, the problem goes away. This problem occurs while running dmake, when a program called genrb invokes ucol_doCE(). Original code, never exits: while(2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2]) { ... } New code, works as expected: while( 1 ) { if( !( 2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2] ) ) break; ... } When I tried re-writing the while loop as a for loop, the problem persisted--I had to explicity break the loop as in the code above. Logically, both should be identical, so does this look like it might be a bug in Sun Studio 10? Platform details: # uname -a SunOS whizzer 5.10 s10_72 sun4u sparc SUNW,Ultra-30 Solaris # cc -V cc: Sun C 5.7 2005/01/07 Sincerely, Matt Prazak __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jens-Heiner Rechtien [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[dev] Compiler Bug? (Sun Studio 10, Solaris Express 11/04, OO.org tag NSRC680_m71s1)
In icu/unxsols4.pro/misc/build/icu/source/i18n/ucol_bld.cpp, there is a while loop in ucol_doCE() that, for me, will never exit, even when the condition is false! When I re-write the loop, the problem goes away. This problem occurs while running dmake, when a program called genrb invokes ucol_doCE(). Original code, never exits: while(2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2]) { ... } New code, works as expected: while( 1 ) { if( !( 2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2] ) ) break; ... } When I tried re-writing the while loop as a for loop, the problem persisted--I had to explicity break the loop as in the code above. Logically, both should be identical, so does this look like it might be a bug in Sun Studio 10? Platform details: # uname -a SunOS whizzer 5.10 s10_72 sun4u sparc SUNW,Ultra-30 Solaris # cc -V cc: Sun C 5.7 2005/01/07 Sincerely, Matt Prazak __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]