Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch relates to bug report:
https://sourceware.org/bugzilla/show_bug.cgi?id=30212
|
|
If a CPU implements EL2 as its highest exception level then programs
using newlib may start in hypervisor mode. In that state it is not
trivial to switch into the various EL1 modes to configure the
individual exception stacks, so do not try.
|
|
Move the instruction that saves SP before the mode check so that
applications that start in USER mode correctly set the stack limit.
|
|
- conditionally use -idirafter option for arm
|
|
parameters is an array of integers, so assigning NULL (a pointer)
doesn't make sense. Use 0 instead which produces the same code.
|
|
Avoid a recursive make to speed things up a bit.
A csky-elf build shows installed objects & libs produce same code.
|
|
__libc_fini_array should be called upon exit to call the
global termination functions in fini-array, use atexit to
register it at __start.
|
|
Avoid a recursive make to speed things up a bit.
A nios2-elf build shows installed objects & libs produce same code.
|
|
Avoid a recursive make to speed things up a bit.
|
|
Avoid a recursive make to speed things up a bit.
|
|
Avoid a recursive make to speed things up a bit.
|
|
The libgloss port has been reaching back into newlib internals for a
single header whose contents have been frozen for almost a decade.
To break this backwards libgloss->newlib dependency, move the acle
header to the srcroot include/ so everyone can use the same copy.
|
|
Avoid a recursive make to speed things up a bit.
|
|
The install steps were missing the multilib qualifier causing them
to always install in the same location and stomp each other.
|
|
Move the minor arm-specific logic to a dedicated variable so we can
merge its configure logic up a level.
|
|
Move the minor aarch64-specific logic to a dedicated variable so we can
merge its configure logic up a level.
|
|
Now that aarch64 & arm have migrated off this, we can punt it.
|
|
Since no other port uses this custom libgloss multi-build.in logic,
and it's making things difficult to unify, drop it all. The set of
installed objects and their content should be the same.
There is a difference in the builds: currently we compile all the
objects in this subdir twice, but only a subset of them use a diff
set of flags, and are actually installed (the librdimon.a and its
objects). So this change speeds things up by removing the duplicate
compilation.
There is a short term cost in having to duplicate the compile rules
for the files that are different, but this is minor when compared to
being able to delete the unused multi-build logic (which we'll do in
a sep commit), and we'll be able to clean this up when we move the
code to unified automake.
None of this should be confused with the common multilib logic.
This is *multi-build* which is processed in parallel.
|
|
This logic looks like it was copied from the arm port, but it isn't
actually used here. Since no other port uses this custom libgloss
multi-build.in logic, and it's making things difficult to unify,
and aarch64 isn't even using it, drop it all. The set of installed
objects and their content should be the same.
Once we move this to unified automake, if we want to readd support
for subdir multi-builds, it'll be a lot easier as we can just add
another set of objects with custom flags.
None of this should be confused with the common multilib logic.
This *multi-build* which is processed in parallel.
|
|
We're compiling .S files, so use CPPAS instead of CC to compile since
the point of CPPAS is to preprocess+assemble .S files.
|
|
A recent change to the Makefile.in for riscv resulted in the
machine/syscall.h header not being installed. This updates the file
to install this file again.
Signed-off-by: Simon Cook <simon.cook@embecosm.com>
|
|
PR 29515 points out our documentation builds are broken, let's just move
over to the new non-recursive builds.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
For the exit processing only members of _GLOBAL_REENT were used by default. If
the _REENT_GLOBAL_ATEXIT option was enabled, then the data structures were
provided through dedicated global objects. Make this option the default.
Remove the option. Rename struct _reent members _atexit and _atexit0 to
_reserved_6 and _reserved_7, respectively. Provide them only if
_REENT_BACKWARD_BINARY_COMPAT is defined.
|
|
The _open() C function is declared as having variable arguments in
newlib, so second and third arguments are passed on stack. Add code to
move them into registers, since that's where the PRU simulator expects
them.
Issue was exposed by the GCC test gcc.c-torture/execute/fprintf-2.c,
which relies on tmpnam implementation to pass correct flags to _open.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
|
|
|
|
I've had this lying around for probably a year or two at this point.
It just changes all the instance of "errno" from a common symbol to an
extern. I can't offhand recall where the actual definition is, but it
certainly exists in the generic code.
|
|
Seems that some versions of texinfo require the @menu to have all
entries at the top level, so add the new build one to it.
|
|
Avoid a recursive make to speed things up a bit.
This drops the header install logic because the lm32/ subdir doesn't
actually have any header files to install.
|
|
It's functionally the same, but the configure.ac code is simpler and
less boiler plate duplicated.
|
|
This is a bit of an abbreviated form of what's in the Newlib subdir,
but with emphasis on Libgloss-specific parts, and anything unique to
it. I haven't put too much effort in.
|
|
|
|
Now that we require Automake 1.15, we can use this macro rather than
set the tool up ourselves. The current code doesn't properly search
for a prefixed ar tool as-is.
|
|
The multi-build.in file in libgloss duplicates common multilib logic
in the root source tree. Document it a bit, and rename the rule so
it doesn't clash with the common multi-do rule. This will let us use
them in the same makefile so we can merge aarch64/ & arm/ up (as the
only targets that use this local multi-build.in atm).
|
|
When merging iq2000 up a level, it included a partial conversion to
AM_PROG_AS in the common directory. Finish it for all directories
to kill off the custom LIB_AM_PROG_AS which we no longer need since
we require Automake 1.15 now.
|
|
Now that we use AC_NO_EXECUTABLES, and we require a recent version of
autoconf, we don't need to define our own copies of these macros. So
switch to the standard AC_PROG_CC.
|
|
Move the minor sparc-specific logic to a dedicated variable so we can
merge its configure logic up a level.
|
|
Use AM_MAINTAINER_MODE so devs have to opt-in to automatic rebuilds
of autotools. This matches what newlib (and most every other GNU
toolchain package) does with automake.
|
|
Remove dependency on __sdidinit member of struct _reent to check
object initialization. Like __sdidinit, the __cleanup member of
struct _reent is initialized in the __sinit() function. Checking
initialization against __cleanup serves the same purpose and will
reduce overhead in the __sfp() function in a follow up patch.
|
|
The README has such little info in it, so point people to the much
more extensive porting manual.
|
|
Move the minor mips-specific logic to a dedicated file & namespace
them so we can merge its configure logic up a level.
|
|
Move the minor wince-specific logic to a dedicated file & namespace
them so we can merge its configure logic up a level. The makefile
is a bit tricky, but maybe it still works.
|
|
We don't want libgloss building against C library headers that happened
to be installed with the toolchain, so add -nostdinc to the build. We
still need access to the compiler internal headers, so probe those and
include them via -isystem. This uses a similar probing style as glibc,
which has used it for over a decade, so it should be safe & stable.
This should prevent any latent bugs due to testing with a toolchain that
is fully configured & installed already.
|
|
The libsys/configure script isn't doing anything useful, so merge
the logic up to the parent dir.
|
|
The cpu-init/configure script isn't doing anything useful, so merge
the logic up to the parent dir. This is how the arm/ tree integrates
its cpu-init/ subdir too.
|
|
Move the minor mn10300-specific logic to a dedicated file & namespace
them so we can merge its configure logic up a level. part_specific_obj
wasn't used anywhere (looks like copy & paste left over from mips), so
drop it entirely.
|
|
The mn10200-specific logic (setting up part_specific_obj) isn't used
by the build anywhere -- looks like copy & paste left overs from mips.
So punt that & merge the target_makefile_frag_path up to the top-level.
|
|
Move the minor m68k-specific logic to a dedicated file & namespace them
so we can merge its configure logic up a level.
|
|
Use this macro rather than hacking up the LDFLAGS settings. This will
make it easier to merge the logic into the top-level which is already
using AC_NO_EXECUTABLES.
|
|
Move the minor mcore-specific logic to a dedicated file & namespace them
so we can merge its configure logic up a level.
|
|
Move the minor moxie-specific logic to a dedicated file & namespace them
so we can merge its configure logic up a level.
|