Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make opt fails on pervasives.cmx on (old?) MacOS #5679

Closed
vicuna opened this issue Jul 11, 2012 · 4 comments
Closed

make opt fails on pervasives.cmx on (old?) MacOS #5679

vicuna opened this issue Jul 11, 2012 · 4 comments

Comments

@vicuna
Copy link

vicuna commented Jul 11, 2012

Original bug ID: 5679
Reporter: pboutill
Assigned to: @lefessan
Status: closed (set by @xavierleroy on 2015-12-11T18:07:14Z)
Resolution: fixed
Priority: normal
Severity: crash
Platform: i386
OS: MacOS
OS Version: 10.5.8
Version: 4.00.0+beta2/+rc1
Fixed in version: 4.00.0+dev
Category: configure and build/install

Bug description

When I use either Xcode 3.1.3 or 3.1.4(
as -version = Apple Inc version cctools-698.1~1, GNU assembler version 1.38
gcc-4.2 --version = i686-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5577)
)
to compile Ocaml4.00 I can read :

cd stdlib; make allopt
../boot/ocamlrun ../ocamlopt -warn-error A -nostdlib -g ./Compflags pervasives.cmx -c pervasives.ml
/var/folders/a6/a6KJ8MUxEnqHzTCErC+DkU+++TI/-Tmp-/camlasmd97cd2.s:634:Missing string
/var/folders/a6/a6KJ8MUxEnqHzTCErC+DkU+++TI/-Tmp-/camlasmd97cd2.s:634:Rest of line ignored. 1st junk character valued 49 (1).
/var/folders/a6/a6KJ8MUxEnqHzTCErC+DkU+++TI/-Tmp-/camlasmd97cd2.s:635:Unknown pseudo-op: .loc
/var/folders/a6/a6KJ8MUxEnqHzTCErC+DkU+++TI/-Tmp-/camlasmd97cd2.s:635:Rest of line ignored. 1st junk character valued 49 (1).

and then 30 other lines where "Unknown pseudo-op: .loc"

Is it because my computer is full of garbage or is it because 10.5 is too old ? (I'm OK with that, just don't mention it explicitelly in the README then)

Steps to reproduce

./configure
or
./configure -cc gcc-4.2
or
./configure -as "gcc-4.2 -c" -cc gcc-4.2
and then
make opt

File attachments

@vicuna
Copy link
Author

vicuna commented Jul 11, 2012

Comment author: @lefessan

Could you provide more information:

  • ./boot/ocamlrun ./ocamlc -config > ocamlc.config
  • In stdlib/ (notice the -S and -verbose):
    ../boot/ocamlrun ../ocamlopt -warn-error A -verbose -S -nostdlib -g ./Compflags pervasives.cmx -c pervasives.ml > ocamlopt.verbose
    and attach the files:
  • ocamlc.config
  • stdlib/pervasives.s
  • stdlib/ocamlopt.verbose
    to this bug report ?

@vicuna
Copy link
Author

vicuna commented Jul 11, 2012

Comment author: @lefessan

Indeed, new .line and .loc directives were added in i386/amd64 backends. Since they are not available on LLVM before 2011, we should probably either check for their support, or activate them only if .cfi directives are also accepted.

@vicuna
Copy link
Author

vicuna commented Jul 11, 2012

Comment author: @lefessan

I committed a fix that checks for support of .line/.loc directives at the same time as .cfi directives, and generate either both of them or none of them.

Could you test the new version (starting with ./configure ...) ?

@vicuna
Copy link
Author

vicuna commented Jul 11, 2012

Comment author: pboutill

It works. Thanks a lot for your reactivity...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants