For part of a homework assignment, I had to create a program using several different files together, each with its own function. I'm rather lost on these follow-up questions on how the program is handled by Linux.

Experiment 1: Compile this test program (using Linux) and generate the link maps for
each separate function. Determine the following:
1. The size of each function.
2. The address where each function is loaded into memory.
3. The name and location of the entry point for the entire program.
4. The locations and names of any subroutines from stdio or iostream that are linked
with your file.
5. The locations and sizes of the data sections used by your program.

I think I have #1 figured out, but the others are giving me trouble. I was advised that "readelf" may be helpful, which is where i found the function size, but I'm having trouble figuring where anything else should be found. Any tips would be appreciated.