Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2005-08

Arm Big Endian

5 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Robert Reimiller

I changed system_arm_linux_info.endian to endian_big in /pp/compiler/systems/i_linux.pas and then ran:
make clean CPU_TARGET=arm CROSSINSTALL=1
(I think it cleans everything regardless of those, but just to be sure)

and then:
make crossall CPU_TARGET=arm OS_TARGET=linux

And it is busy compiling and assembling. However, I noticed the commands:
/bin/mkdir -p /pp/rtl/units/arm-linux
arm-linux-as -o /pp/rtl/units/arm-linux/prt0.o arm/prt0.as arm-linux-as -o /pp/rtl/units/arm-linux/dllprt0.o arm/dllprt0.as arm-linux-as -o /pp/rtl/units/arm-linux/cprt0.o arm/cprt0.as arm-linux-as -o /pp/rtl/units/arm-linux/gprt0.o arm/gprt0.as

The command line options for arm-linux-as include: -mbig-endian and -mlittle-endian
Shouldn't one of those be included, or does arm-linux-as also pick up endian information from some environment variable?

Reply by email

Peter Vreman
to Robert Reimiller
you wrote 20 lines
I changed system_arm_linux_info.endian to endian_big in /pp/compiler/systems/i_linux.pas and then ran: make clean CPU_TARGET=arm CROSSINSTALL=1 (I think it cleans everything regardless of those, but just to be sure) and then: make crossall CPU_TARGET=arm OS_TARGET=linux And it is busy compiling and assembling. However, I noticed the commands: /bin/mkdir -p /pp/rtl/units/arm-linux arm-linux-as -o /pp/rtl/units/arm-linux/prt0.o arm/prt0.as arm-linux-as -o /pp/rtl/units/arm-linux/dllprt0.o arm/dllprt0.as arm-linux-as -o /pp/rtl/units/arm-linux/cprt0.o arm/cprt0.as arm-linux-as -o /pp/rtl/units/arm-linux/gprt0.o arm/gprt0.as The command line options for arm-linux-as include: -mbig-endian and -mlittle-endian Shouldn't one of those be included, or does arm-linux-as also pick up endian information from some environment variable?

Those arm-linux-as lines are in the Makefile and not in the compiler.

Peter

Reply by email

Marco van de Voort
to Peter Vreman
Show quoted text 17 lines
>and then: >make crossall CPU_TARGET=arm OS_TARGET=linux > >And it is busy compiling and assembling. However, I noticed the >commands: >/bin/mkdir -p /pp/rtl/units/arm-linux >arm-linux-as -o /pp/rtl/units/arm-linux/prt0.o arm/prt0.as >arm-linux-as -o /pp/rtl/units/arm-linux/dllprt0.o arm/dllprt0.as >arm-linux-as -o /pp/rtl/units/arm-linux/cprt0.o arm/cprt0.as >arm-linux-as -o /pp/rtl/units/arm-linux/gprt0.o arm/gprt0.as > >The command line options for arm-linux-as include: >-mbig-endian and -mlittle-endian >Shouldn't one of those be included, or does arm-linux-as also pick >up endian information from some environment variable? Those arm-linux-as lines are in the Makefile and not in the compiler.

Note that the easiest way to deal with such issues is to simply make arm-linux-as and -ld a script that adds a parameter, so

arm-linux-as is renamed to true-arm-linux-as and arm-linux-as is e.g. (untested):

#!/bin/sh
/path/to/true-arm-linux-as -mbig-endian $@

Reply by email

Peter Vreman
to Marco van de Voort
you wrote 26 lines
> >and then: > >make crossall CPU_TARGET=arm OS_TARGET=linux > > > >And it is busy compiling and assembling. However, I noticed the > >commands: > >/bin/mkdir -p /pp/rtl/units/arm-linux > >arm-linux-as -o /pp/rtl/units/arm-linux/prt0.o arm/prt0.as > >arm-linux-as -o /pp/rtl/units/arm-linux/dllprt0.o arm/dllprt0.as > >arm-linux-as -o /pp/rtl/units/arm-linux/cprt0.o arm/cprt0.as > >arm-linux-as -o /pp/rtl/units/arm-linux/gprt0.o arm/gprt0.as > > > >The command line options for arm-linux-as include: > >-mbig-endian and -mlittle-endian > >Shouldn't one of those be included, or does arm-linux-as also pick > >up endian information from some environment variable? > > Those arm-linux-as lines are in the Makefile and not in the compiler. Note that the easiest way to deal with such issues is to simply make arm-linux-as and -ld a script that adds a parameter, so arm-linux-as is renamed to true-arm-linux-as and arm-linux-as is e.g. (untested): #!/bin/sh /path/to/true-arm-linux-as -mbig-endian $@

Using armbe-linux- as prefix for the script looks much better. And then supply BINUTILSPREFIX=armbe-linux- for the make command or -XParmbe-linux- for the compiler commandline.

Peter

Reply by email

Marco van de Voort
to Peter Vreman
Show quoted text 16 lines
At 09:31 23-8-2005, you wrote: > > > > Those arm-linux-as lines are in the Makefile and not in the compiler. > >Note that the easiest way to deal with such issues is to simply make >arm-linux-as and -ld a script that adds a parameter, so > >arm-linux-as is renamed to true-arm-linux-as and arm-linux-as is e.g. >(untested): > >#!/bin/sh >/path/to/true-arm-linux-as -mbig-endian $@ Using armbe-linux- as prefix for the script looks much better. And then supply BINUTILSPREFIX=armbe-linux- for the make command or -XParmbe-linux- for the compiler commandline.

Hmm, yes. Maybe we could put a few of these scripts prebuild in install/cross or so. They hardly take up room anyway.

Sb on the IRC ran into the same problem with AMD64 dual-arch distro's, where the same as could make bins for 32-bit and 64-bit.

Reply by email