Opened 20 years ago

Closed 20 years ago

Last modified 20 years ago

#2800 closed defect (fixed)

RFC: odcctools 20050308

Reported by: danchr@… Owned by: danchr (Dan Villiom Podlaski Christiansen)
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc: ssen@…
Port:

Description

I've created a port for odcctools. It's fairly simple, but since Shantonu is the author of odcctools, I'd like to hear his opinion of the port and whether it should go into darwinports.

Change History (8)

comment:1 Changed 20 years ago by danchr@…

blocked: 2796

comment:2 Changed 20 years ago by ssen@…

sounds like a great idea. It would be good to explicitly specify --target so that the programs get installed with a unique name (powerpc-apple-darwin7.0-ld) so that normal gcc invocations don't pick them up (many of gcc's subcommand invocations don't use a full path and just execute the first thing in $PATH)

comment:3 Changed 20 years ago by danchr@…

blocked: 2796
Status: newassigned

Would it necessarily be a bad thing if the preinstalled GCC picked these up? The reason I'm asking is that the updated cctools are needed at least for bootstrapping GCC 4.0. It seems to me that if it's an updated version, it shouldn't make things worse, but rather fix bugs. Wouldn't mentioning in the description that it *might* cause trouble with gcc suffice?

comment:4 Changed 20 years ago by ssen@…

gcc 4.0 + odcctools will create object files that are incompatible with the standard 10.3 linker. If you were building a static archive for customers using this combination and having them use it on a standard 10.3 install (even with Xcode 1.5), there are many cases where the static archive would fail to link with the application. There are also numerous incompatibility with kexts.

I would not recommend people use odcctools as their default toolchain even with gcc 3.3, because it has not beein qualified by Apple's QA and never officially release by Apple.

comment:5 Changed 20 years ago by danchr@…

Okay, I understand now. Wouldn't the name odld be a bit more appropriate? It strikes me as a bit more intuitive since odcctools aren't for cross-compiling, strictly speaking.

I know that libtool from odcctools is needed to bootstrap Apple's GCC on Panther. If it otherwise used the Panther cctools would it still be incompatible with Tiger? If so, that'd more or less make a port for gcc-4.0 useless.

comment:6 Changed 20 years ago by ssen@…

"odld" would work too.

You can't use Panther cctools after-the-fact. That's the whole point of the requirement during a bootstrap build. The assembly that gcc 4.0 generates has special directives that would either be ignored or cause errors with the Panther assembler. There's also relocation types that are incompatible with the Panther linker.

You can do a gcc-4.0 -v and copy-paste the tool invocations and substitute the Panther versions to see what exactly the incompatibilities are.

I don't think a gcc 4.0 port is useless. It's very useful for people who want to generate fully linked executables and dylibs which require functionality not present in the 3.3 compiler. My objection earlier was to making it the *default* (either odcctools or gcc-4.0), since it has lots of unintended consequences, and people should actively choose to use it on a project by project basis.

comment:7 Changed 20 years ago by danchr@…

Cc: darwinports-bugs@… removed
Resolution: fixed
Status: assignedclosed

Completely forgot about this. Committed od* version.

BTW, where would you be announcing new features, updates and so? The port is for 20050308.

comment:8 Changed 20 years ago by ssen@…

on the mailing list. odcctools@…. You can subscribe here <http://www.opendarwin.org/ mailman/listinfo/odcctools>

Note: See TracTickets for help on using tickets.