Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
1) Project link flags are applied at the end of the command line...this makes -Wl optimization flags not work. 2) DBG = 0 and GCC 4 creates a load of new warnings that weren't there before. For example, I can't build ntoskrnl anymore. This is because it's detecting "uninitialized variables" which are actually being initalized by the macros themselves (see mm/pe.c and elf.inc.h). This did not happen before rbuild. 3) Strip isn't being executed for dbg = 0 anymore... I can add it but I have no idea how to make it dbg = 0 only.
Not sure: 4) Is the OPTIMIZED envirovar still taken into account? I didn't seem to see so.
Best regards, Alex Ionescu
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: 28. maj 2005 20:26 To: ReactOS Development List Subject: [ros-dev] RBuild woes...
Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
- Project link flags are applied at the end of the command line...this
makes -Wl optimization flags not work.
Will fix.
- DBG = 0 and GCC 4 creates a load of new warnings that weren't there
before. For example, I can't build ntoskrnl anymore. This is because it's detecting "uninitialized variables" which are actually being initalized by the macros themselves (see mm/pe.c and elf.inc.h). This did not happen before rbuild.
I have no idea what is different. Is the gcc command line different?
- Strip isn't being executed for dbg = 0 anymore... I can add it but I
have no idea how to make it dbg = 0 only.
Will fix.
Not sure: 4) Is the OPTIMIZED envirovar still taken into account? I didn't seem to see so.
I see no need for the OPTIMIZED configuration. To me it is only another source of build errors.
Casper
Casper Hornstrup wrote:
Not sure: 4) Is the OPTIMIZED envirovar still taken into account? I didn't seem to see so.
I see no need for the OPTIMIZED configuration. To me it is only another source of build errors.
Casper
I'm sure Thomas will come screaming when he sees this :)
I don't use it myself, but because of gcc's stupidity, it does not detect uninitialized variables unless you optimize. What this means is that we're all merrily working on DBG = 1, and when it's release time, optimizations are turned on and everything breaks because uninitialized variables are detected. Plus, it's actually a good thing to find them, because it makes finding bugs easier. So OPTIMIZED was created to allow -Os to be used even if it's a debug build, so that such errors can be detected.
So it's actually a source of eliminiating build errors. But, personally, I don't use it, and only Thomas begged me for it...
Best regards, Alex Ionescu
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: 28. maj 2005 22:25 To: ReactOS Development List Subject: Re: [ros-dev] RBuild woes...
Casper Hornstrup wrote:
I'm sure Thomas will come screaming when he sees this :)
I don't use it myself, but because of gcc's stupidity, it does not detect uninitialized variables unless you optimize. What this means is that we're all merrily working on DBG = 1, and when it's release time, optimizations are turned on and everything breaks because uninitialized variables are detected. Plus, it's actually a good thing to find them, because it makes finding bugs easier. So OPTIMIZED was created to allow -Os to be used even if it's a debug build, so that such errors can be detected.
So it's actually a source of eliminiating build errors. But, personally, I don't use it, and only Thomas begged me for it...
Best regards, Alex Ionescu
So always build with optimization.
Casper
Casper Hornstrup wrote:
So always build with optimization.
That's what I usually do, i always build with optimizations, even for DBG:=1. The reasons were already mentioned, so unless optimizations are enabled by default (those with slower machines might oppose that) there should be at least an option to enforce optimizations.
Best Regards, Thomas
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Thomas Weidenmueller Sent: 28. maj 2005 22:43 To: ReactOS Development List Subject: Re: [ros-dev] RBuild woes...
Casper Hornstrup wrote:
So always build with optimization.
That's what I usually do, i always build with optimizations, even for DBG:=1. The reasons were already mentioned, so unless optimizations are enabled by default (those with slower machines might oppose that) there should be at least an option to enforce optimizations.
Best Regards, Thomas
So people with slow machines are allowed to break building? ;-)
Casper
Casper Hornstrup wrote:
- DBG = 0 and GCC 4 creates a load of new warnings that weren't there
before. For example, I can't build ntoskrnl anymore. This is because it's detecting "uninitialized variables" which are actually being initalized by the macros themselves (see mm/pe.c and elf.inc.h). This did not happen before rbuild.
I have no idea what is different. Is the gcc command line different?
I'll revert and check. I think it's related to include files or something. I'll check the cmd line.
Best regards, Alex Ionescu
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: 28. maj 2005 20:26 To: ReactOS Development List Subject: [ros-dev] RBuild woes...
Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
- Project link flags are applied at the end of the command line...this
makes -Wl optimization flags not work.
That is bad because -lgcc need to be last otherwise you get linker errors.
Casper
Casper Hornstrup wrote:
Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
- Project link flags are applied at the end of the command line...this
makes -Wl optimization flags not work.
That is bad because -lgcc need to be last otherwise you get linker errors.
Casper
Hi,
I don't understand what you mean :(. I am saying that Project link flags should not be applied at the end.... or are you saying lgcc is a project link flag, and if you make link flags at the beginning then lgcc won't be first anymore?
In that case then a "Secondary" project link flag setting must be made...or something... I don't know :/
Thanks for helping btw.
Best regards, Alex Ionescu
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: 28. maj 2005 20:26 To: ReactOS Development List Subject: [ros-dev] RBuild woes...
Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
- Strip isn't being executed for dbg = 0 anymore... I can add it but I
have no idea how to make it dbg = 0 only.
The image is stripped AFAICS.
Casper
Alex Ionescu wrote:
Hi,
Here is my beef with rbuild. I can't fix most of these as I don't have the skills/knowledge of rbuild.
- Project link flags are applied at the end of the command
line...this makes -Wl optimization flags not work.
Not fixed yet.
- DBG = 0 and GCC 4 creates a load of new warnings that weren't there
before. For example, I can't build ntoskrnl anymore. This is because it's detecting "uninitialized variables" which are actually being initalized by the macros themselves (see mm/pe.c and elf.inc.h). This did not happen before rbuild.
FIXED.
- Strip isn't being executed for dbg = 0 anymore... I can add it but
I have no idea how to make it dbg = 0 only.
Not fixed. The ntoskrnl binary is 1.3MB instead of ~500KB. Due to #1 and also because strip -x isn't being executed.
Not sure: 4) Is the OPTIMIZED envirovar still taken into account? I didn't seem to see so.
Fixed (well, looks like we won't be supporting it, I don't mind)
Best regards, Alex Ionescu
Best regards, Alex Ionescu